GithubHelp home page GithubHelp logo

kbss-cvut / aircraft-maintenance-planning-system Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 10.26 MB

D2020+ project about Aircraft Mainenance Planning System.

License: GNU Lesser General Public License v3.0

Shell 5.38% Batchfile 0.28% Rich Text Format 25.98% Java 68.27% Dockerfile 0.08%

aircraft-maintenance-planning-system's People

Contributors

ahmadjana avatar blcham avatar grigoart avatar kostobog avatar matthew-kulich avatar

Watchers

 avatar  avatar

aircraft-maintenance-planning-system's Issues

Represent time and date for ufo:event within csat-mainenance

We have some data in CSV files where we get date and time separately.

    • In some of the cases it happens that we have "end-date", but don't have concrete time (I guess user forgot to log in when he finished)
    • In other cases we just don't collect so specific data, only day when it happened.

Thus, it seems valid to me to keep "date" and "time" separated using generic properties on events. We can infer specific properties of type xsd:dateTime or xsd:dateTimeStamp from that properties.

Thus i suggest to have new class cm:event, having:

cm:maintenance-task rdfs:subClassOf cm:event .

cm:event rdfs:subClassOf cm:start-date some (xsd:date)
cm:event rdfs:subClassOf cm:start-time some (xsd:time)
cm:event rdfs:subClassOf cm:end-date some (xsd:date)
cm:event rdfs:subClassOf cm:end-time some xsd:time)

Importing "workpackage plan" from AMOS

Workpackage is create in AMOS where TCs and Scheduled work orders are specified. This issue should resolve the import of basic plan details from AMOS into the aircraft maintenance planning system.

Acceptance Criteria
The import solution should process the following data fields

  • WP plan code
  • Set of Task Cards included in the plan
  • Set of scheduled work orders

Implement "Update plan entity API"

Update plan entity API - parent issue #38
create API to update each relation in the plan model
parent-child relation
relation to resource entities, e.g. mechanic, scope, aircraft, aircraft part,
create API to update basic properties of plan entities - for example, time frames, title, code, as well as other entities.

Add day-bound-event-s into CSV transformations

Within time-analysis and presence CSV transformation I have cm:presence and cm:work-session events that are spawning two days. I want to split those events into two subevents.

Model is defined in #21.

Describe how to separate ms from cm ontology

Goal of the ticket is to describe:

  • what belongs to ms: / cm: ontology
  • in what namespace will entities of the ontology belong
    • e.g. within cm: ontology are we allowed to use ms: or ufo: namespace or we will define our own properties ?

Create model for events bound by one day

Within time-analysis and presence CSV transformation I have cm:presence and cm:work-session events that are spawning two days. I need to split those events into two subevents.

Implement basic CRUD service for revision plans and their parts.

Create plan entity API - see #43

  • plan type - one of (work package, phase, general task type, task card, work session)
  • time frame - start and end date/duration,
  • plan code - used to connect to CSAT ISs, e.g. work package id
  • plan title - for example WP title,
  • parent plan - work package plan have no plan parents

Read plan entity API

  • read plan according to plan POJO/JOPA model

Update plan entity API - see #44

  • create API to update each relation in the plan model
    • parent-child relation
    • relation to resource entities, e.g. mechanic, scope, aircraft, aircraft part,
  • create API to update basic properties of plan entities - for example, time frames, title, code, as well as other entities.

Delete plan entity API - see #45

  • delete plan - deletes the plan entity from the system, delete relation to parent plan if it exists, delete the direct and indirect child plans.

@blcham, @LaChope

Add resource API

  • implement basic CRUD of resources
  • implement CRUD API for the relation between plan and its resource.
  • for a given resource get its allowed sub resources, e.g. aircraft has specific areas, aircraft areas are maintained by some mechanic groups, mechanic groups have specific mechanics.
    @LaChope @blcham

Task without label

In workpackage OK-TSR%2FH-22 AV10Y, there are 4 phase plan and one task without label. Is it possible to investigate it?

image

Extract scopes from CSV files

Current state:

  • email with scope names and labels is not processed
  • some scopes are not defined in csat-maintenance ontology but occurs in CSV files
  • it is not clarified how it should be transformed in domain ontology

Issue matching task card referenced in time-analysis data set with task card codes in task card definition data sets

Only some of the task card definitions are matched 1:1 with task card reference codes in time analysis data set. This ticket should resolve the questions:

  • How to match the rest of the task cards references?

One possibility to match codes is using prefix matching. This matching results more than one matches for many task card codes in task card definition files.

  • Is it safe to assume a task card definition is the same for all task card references with which it matches?

Many TC definition codes which match by prefix more than one TC code references in time-analysis data

To view examples of this problem

Column description of the tc-def-match-prefix-based.xlsx file

  • tc-left - TC code from tc-definition
  • tc-right - TC code from time-analysis data
  • s-match - T if left matches right, F otherwise
  • m-match-left - T if there are multiple right matches for the same left, F otherwise
  • m-match-right - T if there are multiple left matches for the same right, F otherwise

Remove hardcoded directory paths from pipeline

time-analysis.sms.ttl requires ?workspaceDir variable, which is absolute path.

Alternative solution:

  • create module to get directory of running script
  • import ontology based on url instead of filePath

Implement "Create plan entity API"

Create plan entity API - parent issue #38

plan type - one of (work package, phase, general task type, task card, work session)
time frame - start and end date/duration,
plan code - used to connect to CSAT ISs, e.g. work package id
plan title - for example WP title,
parent plan - work package plan have no plan parent

@blcham, @LaChope

Fix application configuration

Fix the following issues

  • Some properties are not loaded from application.yml
  • Move initialization of EntityManagerFactory to separate configuration class

Add description to CSV columns

Follow-up the work that was assigned to Jana and clean up old way to describe columns as defined in ./aircraft-maintenance-planning-model/data/data-sample-01.

A/C:

  • schema of CSV files is deployed on our graphdb server
  • descriptions of columns are part of the schema
  • data-sample-01 is removed/obsolete

Design solution to solve volatility of data from CSV files

Time-analysis dataset have attributes of ufo:objects that are changing. We have issue with that in Dashboard, because we get only dataset that is 1 day old and always changing.
Possible solutions:

  1. don't do anything [currently CHOSEN SOLUTION]
    • ask CSAT to give us bigger window of time-analysis dataset and within Dashboard always replace the data
    • TODO find out when ufo:objects will not change anymore (workpackage = closed ?) and persist only those
  2. represent ufo:object changes using ufo:events
    • TODO complication: transformation of CSV file will need previous state to detect changes
  3. represent ufo:object as their snapsthots
  4. represent ufo:object using situations

Implement "Delete plan entity API"

Delete plan entity API - parent issue #38
delete plan - deletes the plan entity from the system, delete relation to parent plan if it exists, delete the direct and indirect child plans.

Task Card Definitions are not loaded

Data regarding the task card definitions in the rdf4j repository csat-data is incomplete and uses old schema.

  • Update task card definitions in csat-data rdf4j repository to use the new schema.
  • Fix query task-types-definitions.sparql that fetches task card definitions to use the new schema.

Revise csat-maintenance ontology

This is list of issues. Let's discuss them first and then we will implement.

    <http://onto.fel.cvut.cz/ontologies/ufo/complex-event> rdfs:subClassOf [ a owl:Restriction ;
            owl:onProperty cm:has-scope ;
            owl:someValuesFrom cm:maintenance-group ],
        [ a owl:Restriction ;
            owl:onProperty cm:task-type-identifier ;
            owl:someValuesFrom xsd:integer ] .
    cm:task-type a owl:ObjectProperty ;
        rdfs:label "task type" ;
        rdfs:domain cm:maintenance-task ;
        rdfs:range cm:maintenance-task .

Incorporate statistics from domain experts

From Andrej:

On GD I have uploaded statistical evaluation of CSAT data [1], done by Vlado Socha. The stats contain boxplot data, units are relative mili-seconds (from the beginning of the WP), I believe that we should consider for the beginning mean or median for both variables, and see what it does in the planning component. Vlado also provided us with file [2] showing which rows in the data he received from Bogdan contain no data and are not considered in the statistics.
[1] https://docs.google.com/spreadsheets/d/1i_Rt-fpCQISDJx-i1RkfxYvosyGWp1qy/edit#gid=523122002
[2] https://docs.google.com/spreadsheets/d/11ryuhj7mTDrdsZqxkuNW1wMBGF54KXQ_/edit?usp=drive_web&ouid=117908106743864509009&rtpof=true

Fix Task Card codes in more than one task card definitions in the task card definition excel files

Here is the list of task card codes which is used in more than one task card definition.

250000-001/1.0 - used in work sessions

  • each definition has a different MPDTASK value

      	250000-001/1.0
      	250000-01/1.0
    

572007-01-10/1.0 - used in work sessions

  • each definition has a different MPDTASK value

      	572007-01-10/1.0
      	572010-01-10/1.0
    

575165-01-2/1.0

	- the task is defined for several ATA codes	
		57-50
		57-51
		57-52
		57-53

APB 57-20-01

  • different descriptions

      	LOWER WING PANEL SKIN UNDER THE FLAP TRACK FAIRINGS AND NACELLE FAIRINGS SKIN PANEL AT  RUB STRIP  RIB 5 TO 8  RIB 9 TO 11  AND RIB 13 TO 15								
      	LOWER WING PANEL SKIN RIB 1 TO 14  EXTERNALLY VISIBLE AREAS  FRONT SPAR TO REAR SPAR	
      	LOWER WING PANEL SKIN RIB 1 TO 27  FAIRING LOCATION  SKIN NOT   COVERED BY RUB STRIPS OR  FITTINGS	
      	LOWER WING PANEL SKIN RIB 14-27  EXTERNALLY VISIBLE AREAS    FRONT SPAR TO REAR SPAR	
    
  • only one of the descriptions has defined ATA code

APB 57-20-04

  • different descriptions

      	LFEC - SPAR CHORDS AT CHORDWISE SKIN SPLICES (UPPER AND LOWER PANEL) FRONT SPAR LOWER (RIB 17-18)  REAR SPAR LOWER (RIB 18-19)  F/S UPPER (RIB 19-20)
      	UT - SPAR CHORDS AT CHORDWISE SKIN SPLICES (UPPER AND LOWER PANEL) FRONT SPAR LOWER (RIB 17-18)  REAR SPAR LOWER (RIB 18-19)  F/S UPPER (RIB 19-20)
    

APB 57-20-13

  • different descriptions

      	UPPER WING PANEL AT SIDE-OF-BODY DOUBLE PLUS CHORD SKIN-TO-PLUS CHORD ATTACHMENT BBL 70 85  EXCEPT LOCATIONS COVERED BY 57-20-13/14/15/16/17-2
      	HFEC - UPPER WING PANEL AT SIDE-OF-BODY DOUBLE PLUS CHORD SKIN-TO-PLUS CHORD  ATTACHMENT AT BBL 70 85 SPLICE STRINGER 14
      	LFEC - UPPER WING PANEL AT SIDE-OF-BODY DOUBLE PLUS CHORD SKIN-TO-PLUS CHORD  ATTACHMENT AT BBL 70 85 SPLICE STRINGER 14
    

INSPEC-77TAV-00080

  • difference in columns - Description, ATA, Type, Main Step, Phase

Fix issues with JOPA model

The JOPA model has errors which prevent the initialization of the EntityManagerFactory.

  • add missing data and object property annotations on entity fields.
  • add missing Transient annotations
  • fix issues with entity inheritance
  • fix issues with generic properties,  AbstractEntity.id, AbstractComplexPlan.planParts
  • JOPA entities should have hashCode and equals based on their entityURI property

Incorporate constraints related to billing

Incorporate following constraints into the ontology.

WP = seznam wo
project = seznam wo
project patri prave do 1 WP
wo patri prave do 1 projektu
project ma prave 1 operatora
operator ma prave 1 limitType - toto nemusí vždy platit,
tabulka už je pro to upravena
wo patri prave do 1 TC

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.