diff --git a/.gitignore b/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/AIDASystem-AltaRicaDataFlow.alt b/AIDASystem-AltaRicaDataFlow.alt deleted file mode 100644 index 720e8c8..0000000 --- a/AIDASystem-AltaRicaDataFlow.alt +++ /dev/null @@ -1,4960 +0,0 @@ -/* Date : 1 avr. 2019 */ -/* DataFlow format */ - -domain Physical_BasicPhysical_BasicPhysicalStatus = {ERRONEOUS, LOST, OK}; - -domain Physical_BasicPhysical_HiLoPhysicalStatus = {ERRONEOUS, HIGH_ERRONEOUS, LOST, LOW_ERRONEOUS, OK}; - -domain Physical_BasicPhysical_SensorHiLoPhysicalStatus = {ERRONEOUS, HIGH_ERRONEOUS, LOST, LOW_ERRONEOUS, OK, OUT_OF_RANGE}; - -domain Physical_BasicPhysical_SensorBasicPhysicalStatus = {ERRONEOUS, LOST, OK, OUT_OF_RANGE}; - -domain Physical_BasicPhysical_BinaryPhysicalStatus = {LOST, OK}; - -domain Functions_BasicFunctions_ModeSelection = {AUTO, MANUAL}; - -domain Functions_BasicFunctions_Presence = {ABSENT, PRESENT}; - -domain Functions_BasicFunctions_ModeSelection_ErroneousLost = {AUTO, ERRONEOUS, LOST, MANUAL}; - -domain Functions_BasicFunctions_BooleanStuck = {OK, STUCK_FALSE, STUCK_TRUE}; - -node Components_Payload_CameraSensor - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power:Physical_BasicPhysical_HiLoPhysicalStatus:in; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_err; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - assert - icone = case { - (status = LOST) : 2, - (status = ERRONEOUS) : 3, - else 1 - }, - output = case { - ((Power = LOST) or (status = LOST)) : LOST, - ((((Power = ERRONEOUS) or (Power = LOW_ERRONEOUS)) or (Power = HIGH_ERRONEOUS)) or (status = ERRONEOUS)) : ERRONEOUS, - else OK - }; - init - status := OK; - extern - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_Payload_CameraRotarySupport - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power:Physical_BasicPhysical_HiLoPhysicalStatus:in; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_err; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - assert - icone = case { - (status = LOST) : 2, - (status = ERRONEOUS) : 3, - else 1 - }, - output = case { - ((Power = LOST) or (status = LOST)) : LOST, - ((((Power = ERRONEOUS) or (Power = LOW_ERRONEOUS)) or (Power = HIGH_ERRONEOUS)) or (status = ERRONEOUS)) : ERRONEOUS, - else OK - }; - init - status := OK; - extern - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Functions_PhysicalOperators_AND_Physical_disymetric - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - minorInput:Physical_BasicPhysical_BasicPhysicalStatus:in; - majorInput:Physical_BasicPhysical_BasicPhysicalStatus:in; - assert - output = case { - (majorInput # OK) : majorInput, - else minorInput - }, - icone = case { - (output = OK) : 1, - (output = LOST) : 2, - else 3 - }; -edon - -node Functions_PhysicalOperators_AND_Physical_unaire - flow - icone:[1,2]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - input:Physical_BasicPhysical_BasicPhysicalStatus:in; - assert - output = input, - icone = case { - (output = OK) : 1, - else 2 - }; -edon - -node Components_CommunicationDevices_CommunicationDevice - flow - icone:[1,2]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power:Physical_BasicPhysical_HiLoPhysicalStatus:in; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_recept_loss, - fail_recept_err; - trans - (status = OK) |- fail_recept_loss -> status := LOST; - (status = OK) |- fail_recept_err -> status := ERRONEOUS; - assert - icone = case { - (status = LOST) : 2, - else 1 - }, - output = case { - ((Power = LOST) or (status = LOST)) : LOST, - ((((Power = ERRONEOUS) or (Power = LOW_ERRONEOUS)) or (Power = HIGH_ERRONEOUS)) or (status = ERRONEOUS)) : ERRONEOUS, - else OK - }; - init - status := OK; - extern - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_RemoteControl_RemoteCommunication - flow - icone:[1,2]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power:Physical_BasicPhysical_HiLoPhysicalStatus:in; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_transm_err, - fail_transm_loss; - trans - (status = OK) |- fail_transm_loss -> status := LOST; - (status = OK) |- fail_transm_err -> status := ERRONEOUS; - assert - icone = case { - (status = LOST) : 2, - else 1 - }, - output = case { - ((Power = LOST) or (status = LOST)) : LOST, - ((((Power = ERRONEOUS) or (Power = LOW_ERRONEOUS)) or (Power = HIGH_ERRONEOUS)) or (status = ERRONEOUS)) : ERRONEOUS, - else OK - }; - init - status := OK; - extern - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_PowerSupply_PowerGeneration - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - state - status:Physical_BasicPhysical_HiLoPhysicalStatus; - event - fail_err, - fail_unsuff, - fail_over, - fail_loss; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - (status = OK) |- fail_over -> status := HIGH_ERRONEOUS; - (status = OK) |- fail_unsuff -> status := LOW_ERRONEOUS; - assert - icone = case { - (status = OK) : 1, - (status = LOST) : 2, - else 3 - }, - output = status; - init - status := OK; - extern - law = exponential(1.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_RemoteControl_RemoteSwitch - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power:Physical_BasicPhysical_HiLoPhysicalStatus:in; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_err; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - assert - icone = case { - (status = OK) : 1, - (status = LOST) : 2, - else 3 - }, - output = case { - ((status = LOST) or (Power = LOST)) : LOST, - ((status = ERRONEOUS) or (Power = ERRONEOUS)) : ERRONEOUS, - (Power = LOW_ERRONEOUS) : LOW_ERRONEOUS, - (Power = HIGH_ERRONEOUS) : HIGH_ERRONEOUS, - else OK - }; - init - status := OK; - extern - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_Links_EPL - flow - icone:[1,3]:private; - input:Physical_BasicPhysical_HiLoPhysicalStatus:in; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - state - status:Physical_BasicPhysical_HiLoPhysicalStatus; - event - fail_unsuff, - fail_err, - fail_loss; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - (status = OK) |- fail_unsuff -> status := LOW_ERRONEOUS; - assert - icone = case { - (status = OK) : 1, - (status = LOST) : 2, - else 3 - }, - output = case { - ((status = LOST) or (input = LOST)) : LOST, - (status # OK) : status, - else input - }; - init - status := OK; - extern - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_RemoteControl_RemoteControlInterface - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_err; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - assert - icone = case { - (status = OK) : 1, - (status = LOST) : 2, - else 3 - }, - output = status; - init - status := OK; - extern - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_Networks_DigitalNetwork - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_err; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - assert - icone = case { - (status = LOST) : 2, - (status = ERRONEOUS) : 3, - else 1 - }, - output = status; - init - status := OK; - extern - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_Sensors_SimpleSensor - flow - icone:[1,3]:private; - Power:Physical_BasicPhysical_HiLoPhysicalStatus:in; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - state - status:Physical_BasicPhysical_SensorHiLoPhysicalStatus; - event - fail_highErr, - fail_lowErr, - fail_loss, - fail_err, - fail_outOfRange; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_highErr -> status := HIGH_ERRONEOUS; - (status = OK) |- fail_lowErr -> status := LOW_ERRONEOUS; - (status = OK) |- fail_err -> status := ERRONEOUS; - (status = OK) |- fail_outOfRange -> status := OUT_OF_RANGE; - assert - icone = case { - (status = LOST) : 2, - (status = HIGH_ERRONEOUS) : 3, - (status = LOW_ERRONEOUS) : 3, - else 1 - }, - output = case { - ((Power = LOST) or (status = LOST)) : LOST, - (((Power = ERRONEOUS) or (Power = LOW_ERRONEOUS)) or (Power = HIGH_ERRONEOUS)) : ERRONEOUS, - (status = ERRONEOUS) : ERRONEOUS, - (status = OUT_OF_RANGE) : LOST, - (status = HIGH_ERRONEOUS) : HIGH_ERRONEOUS, - (status = LOW_ERRONEOUS) : LOW_ERRONEOUS, - else OK - }; - init - status := OK; - extern - law = exponential(1.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_Sensors_ComplexSensor - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power:Physical_BasicPhysical_HiLoPhysicalStatus:in; - state - status:Physical_BasicPhysical_SensorBasicPhysicalStatus; - event - fail_loss, - fail_err, - fail_outOfRange; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - (status = OK) |- fail_outOfRange -> status := OUT_OF_RANGE; - assert - icone = case { - (status = LOST) : 2, - (status = ERRONEOUS) : 3, - else 1 - }, - output = case { - ((Power = LOST) or (status = LOST)) : LOST, - ((((Power = ERRONEOUS) or (Power = LOW_ERRONEOUS)) or (Power = HIGH_ERRONEOUS)) or (status = ERRONEOUS)) : ERRONEOUS, - (status = OUT_OF_RANGE) : LOST, - else OK - }; - init - status := OK; - extern - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_Sensors_PowerSupplyMonitoring - flow - icone:[1,2]:private; - Power:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MonitoredPower:Physical_BasicPhysical_BasicPhysicalStatus:out; - state - status:Physical_BasicPhysical_BinaryPhysicalStatus; - event - fail_lossOfMonitoring; - trans - (status = OK) |- fail_lossOfMonitoring -> status := LOST; - assert - icone = case { - (status = LOST) : 2, - else 1 - }, - MonitoredPower = case { - (Power = LOST) : LOST, - ((((Power = ERRONEOUS) or (Power = HIGH_ERRONEOUS)) or (Power = LOW_ERRONEOUS)) and (status = OK)) : LOST, - ((((Power = ERRONEOUS) or (Power = HIGH_ERRONEOUS)) or (Power = LOW_ERRONEOUS)) and (status = LOST)) : ERRONEOUS, - else OK - }; - init - status := OK; - extern - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_Computers_Computation - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power:Physical_BasicPhysical_BasicPhysicalStatus:in; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_err; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - assert - icone = case { - (status = LOST) : 2, - (status = ERRONEOUS) : 3, - else 1 - }, - output = case { - ((Power = LOST) or (status = LOST)) : LOST, - (status = ERRONEOUS) : ERRONEOUS, - else Power - }; - init - status := OK; - extern - law = exponential(1.0E-4); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-7); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_Computers_AcquisitionEmission - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power:Physical_BasicPhysical_BasicPhysicalStatus:in; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_err; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - assert - icone = case { - (status = LOST) : 2, - (status = ERRONEOUS) : 3, - else 1 - }, - output = case { - ((Power = LOST) or (status = LOST)) : LOST, - (status = ERRONEOUS) : ERRONEOUS, - else Power - }; - init - status := OK; - extern - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Functions_PhysicalOperators_PhysicalInjection - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - alloc:Physical_BasicPhysical_BasicPhysicalStatus:in; - input:Physical_BasicPhysical_BasicPhysicalStatus:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = LOST) : 2, - else 3 - }, - output = case { - (alloc # OK) : alloc, - else input - }; -edon - -node Functions_BasicFunctions_InOutFunction - flow - icone:[1,3]:private; - input:Physical_BasicPhysical_BasicPhysicalStatus:in; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_error; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_error -> status := ERRONEOUS; - assert - icone = case { - (status = OK) : 1, - (status = LOST) : 2, - else 3 - }, - output = case { - (status = OK) : input, - else status - }; - init - status := OK; - extern - law = constant(1.0E-4); - attribute TypeOfEvent0x002f1() = "Functional"; - law = constant(1.0E-5); - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_PhysicalOperators_PhysicalInjection_ModeSelection_Status - flow - icone:[1,3]:private; - output:Functions_BasicFunctions_ModeSelection:out; - alloc:Physical_BasicPhysical_BasicPhysicalStatus:in; - isErroneous:bool:out; - isAlreadyErroneous:bool:in; - input:Functions_BasicFunctions_ModeSelection:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = ERRONEOUS) : 3, - else 2 - }, - output = case { - (alloc = LOST) : MANUAL, - ((alloc = ERRONEOUS) and isAlreadyErroneous) : input, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = MANUAL)) : AUTO, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = AUTO)) : MANUAL, - else input - }, - isErroneous = case { - (alloc = LOST) : isAlreadyErroneous, - ((alloc = ERRONEOUS) and isAlreadyErroneous) : true, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = MANUAL)) : true, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = AUTO)) : true, - else isAlreadyErroneous - }; -edon - -node Functions_BasicFunctions_InOutModeFunction - flow - icone:[1,2]:private; - outputMode:Functions_BasicFunctions_ModeSelection:out; - inputMode:Functions_BasicFunctions_ModeSelection:in; - state - status:{OK, STUCK_AUTO, STUCK_MAN}; - event - stuck_auto, - stuck_man; - trans - (status = OK) |- stuck_man -> status := STUCK_MAN; - (status = OK) |- stuck_auto -> status := STUCK_AUTO; - assert - outputMode = case { - (status = STUCK_AUTO) : AUTO, - (status = STUCK_MAN) : MANUAL, - else inputMode - }, - icone = (if (outputMode = AUTO) then 1 else 2); - init - status := OK; - extern - law = exponential(0.001); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; - law = exponential(0.001); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_BasicFunctions_SourceFunction - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_error; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_error -> status := ERRONEOUS; - assert - icone = case { - (status = OK) : 1, - (status = LOST) : 2, - else 3 - }, - output = status; - init - status := OK; - extern - law = constant(1.0E-4); - attribute TypeOfEvent0x002f1() = "Functional"; - law = constant(1.0E-5); - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node AIDASystem_Functions_Detection_v44 - flow - inputFlightPlan:Physical_BasicPhysical_BasicPhysicalStatus:in; - inputPosition:Physical_BasicPhysical_BasicPhysicalStatus:in; - inputSpeed:Physical_BasicPhysical_HiLoPhysicalStatus:in; - inputControlPosition:Physical_BasicPhysical_BasicPhysicalStatus:in; - inputLostHelixesControl:bool:in; - inputIndicatedMode:Functions_BasicFunctions_ModeSelection:in; - PilotSelectedMode:Functions_BasicFunctions_ModeSelection:out; - ManualPayloadControl:Functions_BasicFunctions_Presence:out; - PilotInconsistentControl:bool:out; - PilotOrders:Functions_BasicFunctions_Presence:out; - state - mode:Functions_BasicFunctions_ModeSelection; - event - GoToManualMode; - trans - (mode = AUTO) |- GoToManualMode -> mode := MANUAL; - assert - PilotSelectedMode = (if (mode = AUTO) then AUTO else MANUAL), - ManualPayloadControl = (if (mode = AUTO) then ABSENT else PRESENT), - PilotInconsistentControl = ((mode = AUTO) and ((((((inputFlightPlan = ERRONEOUS) or (inputPosition # OK)) or (inputSpeed # OK)) or (inputControlPosition # OK)) or inputLostHelixesControl) or (inputIndicatedMode = MANUAL))), - PilotOrders = (if (mode = AUTO) then ABSENT else PRESENT); - init - mode := AUTO; - extern - law = exponential(0.001); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; -edon - -node Functions_PhysicalOperators_PhysicalInjection_bothHiLo - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - alloc:Physical_BasicPhysical_BasicPhysicalStatus:in; - input:Physical_BasicPhysical_HiLoPhysicalStatus:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = LOST) : 2, - else 3 - }, - output = case { - (alloc = LOST) : LOST, - (alloc = ERRONEOUS) : ERRONEOUS, - else input - }; -edon - -node Functions_BasicFunctions_InOutFunction_Hilo_SF325 - flow - icone:[1,3]:private; - input:Physical_BasicPhysical_HiLoPhysicalStatus:in; - output_2:Physical_BasicPhysical_BasicPhysicalStatus:out; - output_1:Physical_BasicPhysical_HiLoPhysicalStatus:out; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_error; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_error -> status := ERRONEOUS; - assert - icone = case { - (status = OK) : 1, - (status = LOST) : 2, - else 3 - }, - output_2 = case { - (status = LOST) : LOST, - (status = ERRONEOUS) : ERRONEOUS, - (input = OK) : OK, - (input = LOST) : LOST, - else ERRONEOUS - }, - output_1 = case { - (status = LOST) : LOST, - (status = ERRONEOUS) : ERRONEOUS, - else input - }; - init - status := OK; - extern - law = constant(1.0E-4); - attribute TypeOfEvent0x002f1() = "Functional"; - law = constant(1.0E-5); - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_BasicOperators_AND_fullHiLo - flow - icone:[1,2]:private; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - input_1:Physical_BasicPhysical_HiLoPhysicalStatus:in; - input_2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - assert - output = case { - ((input_1 = LOST) or (input_2 = LOST)) : LOST, - ((input_1 = ERRONEOUS) or (input_2 = ERRONEOUS)) : ERRONEOUS, - (input_1 = input_2) : input_1, - (input_1 = OK) : input_2, - (input_2 = OK) : input_1, - else ERRONEOUS - }, - icone = case { - (output = OK) : 1, - else 2 - }; -edon - -node Functions_BasicFunctions_InOutFunction_HiLo - flow - icone:[1,3]:private; - input:Physical_BasicPhysical_HiLoPhysicalStatus:in; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_error; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_error -> status := ERRONEOUS; - assert - icone = case { - (status = OK) : 1, - (status = LOST) : 2, - else 3 - }, - output = case { - (status = LOST) : LOST, - (status = ERRONEOUS) : ERRONEOUS, - else input - }; - init - status := OK; - extern - law = constant(1.0E-4); - attribute TypeOfEvent0x002f1() = "Functional"; - law = constant(1.0E-5); - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_BasicOperators_AND_complexHiLo - flow - icone:[1,2]:private; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - input_1:Physical_BasicPhysical_BasicPhysicalStatus:in; - input_2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - assert - output = case { - ((input_1 = LOST) or (input_2 = LOST)) : LOST, - (input_1 = ERRONEOUS) : ERRONEOUS, - else input_2 - }, - icone = case { - (output = OK) : 1, - else 2 - }; -edon - -node Functions_PhysicalOperators_PhysicalInjection_HiLo - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - alloc:Physical_BasicPhysical_HiLoPhysicalStatus:in; - input:Physical_BasicPhysical_BasicPhysicalStatus:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = LOST) : 2, - else 3 - }, - output = case { - (alloc # OK) : alloc, - (input = OK) : OK, - (input = LOST) : LOST, - else ERRONEOUS - }; -edon - -node Functions_BasicFunctions_InOutFunction_HiLoReverse - flow - icone:[1,3]:private; - input:Physical_BasicPhysical_HiLoPhysicalStatus:in; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_error; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_error -> status := ERRONEOUS; - assert - icone = case { - (status = OK) : 1, - (status = LOST) : 2, - else 3 - }, - output = case { - (status = LOST) : LOST, - (status = ERRONEOUS) : ERRONEOUS, - (input = LOW_ERRONEOUS) : HIGH_ERRONEOUS, - (input = HIGH_ERRONEOUS) : LOW_ERRONEOUS, - else input - }; - init - status := OK; - extern - law = constant(1.0E-4); - attribute TypeOfEvent0x002f1() = "Functional"; - law = constant(1.0E-5); - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_PhysicalOperators_AND_Physical - flow - icone:[1,2]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - input_1:Physical_BasicPhysical_BasicPhysicalStatus:in; - input_2:Physical_BasicPhysical_BasicPhysicalStatus:in; - assert - output = (if ((input_1 = OK) and (input_2 = OK)) then OK else (if ((input_1 = LOST) or (input_2 = LOST)) then LOST else ERRONEOUS)), - icone = case { - (output = OK) : 1, - else 2 - }; -edon - -node Functions_BasicOperators_ErrConditionalSelector_2_ComplexHiLo - flow - icone:[1,2]:private; - inputAUTO:Physical_BasicPhysical_BasicPhysicalStatus:in; - inputMANUAL:Physical_BasicPhysical_HiLoPhysicalStatus:in; - condition:Functions_BasicFunctions_ModeSelection:in; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - assert - icone = (if (condition = AUTO) then 1 else 2), - output = case { - (condition = MANUAL) : inputMANUAL, - (inputAUTO = OK) : OK, - (inputAUTO = LOST) : LOST, - else ERRONEOUS - }; -edon - -node Functions_PhysicalOperators_PhysicalInjection_detection - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - alloc:Physical_BasicPhysical_BasicPhysicalStatus:in; - input:Physical_BasicPhysical_BasicPhysicalStatus:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = LOST) : 2, - else 3 - }, - output = case { - ((alloc = LOST) or (alloc = ERRONEOUS)) : LOST, - else input - }; -edon - -node Functions_BasicOperators_detectionOfErroneous - flow - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - input:Physical_BasicPhysical_BasicPhysicalStatus:in; - assert - output = case { - (input = OK) : OK, - else LOST - }; -edon - -node Functions_BasicOperators_AND - flow - icone:[1,2]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - input_1:Physical_BasicPhysical_BasicPhysicalStatus:in; - input_2:Physical_BasicPhysical_BasicPhysicalStatus:in; - assert - output = (if ((input_1 = OK) and (input_2 = OK)) then OK else (if ((input_1 = LOST) or (input_2 = LOST)) then LOST else ERRONEOUS)), - icone = case { - (output = OK) : 1, - else 2 - }; -edon - -node Functions_BasicOperators_ErrConditionalSelector_2 - flow - icone:[1,2]:private; - inputAUTO:Physical_BasicPhysical_BasicPhysicalStatus:in; - inputMANUAL:Physical_BasicPhysical_BasicPhysicalStatus:in; - condition:Functions_BasicFunctions_ModeSelection:in; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - assert - icone = (if (condition = AUTO) then 1 else 2), - output = (if (condition = AUTO) then inputAUTO else inputMANUAL); -edon - -node Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Origin - flow - icone:[1,3]:private; - output:bool:out; - alloc:Physical_BasicPhysical_BasicPhysicalStatus:in; - input:bool:in; - isErroneous:bool:out; - assert - icone = case { - (alloc = OK) : 1, - (alloc = LOST) : 2, - else 3 - }, - output = case { - (alloc = LOST) : false, - (alloc = ERRONEOUS) : (not input), - else input - }, - isErroneous = case { - (alloc = ERRONEOUS) : true, - else false - }; -edon - -node Functions_BasicOperators_Comparator_HiLo - flow - input1:Physical_BasicPhysical_HiLoPhysicalStatus:in; - status_acquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - input2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - output:bool:out; - assert - output = case { - (input1 = LOST) : true, - (input2 = LOST) : true, - (((input1 = ERRONEOUS) and (input2 = ERRONEOUS)) and (status_acquisition = ERRONEOUS)) : true, - (input1 = input2) : false, - (input1 = OK) : true, - (input2 = OK) : true, - (input1 = ERRONEOUS) : false, - (input2 = ERRONEOUS) : false, - else true - }; -edon - -node Functions_PhysicalOperators_PhysicalInjection_boolean_Status - flow - icone:[1,3]:private; - output:bool:out; - alloc:Physical_BasicPhysical_BasicPhysicalStatus:in; - input:bool:in; - isErroneous:bool:out; - isAlreadyErroneous:bool:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = LOST) : 2, - else 3 - }, - output = case { - (alloc = LOST) : false, - ((alloc = ERRONEOUS) and isAlreadyErroneous) : input, - ((alloc = ERRONEOUS) and (not isAlreadyErroneous)) : (not input), - else input - }, - isErroneous = case { - (alloc = LOST) : isAlreadyErroneous, - ((alloc = ERRONEOUS) and isAlreadyErroneous) : true, - ((alloc = ERRONEOUS) and (not isAlreadyErroneous)) : true, - else input - }; -edon - -node Boolean_Boolean_or4 - flow - icone:[1,2]:private; - O:bool:out; - I1:bool:in; - I2:bool:in; - I3:bool:in; - I4:bool:in; - assert - icone = case { - (((I1 or I2) or I3) or I4) : 1, - else 2 - }, - O = (((I1 or I2) or I3) or I4); -edon - -node Functions_BasicOperators_ANDBoolErrLost - flow - icone:[1,2]:private; - input:bool:in; - output:bool:out; - failurePropagation:Physical_BasicPhysical_BasicPhysicalStatus:in; - assert - icone = (if (failurePropagation = OK) then 1 else 2), - output = case { - (failurePropagation = LOST) : false, - (failurePropagation = ERRONEOUS) : true, - else input - }; -edon - -node Functions_BasicOperators_Comparator - flow - input1:Physical_BasicPhysical_BasicPhysicalStatus:in; - status_acquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - input2:Physical_BasicPhysical_BasicPhysicalStatus:in; - output:bool:out; - assert - output = case { - (input1 = LOST) : true, - (input2 = LOST) : true, - (((input1 = ERRONEOUS) and (input2 = ERRONEOUS)) and (status_acquisition = ERRONEOUS)) : true, - (input1 = input2) : false, - else true - }; -edon - -node Functions_BasicOperators_OR_3 - flow - icone:[1,2]:private; - O:bool:out; - I1:bool:in; - I2:bool:in; - I3:bool:in; - assert - icone = case { - ((I1 or I2) or I3) : 1, - else 2 - }, - O = ((I1 or I2) or I3); -edon - -node Quadcopter_Observers_PilotRequiresManualMode - flow - icone:[1,2]:private; - output:bool:out; - input:Functions_BasicFunctions_ModeSelection:in; - assert - output = (input = MANUAL), - icone = (if output then 2 else 1); -edon - -node Boolean_Boolean_filter - flow - filterCriterion:bool:in; - input:bool:in; - output:bool:out; - assert - output = (if filterCriterion then false else input); -edon - -node Quadcopter_Observers_StuckModeMAN_v03 - flow - icone:[1,2]:private; - output:bool:out; - PilotAPEngagementOrder:Functions_BasicFunctions_ModeSelection:in; - AppliedAPEngagement:Functions_BasicFunctions_ModeSelection:in; - assert - output = ((AppliedAPEngagement = MANUAL) and (PilotAPEngagementOrder = AUTO)), - icone = (if output then 2 else 1); -edon - -node Boolean_Boolean_or2 - flow - icone:[1,2]:private; - O:bool:out; - I1:bool:in; - I2:bool:in; - assert - icone = case { - (I1 or I2) : 1, - else 2 - }, - O = (I1 or I2); -edon - -node Quadcopter_Observers_StuckMode_v03 - flow - icone:[1,2]:private; - output:bool:out; - input:Functions_BasicFunctions_ModeSelection:in; - assert - output = (input = AUTO), - icone = (if output then 2 else 1); -edon - -node Boolean_Boolean_intermediate - flow - icone:[1,2]:private; - O:bool:out; - I:bool:in; - assert - icone = case { - I : 1, - else 2 - }, - O = I; -edon - -node Boolean_Boolean_and2 - flow - O:bool:out; - I1:bool:in; - I2:bool:in; - assert - O = (I1 and I2); -edon - -node Quadcopter_Observers_ErroneousControlOfOneHelix - flow - icone:[1,2]:private; - in1:Physical_BasicPhysical_HiLoPhysicalStatus:in; - in2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - in3:Physical_BasicPhysical_HiLoPhysicalStatus:in; - in4:Physical_BasicPhysical_HiLoPhysicalStatus:in; - output:bool:out; - assert - output = ((((((((in1 = ERRONEOUS) or (in1 = HIGH_ERRONEOUS)) or (in2 = ERRONEOUS)) or (in2 = HIGH_ERRONEOUS)) or (in3 = ERRONEOUS)) or (in3 = HIGH_ERRONEOUS)) or (in4 = ERRONEOUS)) or (in4 = HIGH_ERRONEOUS)), - icone = (if output then 2 else 1); -edon - -node Quadcopter_Observers_TotalLossOfHelixesControl - flow - icone:[1,2]:private; - in1:Physical_BasicPhysical_HiLoPhysicalStatus:in; - in2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - in3:Physical_BasicPhysical_HiLoPhysicalStatus:in; - in4:Physical_BasicPhysical_HiLoPhysicalStatus:in; - output:bool:out; - assert - output = (((((in1 = LOST) or (in1 = LOW_ERRONEOUS)) and ((in2 = LOST) or (in2 = LOW_ERRONEOUS))) and ((in3 = LOST) or (in3 = LOW_ERRONEOUS))) and ((in4 = LOST) or (in4 = LOW_ERRONEOUS))), - icone = (if output then 2 else 1); -edon - -node Quadcopter_Observers_LossOfAtMost3HelixesControl - flow - icone:[1,2]:private; - in1:Physical_BasicPhysical_HiLoPhysicalStatus:in; - in2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - in3:Physical_BasicPhysical_HiLoPhysicalStatus:in; - in4:Physical_BasicPhysical_HiLoPhysicalStatus:in; - output:bool:out; - assert - output = (((((((((in1 = LOST) or (in1 = LOW_ERRONEOUS)) and ((in2 # ERRONEOUS) and (in2 # HIGH_ERRONEOUS))) and ((in3 # ERRONEOUS) and (in3 # HIGH_ERRONEOUS))) and ((in4 # ERRONEOUS) and (in4 # HIGH_ERRONEOUS))) or (((((in2 = LOST) or (in2 = LOW_ERRONEOUS)) and ((in1 # ERRONEOUS) and (in1 # HIGH_ERRONEOUS))) and ((in3 # ERRONEOUS) and (in3 # HIGH_ERRONEOUS))) and ((in4 # ERRONEOUS) and (in4 # HIGH_ERRONEOUS)))) or (((((in3 = LOST) or (in3 = LOW_ERRONEOUS)) and ((in1 # ERRONEOUS) and (in1 # HIGH_ERRONEOUS))) and ((in2 # ERRONEOUS) and (in2 # HIGH_ERRONEOUS))) and ((in4 # ERRONEOUS) and (in4 # HIGH_ERRONEOUS)))) or (((((in4 = LOST) or (in4 = LOW_ERRONEOUS)) and ((in1 # ERRONEOUS) and (in1 # HIGH_ERRONEOUS))) and ((in2 # ERRONEOUS) and (in2 # HIGH_ERRONEOUS))) and ((in3 # ERRONEOUS) and (in3 # HIGH_ERRONEOUS)))) and (not (((((in1 = LOST) or (in1 = LOW_ERRONEOUS)) and ((in2 = LOST) or (in2 = LOW_ERRONEOUS))) and ((in3 = LOST) or (in3 = LOW_ERRONEOUS))) and ((in4 = LOST) or (in4 = LOW_ERRONEOUS))))), - icone = (if output then 2 else 1); -edon - -node Functions_PhysicalOperators_PhysicalInjection_Presence_Status - flow - icone:[1,3]:private; - output:Functions_BasicFunctions_Presence:out; - alloc:Physical_BasicPhysical_BasicPhysicalStatus:in; - isErroneous:bool:out; - isAlreadyErroneous:bool:in; - input:Functions_BasicFunctions_Presence:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = ERRONEOUS) : 3, - else 2 - }, - output = case { - (alloc = LOST) : PRESENT, - ((alloc = ERRONEOUS) and isAlreadyErroneous) : input, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = PRESENT)) : ABSENT, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = ABSENT)) : PRESENT, - else input - }, - isErroneous = case { - (alloc = LOST) : isAlreadyErroneous, - ((alloc = ERRONEOUS) and isAlreadyErroneous) : true, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = PRESENT)) : true, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = ABSENT)) : true, - else isAlreadyErroneous - }; -edon - -node Functions_BasicOperators_PerfectPresenceSelectorOK - flow - icone:[1,2]:private; - input:Physical_BasicPhysical_BasicPhysicalStatus:in; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - condition:Functions_BasicFunctions_Presence:in; - assert - icone = (if (condition = PRESENT) then 2 else 1), - output = (if (condition = PRESENT) then OK else input); -edon - -node Functions_PhysicalOperators_PhysicalInjection_Presence_Status_Origin - flow - icone:[1,3]:private; - output:Functions_BasicFunctions_Presence:out; - alloc:Physical_BasicPhysical_BasicPhysicalStatus:in; - isErroneous:bool:out; - input:Functions_BasicFunctions_Presence:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = ERRONEOUS) : 3, - else 2 - }, - output = case { - (alloc = LOST) : PRESENT, - ((alloc = ERRONEOUS) and (input = PRESENT)) : ABSENT, - ((alloc = ERRONEOUS) and (input = ABSENT)) : PRESENT, - else input - }, - isErroneous = case { - (alloc = ERRONEOUS) : true, - else false - }; -edon - -node Functions_BasicFunctions_AbsentPresentFunction - flow - icone:[1,2]:private; - input:Functions_BasicFunctions_Presence:in; - output:Functions_BasicFunctions_Presence:out; - state - status:Physical_BasicPhysical_BinaryPhysicalStatus; - event - fail_loss; - trans - (status = OK) |- fail_loss -> status := LOST; - assert - icone = case { - (status = OK) : 1, - else 2 - }, - output = case { - (status = OK) : input, - else ABSENT - }; - init - status := OK; - extern - law = exponential(1.0E-6); - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_PhysicalOperators_PhysicalInjection_Presence_2_Status_Origin - flow - icone:[1,3]:private; - output:Functions_BasicFunctions_Presence:out; - alloc:Physical_BasicPhysical_BasicPhysicalStatus:in; - isErroneous:bool:out; - input:Functions_BasicFunctions_Presence:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = ERRONEOUS) : 3, - else 2 - }, - output = case { - (alloc = LOST) : ABSENT, - ((alloc = ERRONEOUS) and (input = PRESENT)) : ABSENT, - ((alloc = ERRONEOUS) and (input = ABSENT)) : PRESENT, - else input - }, - isErroneous = case { - (alloc = ERRONEOUS) : true, - else false - }; -edon - -node Functions_BasicOperators_PerfectPresenceSelectorLOSS - flow - icone:[1,2]:private; - input:Physical_BasicPhysical_BasicPhysicalStatus:in; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - condition:Functions_BasicFunctions_Presence:in; - assert - icone = (if (condition = ABSENT) then 1 else 2), - output = (if (condition = PRESENT) then LOST else input); -edon - -node Functions_BasicFunctions_SourcePresenceFunction - flow - icone:[1,2]:private; - output:Functions_BasicFunctions_Presence:out; - state - status:Functions_BasicFunctions_Presence; - event - fail_inadv; - trans - (status = ABSENT) |- fail_inadv -> status := PRESENT; - assert - icone = case { - (status = ABSENT) : 1, - else 2 - }, - output = status; - init - status := ABSENT; - extern - law = constant(1.0E-5); - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_BasicOperators_Choice - flow - icone:[1,2]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - input_1:Physical_BasicPhysical_BasicPhysicalStatus:in; - input_2:Physical_BasicPhysical_BasicPhysicalStatus:in; - assert - icone = (if (input_2 = ERRONEOUS) then 2 else 1), - output = (if (input_2 = ERRONEOUS) then ERRONEOUS else input_1); -edon - -node Functions_PhysicalOperators_PhysicalInjection_ModeSelectionErroneousLost - flow - icone:[1,3]:private; - output:Functions_BasicFunctions_ModeSelection_ErroneousLost:out; - alloc:Physical_BasicPhysical_BasicPhysicalStatus:in; - input:Functions_BasicFunctions_ModeSelection_ErroneousLost:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = ERRONEOUS) : 3, - else 2 - }, - output = case { - (alloc = LOST) : LOST, - (alloc = ERRONEOUS) : ERRONEOUS, - else input - }; -edon - -node Functions_BasicOperators_transtypageMode - flow - icone:[1,2]:private; - O:Functions_BasicFunctions_ModeSelection_ErroneousLost:out; - I:Functions_BasicFunctions_ModeSelection:in; - assert - icone = case { - (I = AUTO) : 1, - else 2 - }, - O = (if (I = AUTO) then AUTO else MANUAL); -edon - -node Functions_BasicFunctions_ErroneousLostModeSelector - flow - icone:[1,2]:private; - outputMode:Functions_BasicFunctions_ModeSelection_ErroneousLost:out; - inputMode:Functions_BasicFunctions_ModeSelection_ErroneousLost:in; - state - status:{LOSS, OK, STUCK_AUTO, STUCK_MAN, UNDEF}; - event - stuck_auto, - stuck_manual, - OscillatoryModeSelection, - fail_loss; - trans - (status = OK) |- stuck_auto -> status := STUCK_AUTO; - (status = OK) |- stuck_manual -> status := STUCK_MAN; - (status = OK) |- OscillatoryModeSelection -> status := UNDEF; - (status = OK) |- fail_loss -> status := LOSS; - assert - outputMode = case { - ((status = OK) and (inputMode = AUTO)) : AUTO, - ((status = OK) and (inputMode = MANUAL)) : MANUAL, - ((status = OK) and (inputMode = ERRONEOUS)) : ERRONEOUS, - (status = LOSS) : LOST, - (status = STUCK_AUTO) : AUTO, - (status = UNDEF) : ERRONEOUS, - else MANUAL - }, - icone = case { - (outputMode = AUTO) : 1, - else 2 - }; - init - status := OK; - extern - law = exponential(0.001); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; - law = exponential(0.001); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; - law = exponential(0.001); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_PhysicalOperators_PhysicalInjection_ModeSelectionErroneousLost_Status - flow - icone:[1,3]:private; - output:Functions_BasicFunctions_ModeSelection_ErroneousLost:out; - alloc:Physical_BasicPhysical_BasicPhysicalStatus:in; - isErroneous:bool:out; - isAlreadyErroneous:bool:in; - input:Functions_BasicFunctions_ModeSelection_ErroneousLost:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = ERRONEOUS) : 3, - else 2 - }, - output = case { - (alloc = LOST) : MANUAL, - ((alloc = ERRONEOUS) and isAlreadyErroneous) : input, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = MANUAL)) : AUTO, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = AUTO)) : MANUAL, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = ERRONEOUS)) : ERRONEOUS, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = LOST)) : ERRONEOUS, - else input - }, - isErroneous = case { - (alloc = LOST) : isAlreadyErroneous, - ((alloc = ERRONEOUS) and isAlreadyErroneous) : true, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = MANUAL)) : true, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = AUTO)) : true, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = ERRONEOUS)) : false, - (((alloc = ERRONEOUS) and (not isAlreadyErroneous)) and (input = LOST)) : false, - else isAlreadyErroneous - }; -edon - -node Functions_BasicFunctions_ErroneousLostPresentModeSelector - flow - icone:[1,2]:private; - outputMode:Functions_BasicFunctions_ModeSelection_ErroneousLost:out; - inputMode:Functions_BasicFunctions_ModeSelection_ErroneousLost:in; - ManualOverride:Physical_BasicPhysical_BasicPhysicalStatus:in; - MissionCompleted:Functions_BasicFunctions_Presence:in; - state - status:{LOSS, OK, STUCK_AUTO, STUCK_MAN, UNDEF}; - event - stuck_auto, - stuck_manual, - OscillatoryModeSelection, - fail_loss; - trans - (status = OK) |- stuck_auto -> status := STUCK_AUTO; - (status = OK) |- stuck_manual -> status := STUCK_MAN; - (status = OK) |- OscillatoryModeSelection -> status := UNDEF; - (status = OK) |- fail_loss -> status := LOSS; - assert - outputMode = case { - ((status = OK) and ((ManualOverride # LOST) or (MissionCompleted = PRESENT))) : MANUAL, - ((status = OK) and (inputMode = AUTO)) : AUTO, - ((status = OK) and (inputMode = MANUAL)) : MANUAL, - ((status = OK) and (inputMode = ERRONEOUS)) : ERRONEOUS, - ((status = OK) and (inputMode = LOST)) : MANUAL, - (status = STUCK_AUTO) : AUTO, - (status = STUCK_MAN) : MANUAL, - (status = UNDEF) : ERRONEOUS, - else LOST - }, - icone = case { - (outputMode = AUTO) : 1, - else 2 - }; - init - status := OK; - extern - law = exponential(0.001); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; - law = exponential(0.001); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; - law = exponential(0.001); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_BasicFunctions_FaultyManualModeSelector_LossType - flow - icone:[1,2]:private; - outputMode:Functions_BasicFunctions_ModeSelection:out; - inputMode:Functions_BasicFunctions_ModeSelection_ErroneousLost:in; - FlightPlanInterruption:Functions_BasicFunctions_Presence:out; - state - status:{OK, STUCK_AUTO, STUCK_MANUAL}; - event - stuck_auto, - stuck_manual; - trans - (status = OK) |- stuck_auto -> status := STUCK_AUTO; - (status = OK) |- stuck_manual -> status := STUCK_MANUAL; - assert - outputMode = case { - ((status = OK) and ((inputMode = ERRONEOUS) or (inputMode = LOST))) : MANUAL, - ((status = OK) and (inputMode = AUTO)) : AUTO, - ((status = OK) and (inputMode = MANUAL)) : MANUAL, - (status = STUCK_AUTO) : AUTO, - else MANUAL - }, - icone = case { - (outputMode = AUTO) : 1, - else 2 - }, - FlightPlanInterruption = case { - ((status = OK) and ((inputMode = ERRONEOUS) or (inputMode = LOST))) : PRESENT, - ((status = OK) and (inputMode = AUTO)) : ABSENT, - ((status = OK) and (inputMode = MANUAL)) : PRESENT, - (status = STUCK_AUTO) : ABSENT, - else PRESENT - }; - init - status := OK; - extern - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Actuators - flow - icone:[1,3]:private; - output:bool:out; - alloc:Physical_BasicPhysical_HiLoPhysicalStatus:in; - input:bool:in; - isAlreadyErroneous:bool:in; - assert - icone = case { - (alloc = OK) : 1, - (alloc = LOST) : 2, - else 3 - }, - output = case { - (alloc = LOST) : false, - (alloc = LOW_ERRONEOUS) : false, - (alloc = HIGH_ERRONEOUS) : true, - ((alloc = ERRONEOUS) and isAlreadyErroneous) : input, - ((alloc = ERRONEOUS) and (not isAlreadyErroneous)) : (not input), - else input - }; -edon - -node Boolean_Boolean_BooleanInOutFunction - flow - icone:[1,3]:private; - input:bool:in; - output:bool:out; - state - status:Functions_BasicFunctions_BooleanStuck; - event - stuck_true, - stuck_false; - trans - (status = OK) |- stuck_true -> status := STUCK_TRUE; - (status = OK) |- stuck_false -> status := STUCK_FALSE; - assert - icone = case { - (status = OK) : 1, - (status = STUCK_FALSE) : 3, - else 2 - }, - output = case { - (status = STUCK_TRUE) : true, - (status = STUCK_FALSE) : false, - else input - }; - init - status := OK; - extern - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_BasicOperators_PerfectConditionalSelectorLOST_HiLo - flow - icone:[1,2]:private; - input:Physical_BasicPhysical_HiLoPhysicalStatus:in; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - condition:bool:in; - assert - icone = (if condition then 2 else 1), - output = (if condition then LOST else input); -edon - -node Functions_BasicFunctions_InOutPresentFunction - flow - icone:[1,3]:private; - input:Functions_BasicFunctions_Presence:in; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_error; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_error -> status := ERRONEOUS; - assert - icone = case { - (status = OK) : 1, - (status = LOST) : 2, - else 3 - }, - output = case { - (status = OK) : (if (input = PRESENT) then OK else LOST), - else status - }; - init - status := OK; - extern - law = constant(1.0E-4); - attribute TypeOfEvent0x002f1() = "Functional"; - law = constant(1.0E-5); - attribute TypeOfEvent0x002f1() = "Functional"; -edon - -node Functions_BasicOperators_AND_simpleHiLo - flow - icone:[1,2]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - input_1:Physical_BasicPhysical_BasicPhysicalStatus:in; - input_2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - assert - output = (if ((input_1 = OK) and (input_2 = OK)) then OK else (if ((input_1 = LOST) or (input_2 = LOST)) then LOST else ERRONEOUS)), - icone = case { - (output = OK) : 1, - else 2 - }; -edon - -node Components_Propellers_Propeller - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_degradation, - fail_loss; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_degradation -> status := ERRONEOUS; - assert - icone = case { - (status = LOST) : 2, - (status = ERRONEOUS) : 3, - else 1 - }, - output = status; - init - status := OK; - extern - law = exponential(1.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_PowerSupply_PowerDistribution - flow - icone:[1,3]:private; - input:Physical_BasicPhysical_HiLoPhysicalStatus:in; - output:Physical_BasicPhysical_HiLoPhysicalStatus:out; - state - status:Physical_BasicPhysical_HiLoPhysicalStatus; - event - fail_unsuff, - fail_err, - fail_loss; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - (status = OK) |- fail_unsuff -> status := LOW_ERRONEOUS; - assert - icone = case { - (status = OK) : 1, - (status = LOST) : 2, - else 3 - }, - output = case { - ((status = LOST) or (input = LOST)) : LOST, - (status # OK) : status, - else input - }; - init - status := OK; - extern - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_Actuators_MotorAndVariator - flow - icone:[1,3]:private; - output:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power:Physical_BasicPhysical_HiLoPhysicalStatus:in; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_loss, - fail_err; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - assert - icone = case { - (status = LOST) : 2, - (status = ERRONEOUS) : 3, - else 1 - }, - output = case { - (((Power = LOST) or (Power = LOW_ERRONEOUS)) or (status = LOST)) : LOST, - (((Power = ERRONEOUS) or (Power = HIGH_ERRONEOUS)) or (status = ERRONEOUS)) : ERRONEOUS, - else OK - }; - init - status := OK; - extern - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(2.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node Components_DroneControlDesk_DroneControlDesk - flow - icone:[1,3]:private; - Alloc_DroneControlDesk:Physical_BasicPhysical_BasicPhysicalStatus:out; - state - status:Physical_BasicPhysical_BasicPhysicalStatus; - event - fail_err, - fail_loss; - trans - (status = OK) |- fail_loss -> status := LOST; - (status = OK) |- fail_err -> status := ERRONEOUS; - assert - icone = case { - (status = LOST) : 2, - (status = ERRONEOUS) : 3, - else 1 - }, - Alloc_DroneControlDesk = status; - init - status := OK; - extern - law = exponential(1.0E-6); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; - law = exponential(1.0E-5); - attribute DassaultSpecialCtrlPeriod() = 9.877E8; - attribute TypeOfEvent0x002f1() = "Physical"; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF725_ComputeAltitudeAndVerticalSpeedMON - flow - icone:[1,3]:private; - VerticalSpeed:Physical_BasicPhysical_BasicPhysicalStatus:out; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - GroundAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - BarometricAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - Inj_Comp2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp1:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF725_Dysfunctional:Functions_BasicFunctions_InOutFunction_Hilo_SF325; - SF725_AllNeeded:Functions_BasicOperators_AND_fullHiLo; - assert - icone = case { - (SF725_Dysfunctional.status = LOST) : 2, - (SF725_Dysfunctional.status = ERRONEOUS) : 3, - else 1 - }, - VerticalSpeed = Inj_Comp2.output, - Altitude = Inj_Comp1.output, - Inj_Comp2.alloc = Alloc_MonProcComputation, - Inj_Comp2.input = SF725_Dysfunctional.output_2, - Inj_Comp1.alloc = Alloc_MonProcComputation, - Inj_Comp1.input = SF725_Dysfunctional.output_1, - SF725_Dysfunctional.input = SF725_AllNeeded.output, - SF725_AllNeeded.input_1 = GroundAltitude, - SF725_AllNeeded.input_2 = BarometricAltitude; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF724_ComputeGroundAltitudeMON - flow - icone:[1,3]:private; - GroundAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMonitoringDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - MeasuredGroundDistance:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - Inj_DroneMonitoringDigitalNetworkPath:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF724_Dysfunctional:Functions_BasicFunctions_InOutFunction_HiLo; - SF724_NeedAll:Functions_BasicOperators_AND_complexHiLo; - Inj_Acq:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - assert - icone = case { - (SF724_Dysfunctional.status = LOST) : 2, - (SF724_Dysfunctional.status = ERRONEOUS) : 3, - else 1 - }, - GroundAltitude = Inj_Comp.output, - Inj_DroneMonitoringDigitalNetworkPath.alloc = Alloc_DroneMonitoringDigitalNetworkPath, - Inj_DroneMonitoringDigitalNetworkPath.input = MeasuredGroundDistance, - Inj_Comp.alloc = Alloc_MonProcComputation, - Inj_Comp.input = SF724_Dysfunctional.output, - SF724_Dysfunctional.input = SF724_NeedAll.output, - SF724_NeedAll.input_1 = Attitude, - SF724_NeedAll.input_2 = Inj_Acq.output, - Inj_Acq.alloc = Alloc_MonProcAcquisition, - Inj_Acq.input = Inj_DroneMonitoringDigitalNetworkPath.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_Alloc_SF723_MeasureTelemetricSignalMON - flow - icone:[1,3]:private; - GroundDistance:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_TelemetricSensorMON:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - Inj_TelemetricSensorMON:Functions_PhysicalOperators_PhysicalInjection_HiLo; - SF723_Dysfunctional:Functions_BasicFunctions_SourceFunction; - assert - icone = case { - (SF723_Dysfunctional.status = LOST) : 2, - (SF723_Dysfunctional.status = ERRONEOUS) : 3, - else 1 - }, - GroundDistance = Inj_TelemetricSensorMON.output, - Inj_TelemetricSensorMON.alloc = Alloc_TelemetricSensorMON, - Inj_TelemetricSensorMON.input = SF723_Dysfunctional.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF721_MeasureAmbiantPressureMON - flow - icone:[1,3]:private; - Pressure:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_PressureSensorMON:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - Inj_PressureSensorMON:Functions_PhysicalOperators_PhysicalInjection_HiLo; - SF721_Dysfunctional:Functions_BasicFunctions_SourceFunction; - assert - icone = case { - (SF721_Dysfunctional.status = LOST) : 2, - (SF721_Dysfunctional.status = ERRONEOUS) : 3, - else 1 - }, - Pressure = Inj_PressureSensorMON.output, - Inj_PressureSensorMON.alloc = Alloc_PressureSensorMON, - Inj_PressureSensorMON.input = SF721_Dysfunctional.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF722_ComputeBarometricAltitudeMON - flow - icone:[1,3]:private; - BarometricAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMonitoringDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - MeasuredPressure:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - Inj_DroneMonitoringDigitalNetworkPath:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF722_Dysfunctional:Functions_BasicFunctions_InOutFunction_HiLoReverse; - Inj_Acq:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - assert - icone = case { - (SF722_Dysfunctional.status = LOST) : 2, - (SF722_Dysfunctional.status = ERRONEOUS) : 3, - else 1 - }, - BarometricAltitude = Inj_Comp.output, - Inj_DroneMonitoringDigitalNetworkPath.alloc = Alloc_DroneMonitoringDigitalNetworkPath, - Inj_DroneMonitoringDigitalNetworkPath.input = MeasuredPressure, - Inj_Comp.alloc = Alloc_MonProcComputation, - Inj_Comp.input = SF722_Dysfunctional.output, - SF722_Dysfunctional.input = Inj_Acq.output, - Inj_Acq.alloc = Alloc_MonProcAcquisition, - Inj_Acq.input = Inj_DroneMonitoringDigitalNetworkPath.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF731_2_ControlAltitudeMON - flow - icone:[1,3]:private; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - AltitudeConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - T_AP:Physical_BasicPhysical_BasicPhysicalStatus:in; - APEngagement^Mode:Functions_BasicFunctions_ModeSelection:in; - APEngagement^IsErroneous:bool:in; - T:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneDigitalNetworkPath5:Functions_PhysicalOperators_PhysicalInjection_ModeSelection_Status; - Inj_DroneDigitalNetworkPath4:Functions_PhysicalOperators_PhysicalInjection; - Inj_DroneDigitalNetworkPath3:Functions_PhysicalOperators_PhysicalInjection; - Inj_DroneDigitalNetworkPath2:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_DroneDigitalNetworkPath1:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq5:Functions_PhysicalOperators_PhysicalInjection_ModeSelection_Status; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF731_ComputeThrustMON:Functions_BasicFunctions_InOutFunction_HiLoReverse; - SF731_2_AND2:Functions_BasicOperators_AND_complexHiLo; - SF731_2_AND1:Functions_BasicOperators_AND_complexHiLo; - Inj_Acq3:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF732_SelectTotalThrustConsignMON:Functions_BasicOperators_ErrConditionalSelector_2_ComplexHiLo; - Inj_Acq2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq4:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq1:Functions_PhysicalOperators_PhysicalInjection; - assert - icone = (if (SF731_ComputeThrustMON.status = OK) then 1 else (if (SF731_ComputeThrustMON.status = LOST) then 3 else 2)), - T = Inj_Comp.output, - Inj_DroneDigitalNetworkPath5.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath5.isAlreadyErroneous = APEngagement^IsErroneous, - Inj_DroneDigitalNetworkPath5.input = APEngagement^Mode, - Inj_DroneDigitalNetworkPath4.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath4.input = AltitudeConsign, - Inj_DroneDigitalNetworkPath3.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath3.input = T_AP, - Inj_DroneDigitalNetworkPath2.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath2.input = Altitude, - Inj_DroneDigitalNetworkPath1.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath1.input = Attitude, - Inj_Acq5.alloc = Alloc_MonProcAcquisition, - Inj_Acq5.isAlreadyErroneous = Inj_DroneDigitalNetworkPath5.isErroneous, - Inj_Acq5.input = Inj_DroneDigitalNetworkPath5.output, - Inj_Comp.alloc = Alloc_MonProcComputation, - Inj_Comp.input = SF731_ComputeThrustMON.output, - SF731_ComputeThrustMON.input = SF732_SelectTotalThrustConsignMON.output, - SF731_2_AND2.input_1 = Inj_Acq4.output, - SF731_2_AND2.input_2 = SF731_2_AND1.output, - SF731_2_AND1.input_1 = Inj_Acq1.output, - SF731_2_AND1.input_2 = Inj_Acq3.output, - Inj_Acq3.alloc = Alloc_MonProcAcquisition, - Inj_Acq3.input = Inj_DroneDigitalNetworkPath2.output, - SF732_SelectTotalThrustConsignMON.inputAUTO = Inj_Acq2.output, - SF732_SelectTotalThrustConsignMON.inputMANUAL = SF731_2_AND2.output, - SF732_SelectTotalThrustConsignMON.condition = Inj_Acq5.output, - Inj_Acq2.alloc = Alloc_MonProcAcquisition, - Inj_Acq2.input = Inj_DroneDigitalNetworkPath3.output, - Inj_Acq4.alloc = Alloc_MonProcAcquisition, - Inj_Acq4.input = Inj_DroneDigitalNetworkPath4.output, - Inj_Acq1.alloc = Alloc_MonProcAcquisition, - Inj_Acq1.input = Inj_DroneDigitalNetworkPath1.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF733_6_ControlAttitudeMON - flow - icone:[1,3]:private; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - AttitudeAPConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - PitchRollConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - YawConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - APEngagement^Mode:Functions_BasicFunctions_ModeSelection:in; - APEngagement^IsErroneous:bool:in; - P:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_PilotDroneControlPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneDigitalNetworkPath5:Functions_PhysicalOperators_PhysicalInjection_ModeSelection_Status; - Inj_DroneDigitalNetworkPath3:Functions_PhysicalOperators_PhysicalInjection; - Inj_PilotDroneControlPath:Functions_PhysicalOperators_PhysicalInjection_detection; - Inj_DroneDigitalNetworkPath1:Functions_PhysicalOperators_PhysicalInjection; - SF733_Detection:Functions_BasicOperators_detectionOfErroneous; - Inj_DroneDigitalNetworkPath2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq5:Functions_PhysicalOperators_PhysicalInjection_ModeSelection_Status; - Inj_Acq4:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq3:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq1:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection; - SF733_6_AND3:Functions_BasicOperators_AND; - SF734_6_ControlAttitudeMON:Functions_BasicFunctions_InOutFunction; - SF733_SelectAttitudeConsignMON:Functions_BasicOperators_ErrConditionalSelector_2; - SF733_6_AND2:Functions_BasicOperators_AND; - SF733_6_AND1:Functions_BasicOperators_AND; - assert - icone = (if (SF734_6_ControlAttitudeMON.status = OK) then 1 else (if (SF734_6_ControlAttitudeMON.status = LOST) then 3 else 2)), - P = Inj_Comp.output, - Inj_DroneDigitalNetworkPath5.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath5.isAlreadyErroneous = APEngagement^IsErroneous, - Inj_DroneDigitalNetworkPath5.input = APEngagement^Mode, - Inj_DroneDigitalNetworkPath3.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath3.input = YawConsign, - Inj_PilotDroneControlPath.alloc = Alloc_PilotDroneControlPath, - Inj_PilotDroneControlPath.input = PitchRollConsign, - Inj_DroneDigitalNetworkPath1.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath1.input = AttitudeAPConsign, - SF733_Detection.input = Inj_Acq4.output, - Inj_DroneDigitalNetworkPath2.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath2.input = Attitude, - Inj_Acq5.alloc = Alloc_MonProcAcquisition, - Inj_Acq5.isAlreadyErroneous = Inj_DroneDigitalNetworkPath5.isErroneous, - Inj_Acq5.input = Inj_DroneDigitalNetworkPath5.output, - Inj_Acq4.alloc = Alloc_MonProcAcquisition, - Inj_Acq4.input = Inj_PilotDroneControlPath.output, - Inj_Acq3.alloc = Alloc_MonProcAcquisition, - Inj_Acq3.input = Inj_DroneDigitalNetworkPath3.output, - Inj_Acq2.alloc = Alloc_MonProcAcquisition, - Inj_Acq2.input = Inj_DroneDigitalNetworkPath2.output, - Inj_Acq1.alloc = Alloc_MonProcAcquisition, - Inj_Acq1.input = Inj_DroneDigitalNetworkPath1.output, - Inj_Comp.alloc = Alloc_MonProcComputation, - Inj_Comp.input = SF734_6_ControlAttitudeMON.output, - SF733_6_AND3.input_1 = SF733_Detection.output, - SF733_6_AND3.input_2 = Inj_Acq3.output, - SF734_6_ControlAttitudeMON.input = SF733_SelectAttitudeConsignMON.output, - SF733_SelectAttitudeConsignMON.inputAUTO = SF733_6_AND2.output, - SF733_SelectAttitudeConsignMON.inputMANUAL = SF733_6_AND1.output, - SF733_SelectAttitudeConsignMON.condition = Inj_Acq5.output, - SF733_6_AND2.input_1 = Inj_Acq1.output, - SF733_6_AND2.input_2 = Inj_Acq2.output, - SF733_6_AND1.input_1 = SF733_6_AND3.output, - SF733_6_AND1.input_2 = Inj_Acq2.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF737_8_ComputeMotorRate - flow - icone:[1,2]:private; - Thrust:Physical_BasicPhysical_HiLoPhysicalStatus:in; - P:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - MotorRates:Physical_BasicPhysical_HiLoPhysicalStatus:out; - sub - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF737_8_ControlThrust:Functions_BasicFunctions_InOutFunction_HiLo; - SF737_AllNeeded:Functions_BasicOperators_AND_complexHiLo; - assert - icone = case { - (SF737_8_ControlThrust.status = OK) : 1, - else 2 - }, - MotorRates = Inj_Comp.output, - Inj_Comp.alloc = Alloc_MonProcComputation, - Inj_Comp.input = SF737_8_ControlThrust.output, - SF737_8_ControlThrust.input = SF737_AllNeeded.output, - SF737_AllNeeded.input_1 = P, - SF737_AllNeeded.input_2 = Thrust; -edon - -node eq_AIDASystem_Functions_SF745_DisableDroneMotor - flow - icone:[1,2]:private; - Motor1Runaway^Detected:bool:in; - Motor1Runaway^IsErroneous:bool:in; - Motor2Runaway^Detected:bool:in; - Motor2Runaway^IsErroneous:bool:in; - Motor3Runaway^Detected:bool:in; - Motor3Runaway^IsErroneous:bool:in; - Motor4Runaway^Detected:bool:in; - Motor4Runaway^IsErroneous:bool:in; - AttitudeFailureDetected^Detected:bool:in; - AttitudeFailureDetected^IsErroneous:bool:in; - AltitudeFailureDetected^Detected:bool:in; - AltitudeFailureDetected^IsErroneous:bool:in; - MotorConsignFailureDetected^Detected:bool:in; - MotorConsignFailureDetected^IsErroneous:bool:in; - MotorDisabled^Motor1:bool:out; - MotorDisabled^IsErroneous1:bool:out; - MotorDisabled^Motor2:bool:out; - MotorDisabled^IsErroneous2:bool:out; - MotorDisabled^Motor3:bool:out; - MotorDisabled^IsErroneous3:bool:out; - MotorDisabled^Motor4:bool:out; - MotorDisabled^IsErroneous4:bool:out; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_Comp4:Functions_PhysicalOperators_PhysicalInjection_boolean_Status; - Inj_Comp3:Functions_PhysicalOperators_PhysicalInjection_boolean_Status; - Inj_Comp2:Functions_PhysicalOperators_PhysicalInjection_boolean_Status; - Inj_Comp1:Functions_PhysicalOperators_PhysicalInjection_boolean_Status; - SF745_OR44:Boolean_Boolean_or4; - SF745_OR33:Boolean_Boolean_or4; - SF745_OR22:Boolean_Boolean_or4; - SF745_OR11:Boolean_Boolean_or4; - FailureModesOfSF74:Functions_BasicFunctions_SourceFunction; - SF745_FMPropagation4:Functions_BasicOperators_ANDBoolErrLost; - SF745_FMPropagation3:Functions_BasicOperators_ANDBoolErrLost; - SF745_FMPropagation2:Functions_BasicOperators_ANDBoolErrLost; - SF745_FMPropagation1:Functions_BasicOperators_ANDBoolErrLost; - Inj_Emiss4:Functions_PhysicalOperators_PhysicalInjection_boolean_Status; - Inj_Emiss3:Functions_PhysicalOperators_PhysicalInjection_boolean_Status; - Inj_Emiss2:Functions_PhysicalOperators_PhysicalInjection_boolean_Status; - Inj_Emiss1:Functions_PhysicalOperators_PhysicalInjection_boolean_Status; - SF745_OR4:Boolean_Boolean_or4; - SF745_OR3:Boolean_Boolean_or4; - SF745_OR2:Boolean_Boolean_or4; - SF745_OR1:Boolean_Boolean_or4; - assert - icone = case { - (FailureModesOfSF74.status = OK) : 1, - else 2 - }, - MotorDisabled^Motor1 = Inj_Emiss1.output, - MotorDisabled^IsErroneous1 = Inj_Emiss1.isErroneous, - MotorDisabled^Motor2 = Inj_Emiss2.output, - MotorDisabled^IsErroneous2 = Inj_Emiss2.isErroneous, - MotorDisabled^Motor3 = Inj_Emiss3.output, - MotorDisabled^IsErroneous3 = Inj_Emiss3.isErroneous, - MotorDisabled^Motor4 = Inj_Emiss4.output, - MotorDisabled^IsErroneous4 = Inj_Emiss4.isErroneous, - Inj_Comp4.alloc = Alloc_MonProcComputation, - Inj_Comp4.input = SF745_FMPropagation4.output, - Inj_Comp4.isAlreadyErroneous = SF745_OR44.O, - Inj_Comp3.alloc = Alloc_MonProcComputation, - Inj_Comp3.input = SF745_FMPropagation3.output, - Inj_Comp3.isAlreadyErroneous = SF745_OR33.O, - Inj_Comp2.alloc = Alloc_MonProcComputation, - Inj_Comp2.input = SF745_FMPropagation2.output, - Inj_Comp2.isAlreadyErroneous = SF745_OR22.O, - Inj_Comp1.alloc = Alloc_MonProcComputation, - Inj_Comp1.input = SF745_FMPropagation1.output, - Inj_Comp1.isAlreadyErroneous = SF745_OR11.O, - SF745_OR44.I1 = Motor4Runaway^IsErroneous, - SF745_OR44.I2 = AltitudeFailureDetected^IsErroneous, - SF745_OR44.I3 = AttitudeFailureDetected^IsErroneous, - SF745_OR44.I4 = MotorConsignFailureDetected^IsErroneous, - SF745_OR33.I1 = Motor3Runaway^IsErroneous, - SF745_OR33.I2 = AltitudeFailureDetected^IsErroneous, - SF745_OR33.I3 = AttitudeFailureDetected^IsErroneous, - SF745_OR33.I4 = MotorConsignFailureDetected^IsErroneous, - SF745_OR22.I1 = Motor2Runaway^IsErroneous, - SF745_OR22.I2 = AltitudeFailureDetected^IsErroneous, - SF745_OR22.I3 = AttitudeFailureDetected^IsErroneous, - SF745_OR22.I4 = MotorConsignFailureDetected^IsErroneous, - SF745_OR11.I1 = Motor1Runaway^IsErroneous, - SF745_OR11.I2 = AltitudeFailureDetected^IsErroneous, - SF745_OR11.I3 = AttitudeFailureDetected^IsErroneous, - SF745_OR11.I4 = MotorConsignFailureDetected^IsErroneous, - SF745_FMPropagation4.input = SF745_OR4.O, - SF745_FMPropagation4.failurePropagation = FailureModesOfSF74.output, - SF745_FMPropagation3.input = SF745_OR3.O, - SF745_FMPropagation3.failurePropagation = FailureModesOfSF74.output, - SF745_FMPropagation2.input = SF745_OR2.O, - SF745_FMPropagation2.failurePropagation = FailureModesOfSF74.output, - SF745_FMPropagation1.input = SF745_OR1.O, - SF745_FMPropagation1.failurePropagation = FailureModesOfSF74.output, - Inj_Emiss4.alloc = Alloc_MonProcEmission, - Inj_Emiss4.input = Inj_Comp4.output, - Inj_Emiss4.isAlreadyErroneous = Inj_Comp4.isErroneous, - Inj_Emiss3.alloc = Alloc_MonProcEmission, - Inj_Emiss3.input = Inj_Comp3.output, - Inj_Emiss3.isAlreadyErroneous = Inj_Comp3.isErroneous, - Inj_Emiss2.alloc = Alloc_MonProcEmission, - Inj_Emiss2.input = Inj_Comp2.output, - Inj_Emiss2.isAlreadyErroneous = Inj_Comp2.isErroneous, - Inj_Emiss1.alloc = Alloc_MonProcEmission, - Inj_Emiss1.input = Inj_Comp1.output, - Inj_Emiss1.isAlreadyErroneous = Inj_Comp1.isErroneous, - SF745_OR4.I1 = Motor4Runaway^Detected, - SF745_OR4.I2 = AltitudeFailureDetected^Detected, - SF745_OR4.I3 = AttitudeFailureDetected^Detected, - SF745_OR4.I4 = MotorConsignFailureDetected^Detected, - SF745_OR3.I1 = MotorConsignFailureDetected^Detected, - SF745_OR3.I2 = AttitudeFailureDetected^Detected, - SF745_OR3.I3 = AltitudeFailureDetected^Detected, - SF745_OR3.I4 = Motor3Runaway^Detected, - SF745_OR2.I1 = MotorConsignFailureDetected^Detected, - SF745_OR2.I2 = AttitudeFailureDetected^Detected, - SF745_OR2.I3 = AltitudeFailureDetected^Detected, - SF745_OR2.I4 = Motor2Runaway^Detected, - SF745_OR1.I1 = MotorConsignFailureDetected^Detected, - SF745_OR1.I2 = AttitudeFailureDetected^Detected, - SF745_OR1.I3 = AltitudeFailureDetected^Detected, - SF745_OR1.I4 = Motor1Runaway^Detected; -edon - -node eq_AIDASystem_Functions_SF744_CompareDroneMotorRate - flow - MotorRatesMeasured^MotorRate1:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRatesMeasured^MotorRate2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRatesMeasured^MotorRate3:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRatesMeasured^MotorRate4:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMonitoringDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - MotorRate:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Motor1Runaway^Detected:bool:out; - Motor1Runaway^IsErroneous:bool:out; - Motor2Runaway^Detected:bool:out; - Motor2Runaway^IsErroneous:bool:out; - Motor3Runaway^Detected:bool:out; - Motor3Runaway^IsErroneous:bool:out; - Motor4Runaway^Detected:bool:out; - Motor4Runaway^IsErroneous:bool:out; - sub - Inj_DroneDigitalNetworkPath:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_DroneMonitoringDigitalNetworkPath5:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_DroneMonitoringDigitalNetworkPath4:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_DroneMonitoringDigitalNetworkPath3:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_DroneMonitoringDigitalNetworkPath2:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Comp4:Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Origin; - Inj_Comp3:Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Origin; - Inj_Comp2:Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Origin; - Inj_Comp1:Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Origin; - Inj_Acq5:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Acq4:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Acq3:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Acq2:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF744_MonitorMotorRate4:Functions_BasicOperators_Comparator_HiLo; - SF744_MonitorMotorRate3:Functions_BasicOperators_Comparator_HiLo; - SF744_MonitorMotorRate2:Functions_BasicOperators_Comparator_HiLo; - SF744_MonitorMotorRate1:Functions_BasicOperators_Comparator_HiLo; - Inj_Acq1:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - assert - Motor1Runaway^Detected = Inj_Comp1.output, - Motor1Runaway^IsErroneous = Inj_Comp1.isErroneous, - Motor2Runaway^Detected = Inj_Comp2.output, - Motor2Runaway^IsErroneous = Inj_Comp2.isErroneous, - Motor3Runaway^Detected = Inj_Comp3.output, - Motor3Runaway^IsErroneous = Inj_Comp3.isErroneous, - Motor4Runaway^Detected = Inj_Comp4.output, - Motor4Runaway^IsErroneous = Inj_Comp4.isErroneous, - Inj_DroneDigitalNetworkPath.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath.input = MotorRate, - Inj_DroneMonitoringDigitalNetworkPath5.alloc = Alloc_DroneMonitoringDigitalNetworkPath, - Inj_DroneMonitoringDigitalNetworkPath5.input = MotorRatesMeasured^MotorRate4, - Inj_DroneMonitoringDigitalNetworkPath4.alloc = Alloc_DroneMonitoringDigitalNetworkPath, - Inj_DroneMonitoringDigitalNetworkPath4.input = MotorRatesMeasured^MotorRate3, - Inj_DroneMonitoringDigitalNetworkPath3.alloc = Alloc_DroneMonitoringDigitalNetworkPath, - Inj_DroneMonitoringDigitalNetworkPath3.input = MotorRatesMeasured^MotorRate2, - Inj_DroneMonitoringDigitalNetworkPath2.alloc = Alloc_DroneMonitoringDigitalNetworkPath, - Inj_DroneMonitoringDigitalNetworkPath2.input = MotorRatesMeasured^MotorRate1, - Inj_Comp4.alloc = Alloc_MonProcComputation, - Inj_Comp4.input = SF744_MonitorMotorRate4.output, - Inj_Comp3.alloc = Alloc_MonProcComputation, - Inj_Comp3.input = SF744_MonitorMotorRate3.output, - Inj_Comp2.alloc = Alloc_MonProcComputation, - Inj_Comp2.input = SF744_MonitorMotorRate2.output, - Inj_Comp1.alloc = Alloc_MonProcComputation, - Inj_Comp1.input = SF744_MonitorMotorRate1.output, - Inj_Acq5.alloc = Alloc_MonProcAcquisition, - Inj_Acq5.input = Inj_DroneMonitoringDigitalNetworkPath5.output, - Inj_Acq4.alloc = Alloc_MonProcAcquisition, - Inj_Acq4.input = Inj_DroneMonitoringDigitalNetworkPath4.output, - Inj_Acq3.alloc = Alloc_MonProcAcquisition, - Inj_Acq3.input = Inj_DroneMonitoringDigitalNetworkPath3.output, - Inj_Acq2.alloc = Alloc_MonProcAcquisition, - Inj_Acq2.input = Inj_DroneMonitoringDigitalNetworkPath2.output, - SF744_MonitorMotorRate4.input1 = Inj_Acq5.output, - SF744_MonitorMotorRate4.status_acquisition = Alloc_MonProcAcquisition, - SF744_MonitorMotorRate4.input2 = Inj_Acq1.output, - SF744_MonitorMotorRate3.input1 = Inj_Acq4.output, - SF744_MonitorMotorRate3.status_acquisition = Alloc_MonProcAcquisition, - SF744_MonitorMotorRate3.input2 = Inj_Acq1.output, - SF744_MonitorMotorRate2.input1 = Inj_Acq3.output, - SF744_MonitorMotorRate2.status_acquisition = Alloc_MonProcAcquisition, - SF744_MonitorMotorRate2.input2 = Inj_Acq1.output, - SF744_MonitorMotorRate1.input1 = Inj_Acq2.output, - SF744_MonitorMotorRate1.status_acquisition = Alloc_MonProcAcquisition, - SF744_MonitorMotorRate1.input2 = Inj_Acq1.output, - Inj_Acq1.alloc = Alloc_MonProcAcquisition, - Inj_Acq1.input = Inj_DroneDigitalNetworkPath.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF742_CompareDroneAltitude - flow - AltitudeMON:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - GroundAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - GroundAltitudeMON:Physical_BasicPhysical_HiLoPhysicalStatus:in; - VerticalSpeed:Physical_BasicPhysical_BasicPhysicalStatus:in; - VerticalSpeedMON:Physical_BasicPhysical_BasicPhysicalStatus:in; - AltitudeFailure^Detected:bool:out; - AltitudeFailure^IsErroneous:bool:out; - Alloc_MonProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneDigitalNetworkPath2:Functions_PhysicalOperators_PhysicalInjection; - Inj_DroneDigitalNetworkPath1:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_DroneDigitalNetworkPath3:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Comp4:Functions_PhysicalOperators_PhysicalInjection_boolean_Status; - SF742_GlobalCompareDroneAltitude_Status:Functions_BasicOperators_OR_3; - Inj_Comp3:Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Origin; - Inj_Comp2:Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Origin; - Inj_Comp1:Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Origin; - SF742_GlobalCompareDroneAltitude:Functions_BasicOperators_OR_3; - SF742_CompareVerticalSpeed:Functions_BasicOperators_Comparator; - Inj_Acq2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq3:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF742_CompareGroundAltitude:Functions_BasicOperators_Comparator_HiLo; - Inj_Acq1:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF742_CompareAltitude:Functions_BasicOperators_Comparator_HiLo; - assert - AltitudeFailure^Detected = Inj_Comp4.output, - AltitudeFailure^IsErroneous = Inj_Comp4.isErroneous, - Inj_DroneDigitalNetworkPath2.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath2.input = VerticalSpeed, - Inj_DroneDigitalNetworkPath1.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath1.input = Altitude, - Inj_DroneDigitalNetworkPath3.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath3.input = GroundAltitude, - Inj_Comp4.alloc = Alloc_MonProcComputation, - Inj_Comp4.input = SF742_GlobalCompareDroneAltitude.O, - Inj_Comp4.isAlreadyErroneous = SF742_GlobalCompareDroneAltitude_Status.O, - SF742_GlobalCompareDroneAltitude_Status.I1 = Inj_Comp1.isErroneous, - SF742_GlobalCompareDroneAltitude_Status.I2 = Inj_Comp2.isErroneous, - SF742_GlobalCompareDroneAltitude_Status.I3 = Inj_Comp3.isErroneous, - Inj_Comp3.alloc = Alloc_MonProcComputation, - Inj_Comp3.input = SF742_CompareGroundAltitude.output, - Inj_Comp2.alloc = Alloc_MonProcComputation, - Inj_Comp2.input = SF742_CompareVerticalSpeed.output, - Inj_Comp1.alloc = Alloc_MonProcComputation, - Inj_Comp1.input = SF742_CompareAltitude.output, - SF742_GlobalCompareDroneAltitude.I1 = Inj_Comp1.output, - SF742_GlobalCompareDroneAltitude.I2 = Inj_Comp2.output, - SF742_GlobalCompareDroneAltitude.I3 = Inj_Comp3.output, - SF742_CompareVerticalSpeed.input1 = Inj_Acq2.output, - SF742_CompareVerticalSpeed.status_acquisition = Alloc_MonProcAcquisition, - SF742_CompareVerticalSpeed.input2 = VerticalSpeedMON, - Inj_Acq2.alloc = Alloc_MonProcAcquisition, - Inj_Acq2.input = Inj_DroneDigitalNetworkPath2.output, - Inj_Acq3.alloc = Alloc_MonProcAcquisition, - Inj_Acq3.input = Inj_DroneDigitalNetworkPath3.output, - SF742_CompareGroundAltitude.input1 = Inj_Acq3.output, - SF742_CompareGroundAltitude.status_acquisition = Alloc_MonProcAcquisition, - SF742_CompareGroundAltitude.input2 = GroundAltitudeMON, - Inj_Acq1.alloc = Alloc_MonProcAcquisition, - Inj_Acq1.input = Inj_DroneDigitalNetworkPath1.output, - SF742_CompareAltitude.input1 = Inj_Acq1.output, - SF742_CompareAltitude.status_acquisition = Alloc_MonProcAcquisition, - SF742_CompareAltitude.input2 = AltitudeMON; -edon - -node eq_AIDASystem_Functions_SF421_RunFlightPlan - flow - icone:[1,2]:private; - Alloc_DroneMissionDataPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Time:Physical_BasicPhysical_BasicPhysicalStatus:in; - Position:Physical_BasicPhysical_BasicPhysicalStatus:in; - FlightPlan:Physical_BasicPhysical_BasicPhysicalStatus:in; - PositionConsign_FlightPlanPayloadControl:Physical_BasicPhysical_BasicPhysicalStatus:out; - FlightPlanProgress:Physical_BasicPhysical_BasicPhysicalStatus:out; - MissionCompleted^Signal:Functions_BasicFunctions_Presence:out; - MissionCompleted^IsErroneous:bool:out; - FlightPlanInterruption:Functions_BasicFunctions_Presence:in; - sub - Inj_DroneMissionDataPath:Functions_PhysicalOperators_PhysicalInjection; - Inj_DroneDigitalNetworkPath1:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp2:Functions_PhysicalOperators_PhysicalInjection_Presence_2_Status_Origin; - Inj_Emiss:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp1:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq3:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq1:Functions_PhysicalOperators_PhysicalInjection; - SF421_FlightPlanInterruption:Functions_BasicOperators_PerfectPresenceSelectorLOSS; - SF421_MissionCompleted:Functions_BasicFunctions_SourcePresenceFunction; - SF421_Compute:Functions_BasicFunctions_InOutFunction; - SF421_Choice:Functions_BasicOperators_Choice; - SF421_AND:Functions_BasicOperators_AND; - Inj_DroneDigitalNetworkPath2:Functions_PhysicalOperators_PhysicalInjection; - assert - icone = case { - ((SF421_Compute.status # OK) or (SF421_MissionCompleted.status = PRESENT)) : 2, - else 1 - }, - PositionConsign_FlightPlanPayloadControl = Inj_Comp1.output, - FlightPlanProgress = Inj_Emiss.output, - MissionCompleted^Signal = Inj_Comp2.output, - MissionCompleted^IsErroneous = Inj_Comp2.isErroneous, - Inj_DroneMissionDataPath.alloc = Alloc_DroneMissionDataPath, - Inj_DroneMissionDataPath.input = FlightPlan, - Inj_DroneDigitalNetworkPath1.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath1.input = Time, - Inj_Comp2.alloc = Alloc_MainProcComputation, - Inj_Comp2.input = SF421_MissionCompleted.output, - Inj_Emiss.alloc = Alloc_MainProcEmission, - Inj_Emiss.input = Inj_Comp1.output, - Inj_Comp1.alloc = Alloc_MainProcComputation, - Inj_Comp1.input = SF421_FlightPlanInterruption.output, - Inj_Acq3.alloc = Alloc_MainProcAcquisition, - Inj_Acq3.input = Inj_DroneMissionDataPath.output, - Inj_Acq2.alloc = Alloc_MainProcAcquisition, - Inj_Acq2.input = Inj_DroneDigitalNetworkPath2.output, - Inj_Acq1.alloc = Alloc_MainProcAcquisition, - Inj_Acq1.input = Inj_DroneDigitalNetworkPath1.output, - SF421_FlightPlanInterruption.input = SF421_Compute.output, - SF421_FlightPlanInterruption.condition = FlightPlanInterruption, - SF421_Compute.input = SF421_Choice.output, - SF421_Choice.input_1 = SF421_AND.output, - SF421_Choice.input_2 = Inj_Acq3.output, - SF421_AND.input_1 = Inj_Acq1.output, - SF421_AND.input_2 = Inj_Acq2.output, - Inj_DroneDigitalNetworkPath2.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath2.input = Position; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF422_RunSpeedControl - flow - icone:[1,3]:private; - PilotControlConsigns:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMissionDataPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - DroneSpeedConsign_ProgrammedPayloadControl:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - Inj_DroneMissionDataPath:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq:Functions_PhysicalOperators_PhysicalInjection; - SF422_RunSpeedControl:Functions_BasicFunctions_InOutFunction; - assert - icone = case { - (SF422_RunSpeedControl.status = LOST) : 2, - (SF422_RunSpeedControl.status = ERRONEOUS) : 3, - else 1 - }, - DroneSpeedConsign_ProgrammedPayloadControl = Inj_Comp.output, - Inj_DroneMissionDataPath.alloc = Alloc_DroneMissionDataPath, - Inj_DroneMissionDataPath.input = PilotControlConsigns, - Inj_Comp.alloc = Alloc_MainProcComputation, - Inj_Comp.input = SF422_RunSpeedControl.output, - Inj_Acq.alloc = Alloc_MainProcAcquisition, - Inj_Acq.input = Inj_DroneMissionDataPath.output, - SF422_RunSpeedControl.input = Inj_Acq.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_Alloc_SF325_ComputeAltitudeAndVerticalSpeed - flow - Altitude_WSL:Physical_BasicPhysical_HiLoPhysicalStatus:out; - VerticalSpeed_WSL:Physical_BasicPhysical_BasicPhysicalStatus:out; - VerticalSpeed:Physical_BasicPhysical_BasicPhysicalStatus:out; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - GroundAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - BarometricAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - Inj_Emiss2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp2:Functions_PhysicalOperators_PhysicalInjection; - SF325_Dysfunctional:Functions_BasicFunctions_InOutFunction_Hilo_SF325; - Inj_Emiss1:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Comp1:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF325_AllNeeded:Functions_BasicOperators_AND_fullHiLo; - assert - Altitude_WSL = Inj_Emiss1.output, - VerticalSpeed_WSL = Inj_Emiss2.output, - VerticalSpeed = Inj_Comp2.output, - Altitude = Inj_Comp1.output, - Inj_Emiss2.alloc = Alloc_MainProcEmission, - Inj_Emiss2.input = Inj_Comp2.output, - Inj_Comp2.alloc = Alloc_MainProcComputation, - Inj_Comp2.input = SF325_Dysfunctional.output_2, - SF325_Dysfunctional.input = SF325_AllNeeded.output, - Inj_Emiss1.alloc = Alloc_MainProcEmission, - Inj_Emiss1.input = Inj_Comp1.output, - Inj_Comp1.alloc = Alloc_MainProcComputation, - Inj_Comp1.input = SF325_Dysfunctional.output_1, - SF325_AllNeeded.input_1 = GroundAltitude, - SF325_AllNeeded.input_2 = BarometricAltitude; -edon - -node eq_AIDASystem_FunctionsWithPhysical_Alloc_SF324_ComputeGroundAltitude - flow - GroundAltitude_WSL:Physical_BasicPhysical_HiLoPhysicalStatus:out; - GroundAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - MeasuredGroundDistance:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - Inj_DroneDigitalNetworkPath:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Emiss:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF324_NeedAll:Functions_BasicOperators_AND_complexHiLo; - SF324_Dysfunctional:Functions_BasicFunctions_InOutFunction_HiLo; - Inj_Acq:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - assert - GroundAltitude_WSL = Inj_Emiss.output, - GroundAltitude = Inj_Comp.output, - Inj_DroneDigitalNetworkPath.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath.input = MeasuredGroundDistance, - Inj_Emiss.alloc = Alloc_MainProcEmission, - Inj_Emiss.input = Inj_Comp.output, - Inj_Comp.alloc = Alloc_MainProcComputation, - Inj_Comp.input = SF324_Dysfunctional.output, - SF324_NeedAll.input_1 = Attitude, - SF324_NeedAll.input_2 = Inj_Acq.output, - SF324_Dysfunctional.input = SF324_NeedAll.output, - Inj_Acq.alloc = Alloc_MainProcAcquisition, - Inj_Acq.input = Inj_DroneDigitalNetworkPath.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_Alloc_SF323_MeasureTelemetricSignal - flow - GroundDistance:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_TelemetricSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - Inj_TelemetricSensor:Functions_PhysicalOperators_PhysicalInjection_HiLo; - SF323_Dysfunctional:Functions_BasicFunctions_SourceFunction; - assert - GroundDistance = Inj_TelemetricSensor.output, - Inj_TelemetricSensor.alloc = Alloc_TelemetricSensor, - Inj_TelemetricSensor.input = SF323_Dysfunctional.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_Alloc_SF321_MeasureAmbiantPressure - flow - Pressure:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_PressureSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - Inj_PressureSensor:Functions_PhysicalOperators_PhysicalInjection_HiLo; - SF321_Dysfunctional:Functions_BasicFunctions_SourceFunction; - assert - Pressure = Inj_PressureSensor.output, - Inj_PressureSensor.alloc = Alloc_PressureSensor, - Inj_PressureSensor.input = SF321_Dysfunctional.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_Alloc_SF322_ComputeBarometricAltitude - flow - BarometricAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - MeasuredPressure:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - Inj_DroneDigitalNetworkPath:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF322_Dysfunctional:Functions_BasicFunctions_InOutFunction_HiLoReverse; - Inj_Acq:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - assert - BarometricAltitude = Inj_Comp.output, - Inj_DroneDigitalNetworkPath.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath.input = MeasuredPressure, - Inj_Comp.alloc = Alloc_MainProcComputation, - Inj_Comp.input = SF322_Dysfunctional.output, - SF322_Dysfunctional.input = Inj_Acq.output, - Inj_Acq.alloc = Alloc_MainProcAcquisition, - Inj_Acq.input = Inj_DroneDigitalNetworkPath.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_Alloc_SF331_FilmGround - flow - VideoFlux:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_LateralSpeedCamera:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_LateralSpeedCamera:Functions_PhysicalOperators_PhysicalInjection; - SF331_Dysfunctional:Functions_BasicFunctions_SourceFunction; - assert - VideoFlux = Inj_LateralSpeedCamera.output, - Inj_LateralSpeedCamera.alloc = Alloc_LateralSpeedCamera, - Inj_LateralSpeedCamera.input = SF331_Dysfunctional.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_Alloc_SF332_ComputeGroundSpeed - flow - GroundAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - VideoFlux:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - GroundSpeed:Physical_BasicPhysical_HiLoPhysicalStatus:out; - sub - Inj_DroneDigitalNetworkPath2:Functions_PhysicalOperators_PhysicalInjection; - Inj_DroneDigitalNetworkPath1:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Emiss:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF332_Dysfunctional:Functions_BasicFunctions_InOutFunction_HiLo; - SF332_AllNeeded:Functions_BasicOperators_AND_complexHiLo; - Inj_Acq2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq1:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - assert - GroundSpeed = Inj_Emiss.output, - Inj_DroneDigitalNetworkPath2.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath2.input = VideoFlux, - Inj_DroneDigitalNetworkPath1.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath1.input = GroundAltitude, - Inj_Emiss.alloc = Alloc_VideoProcEmission, - Inj_Emiss.input = Inj_Comp.output, - Inj_Comp.alloc = Alloc_VideoProcComputation, - Inj_Comp.input = SF332_Dysfunctional.output, - SF332_Dysfunctional.input = SF332_AllNeeded.output, - SF332_AllNeeded.input_1 = Inj_Acq2.output, - SF332_AllNeeded.input_2 = Inj_Acq1.output, - Inj_Acq2.alloc = Alloc_VideoProcAcquisition, - Inj_Acq2.input = Inj_DroneDigitalNetworkPath2.output, - Inj_Acq1.alloc = Alloc_VideoProcAcquisition, - Inj_Acq1.input = Inj_DroneDigitalNetworkPath1.output; -edon - -node eq_AIDASystem_Physical_Path_PilotPayloadControl - flow - RemoteCommunication:Physical_BasicPhysical_BasicPhysicalStatus:in; - RadioController:Physical_BasicPhysical_BasicPhysicalStatus:in; - MainDigitalNetwork:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_PilotPayloadControlPath:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - AND_Physical_disymetric2:Functions_PhysicalOperators_AND_Physical_disymetric; - AND_Physical_disymetric1:Functions_PhysicalOperators_AND_Physical_disymetric; - assert - Alloc_PilotPayloadControlPath = AND_Physical_disymetric2.output, - AND_Physical_disymetric2.minorInput = AND_Physical_disymetric1.output, - AND_Physical_disymetric2.majorInput = MainDigitalNetwork, - AND_Physical_disymetric1.minorInput = RemoteCommunication, - AND_Physical_disymetric1.majorInput = RadioController; -edon - -node eq_AIDASystem_Physical_Path_DronePhotosAndVideos - flow - WifiController:Physical_BasicPhysical_BasicPhysicalStatus:in; - MainDigitalNetwork:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DronePhotosAndVideosPath:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - AND_Physical_disymetric1:Functions_PhysicalOperators_AND_Physical_disymetric; - assert - Alloc_DronePhotosAndVideosPath = AND_Physical_disymetric1.output, - AND_Physical_disymetric1.minorInput = MainDigitalNetwork, - AND_Physical_disymetric1.majorInput = WifiController; -edon - -node eq_AIDASystem_Physical_Path_DroneMissionData - flow - MainDigitalNetwork:Physical_BasicPhysical_BasicPhysicalStatus:in; - WifiController_transmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - WifiController_reception:Physical_BasicPhysical_BasicPhysicalStatus:in; - DroneMissionDataPath_ControlDesk2Drone:Physical_BasicPhysical_BasicPhysicalStatus:out; - DroneMissionDataPath_Drone2ControlDesk:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - AND_Physical_disymetric2:Functions_PhysicalOperators_AND_Physical_disymetric; - AND_Physical_disymetric1:Functions_PhysicalOperators_AND_Physical_disymetric; - assert - DroneMissionDataPath_ControlDesk2Drone = AND_Physical_disymetric1.output, - DroneMissionDataPath_Drone2ControlDesk = AND_Physical_disymetric2.output, - AND_Physical_disymetric2.minorInput = MainDigitalNetwork, - AND_Physical_disymetric2.majorInput = WifiController_transmission, - AND_Physical_disymetric1.minorInput = WifiController_reception, - AND_Physical_disymetric1.majorInput = MainDigitalNetwork; -edon - -node eq_AIDASystem_Physical_Path_PilotDroneControl - flow - RemoteCommunication:Physical_BasicPhysical_BasicPhysicalStatus:in; - RadioController:Physical_BasicPhysical_BasicPhysicalStatus:in; - MainDigitalNetwork:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_PilotDroneControlPath:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - AND_Physical_disymetric2:Functions_PhysicalOperators_AND_Physical_disymetric; - AND_Physical_disymetric1:Functions_PhysicalOperators_AND_Physical_disymetric; - assert - Alloc_PilotDroneControlPath = AND_Physical_disymetric2.output, - AND_Physical_disymetric2.minorInput = AND_Physical_disymetric1.output, - AND_Physical_disymetric2.majorInput = MainDigitalNetwork, - AND_Physical_disymetric1.minorInput = RemoteCommunication, - AND_Physical_disymetric1.majorInput = RadioController; -edon - -node eq_AIDASystem_Physical_RemoteControlInterface - flow - Alloc_PushButton:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_CameraControlDevice:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_LeftAndRightSideSticks:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - CameraControlDevice:Components_RemoteControl_RemoteControlInterface; - PushButton:Components_RemoteControl_RemoteControlInterface; - LeftAndRightSideSticks:Components_RemoteControl_RemoteControlInterface; - assert - Alloc_PushButton = PushButton.output, - Alloc_CameraControlDevice = CameraControlDevice.output, - Alloc_LeftAndRightSideSticks = LeftAndRightSideSticks.output; -edon - -node eq_AIDASystem_Physical_MainProcessor - flow - oProcessor^Acquisition:Physical_BasicPhysical_BasicPhysicalStatus:out; - oProcessor^Emission:Physical_BasicPhysical_BasicPhysicalStatus:out; - oProcessor^Computation:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - PowerSupplyMonitoring:Components_Sensors_PowerSupplyMonitoring; - Computation:Components_Computers_Computation; - Acquisition:Components_Computers_AcquisitionEmission; - Emission:Components_Computers_AcquisitionEmission; - assert - oProcessor^Acquisition = Acquisition.output, - oProcessor^Emission = Emission.output, - oProcessor^Computation = Computation.output, - PowerSupplyMonitoring.Power = Power, - Computation.Power = PowerSupplyMonitoring.MonitoredPower, - Acquisition.Power = PowerSupplyMonitoring.MonitoredPower, - Emission.Power = PowerSupplyMonitoring.MonitoredPower; -edon - -node eq_AIDASystem_Functions_SF64_DisplayDroneFollowUpData - flow - icone:[1,2]:private; - iControlMode^Mode:Functions_BasicFunctions_ModeSelection:in; - iControlMode^IsErroneous:bool:in; - iFlightPlanProgress:Physical_BasicPhysical_BasicPhysicalStatus:in; - oControlMode:Functions_BasicFunctions_ModeSelection:out; - oFlightPlanProgress:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_DroneMissionDataPath_Drone2ControlDesk2:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneControlDesk_reception:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneMissionDataPath_Drone2ControlDesk2:Functions_PhysicalOperators_PhysicalInjection; - Inj_DroneMissionDataPath_Drone2ControlDesk1:Functions_PhysicalOperators_PhysicalInjection_ModeSelection_Status; - Inj_DroneControlDesk_reception1:Functions_PhysicalOperators_PhysicalInjection_ModeSelection_Status; - Inj_DroneControlDesk_reception2:Functions_PhysicalOperators_PhysicalInjection; - SF64_FlightPlanProgress:Functions_BasicFunctions_InOutFunction; - SF64_ControlMode:Functions_BasicFunctions_InOutModeFunction; - assert - icone = case { - ((SF64_ControlMode.status # OK) or (SF64_FlightPlanProgress.status # OK)) : 2, - else 1 - }, - oControlMode = Inj_DroneControlDesk_reception1.output, - oFlightPlanProgress = Inj_DroneControlDesk_reception2.output, - Inj_DroneMissionDataPath_Drone2ControlDesk2.alloc = Alloc_DroneMissionDataPath_Drone2ControlDesk2, - Inj_DroneMissionDataPath_Drone2ControlDesk2.input = iFlightPlanProgress, - Inj_DroneMissionDataPath_Drone2ControlDesk1.alloc = Alloc_DroneMissionDataPath_Drone2ControlDesk2, - Inj_DroneMissionDataPath_Drone2ControlDesk1.isAlreadyErroneous = iControlMode^IsErroneous, - Inj_DroneMissionDataPath_Drone2ControlDesk1.input = iControlMode^Mode, - Inj_DroneControlDesk_reception1.alloc = Alloc_DroneControlDesk_reception, - Inj_DroneControlDesk_reception1.isAlreadyErroneous = Inj_DroneMissionDataPath_Drone2ControlDesk1.isErroneous, - Inj_DroneControlDesk_reception1.input = SF64_ControlMode.outputMode, - Inj_DroneControlDesk_reception2.alloc = Alloc_DroneControlDesk_reception, - Inj_DroneControlDesk_reception2.input = SF64_FlightPlanProgress.output, - SF64_FlightPlanProgress.input = Inj_DroneMissionDataPath_Drone2ControlDesk2.output, - SF64_ControlMode.inputMode = Inj_DroneMissionDataPath_Drone2ControlDesk1.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF72_ComputeAltitudeMON - flow - icone:[1,2]:private; - Alloc_MonProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_TelemetricSensorMON:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_PressureSensorMON:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_DroneMonitoringDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - GroundAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:out; - VerticalSpeed:Physical_BasicPhysical_BasicPhysicalStatus:out; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - SF725_ComputeAltitudeAndVerticalSpeedMON:eq_AIDASystem_FunctionsWithPhysical_forInj_SF725_ComputeAltitudeAndVerticalSpeedMON; - SF724_ComputeGroundAltitudeMON:eq_AIDASystem_FunctionsWithPhysical_forInj_SF724_ComputeGroundAltitudeMON; - SF723_MeasureTelemetricSignalMON:eq_AIDASystem_FunctionsWithPhysical_Alloc_SF723_MeasureTelemetricSignalMON; - SF721_MeasureAmbiantPressureMON:eq_AIDASystem_FunctionsWithPhysical_forInj_SF721_MeasureAmbiantPressureMON; - SF722_ComputeBarometricAltitudeMON:eq_AIDASystem_FunctionsWithPhysical_forInj_SF722_ComputeBarometricAltitudeMON; - assert - icone = case { - (((((SF721_MeasureAmbiantPressureMON.SF721_Dysfunctional.status # OK) or (SF722_ComputeBarometricAltitudeMON.SF722_Dysfunctional.status # OK)) or (SF723_MeasureTelemetricSignalMON.SF723_Dysfunctional.status # OK)) or (SF724_ComputeGroundAltitudeMON.SF724_Dysfunctional.status # OK)) or (SF725_ComputeAltitudeAndVerticalSpeedMON.SF725_Dysfunctional.status # OK)) : 2, - else 1 - }, - GroundAltitude = SF724_ComputeGroundAltitudeMON.GroundAltitude, - VerticalSpeed = SF725_ComputeAltitudeAndVerticalSpeedMON.VerticalSpeed, - Altitude = SF725_ComputeAltitudeAndVerticalSpeedMON.Altitude, - SF725_ComputeAltitudeAndVerticalSpeedMON.Alloc_MonProcComputation = Alloc_MonProcComputation, - SF725_ComputeAltitudeAndVerticalSpeedMON.GroundAltitude = SF724_ComputeGroundAltitudeMON.GroundAltitude, - SF725_ComputeAltitudeAndVerticalSpeedMON.BarometricAltitude = SF722_ComputeBarometricAltitudeMON.BarometricAltitude, - SF724_ComputeGroundAltitudeMON.Alloc_MonProcComputation = Alloc_MonProcComputation, - SF724_ComputeGroundAltitudeMON.Alloc_DroneMonitoringDigitalNetworkPath = Alloc_DroneMonitoringDigitalNetworkPath, - SF724_ComputeGroundAltitudeMON.Alloc_MonProcAcquisition = Alloc_MonProcAcquisition, - SF724_ComputeGroundAltitudeMON.Attitude = Attitude, - SF724_ComputeGroundAltitudeMON.MeasuredGroundDistance = SF723_MeasureTelemetricSignalMON.GroundDistance, - SF723_MeasureTelemetricSignalMON.Alloc_TelemetricSensorMON = Alloc_TelemetricSensorMON, - SF721_MeasureAmbiantPressureMON.Alloc_PressureSensorMON = Alloc_PressureSensorMON, - SF722_ComputeBarometricAltitudeMON.Alloc_MonProcComputation = Alloc_MonProcComputation, - SF722_ComputeBarometricAltitudeMON.Alloc_DroneMonitoringDigitalNetworkPath = Alloc_DroneMonitoringDigitalNetworkPath, - SF722_ComputeBarometricAltitudeMON.Alloc_MonProcAcquisition = Alloc_MonProcAcquisition, - SF722_ComputeBarometricAltitudeMON.MeasuredPressure = SF721_MeasureAmbiantPressureMON.Pressure; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF71_ComputeAttitudeMON - flow - icone:[1,3]:private; - Alloc_MonProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_IRSMON:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MagnetometerMON:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMonitoringDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - Inj_Acq:Functions_PhysicalOperators_PhysicalInjection; - Inj_DroneMonitoringDigitalNetworkPath:Functions_PhysicalOperators_PhysicalInjection; - Inj_Sensors:Functions_PhysicalOperators_PhysicalInjection; - PhyAdd_AND:Functions_PhysicalOperators_AND_Physical; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection; - SF71_Dysfunctional:Functions_BasicFunctions_SourceFunction; - assert - icone = case { - (SF71_Dysfunctional.status = LOST) : 2, - (SF71_Dysfunctional.status = ERRONEOUS) : 3, - else 1 - }, - Attitude = Inj_Comp.output, - Inj_Acq.alloc = Alloc_MonProcAcquisition, - Inj_Acq.input = Inj_DroneMonitoringDigitalNetworkPath.output, - Inj_DroneMonitoringDigitalNetworkPath.alloc = Alloc_DroneMonitoringDigitalNetworkPath, - Inj_DroneMonitoringDigitalNetworkPath.input = Inj_Sensors.output, - Inj_Sensors.alloc = PhyAdd_AND.output, - Inj_Sensors.input = SF71_Dysfunctional.output, - PhyAdd_AND.input_1 = Alloc_IRSMON, - PhyAdd_AND.input_2 = Alloc_MagnetometerMON, - Inj_Comp.alloc = Alloc_MonProcComputation, - Inj_Comp.input = Inj_Acq.output; -edon - -node eq_AIDASystem_Functions_SF73_ControlAttitudeAndAltitudeMON - flow - icone:[1,2]:private; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - YawConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - PitchRollConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - AltitudeConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - AttitudeAPConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - AltitudeAPConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - APEngagement^Mode:Functions_BasicFunctions_ModeSelection:in; - APEngagement^IsErroneous:bool:in; - MotorRate:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_PilotDroneControlPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - SF731_2_ControlAltitudeMON:eq_AIDASystem_FunctionsWithPhysical_forInj_SF731_2_ControlAltitudeMON; - SF733_6_ControlAttitudeMON:eq_AIDASystem_FunctionsWithPhysical_forInj_SF733_6_ControlAttitudeMON; - SF737_8_ComputeMotorRate:eq_AIDASystem_FunctionsWithPhysical_forInj_SF737_8_ComputeMotorRate; - assert - icone = case { - (((SF733_6_ControlAttitudeMON.SF734_6_ControlAttitudeMON.status = OK) and (SF731_2_ControlAltitudeMON.SF731_ComputeThrustMON.status = OK)) and (SF737_8_ComputeMotorRate.SF737_8_ControlThrust.status = OK)) : 1, - else 2 - }, - MotorRate = SF737_8_ComputeMotorRate.MotorRates, - SF731_2_ControlAltitudeMON.Altitude = Altitude, - SF731_2_ControlAltitudeMON.Attitude = Attitude, - SF731_2_ControlAltitudeMON.AltitudeConsign = AltitudeConsign, - SF731_2_ControlAltitudeMON.T_AP = AltitudeAPConsign, - SF731_2_ControlAltitudeMON.APEngagement^Mode = APEngagement^Mode, - SF731_2_ControlAltitudeMON.APEngagement^IsErroneous = APEngagement^IsErroneous, - SF731_2_ControlAltitudeMON.Alloc_MonProcComputation = Alloc_MonProcComputation, - SF731_2_ControlAltitudeMON.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF731_2_ControlAltitudeMON.Alloc_MonProcAcquisition = Alloc_MonProcAcquisition, - SF733_6_ControlAttitudeMON.Attitude = Attitude, - SF733_6_ControlAttitudeMON.AttitudeAPConsign = AttitudeAPConsign, - SF733_6_ControlAttitudeMON.PitchRollConsign = PitchRollConsign, - SF733_6_ControlAttitudeMON.YawConsign = YawConsign, - SF733_6_ControlAttitudeMON.APEngagement^Mode = APEngagement^Mode, - SF733_6_ControlAttitudeMON.APEngagement^IsErroneous = APEngagement^IsErroneous, - SF733_6_ControlAttitudeMON.Alloc_MonProcComputation = Alloc_MonProcComputation, - SF733_6_ControlAttitudeMON.Alloc_PilotDroneControlPath = Alloc_PilotDroneControlPath, - SF733_6_ControlAttitudeMON.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF733_6_ControlAttitudeMON.Alloc_MonProcAcquisition = Alloc_MonProcAcquisition, - SF737_8_ComputeMotorRate.Thrust = SF731_2_ControlAltitudeMON.T, - SF737_8_ComputeMotorRate.P = SF733_6_ControlAttitudeMON.P, - SF737_8_ComputeMotorRate.Alloc_MonProcComputation = Alloc_MonProcComputation; -edon - -node eq_AIDASystem_Functions_SF74_MonitorParameters - flow - icone:[1,2]:private; - Alloc_MonProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - MotorRateMON:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRate:Physical_BasicPhysical_HiLoPhysicalStatus:in; - GroundAltitudeMON:Physical_BasicPhysical_HiLoPhysicalStatus:in; - GroundAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - AltitudeMON:Physical_BasicPhysical_HiLoPhysicalStatus:in; - VerticalSpeedMON:Physical_BasicPhysical_BasicPhysicalStatus:in; - VerticalSpeed:Physical_BasicPhysical_BasicPhysicalStatus:in; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - AttitudeMON:Physical_BasicPhysical_BasicPhysicalStatus:in; - MotorRateMeasured^MotorRate1:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRateMeasured^MotorRate2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRateMeasured^MotorRate3:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRateMeasured^MotorRate4:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorsDisabled^Motor1:bool:out; - MotorsDisabled^IsErroneous1:bool:out; - MotorsDisabled^Motor2:bool:out; - MotorsDisabled^IsErroneous2:bool:out; - MotorsDisabled^Motor3:bool:out; - MotorsDisabled^IsErroneous3:bool:out; - MotorsDisabled^Motor4:bool:out; - MotorsDisabled^IsErroneous4:bool:out; - Alloc_MonProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMonitoringDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneDigitalNetworkPath2:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_DroneDigitalNetworkPath1:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp2:Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Origin; - Inj_Comp1:Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Origin; - Inj_Acq2:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF743_CompareMotorConsign:Functions_BasicOperators_Comparator_HiLo; - Inj_Acq1:Functions_PhysicalOperators_PhysicalInjection; - SF745_DisableDroneMotor:eq_AIDASystem_Functions_SF745_DisableDroneMotor; - SF744_MonitorMotorRate:eq_AIDASystem_Functions_SF744_CompareDroneMotorRate; - SF741_CompareAttitude:Functions_BasicOperators_Comparator; - SF742_CompareDroneAltitude:eq_AIDASystem_FunctionsWithPhysical_forInj_SF742_CompareDroneAltitude; - assert - icone = case { - (SF745_DisableDroneMotor.FailureModesOfSF74.status = OK) : 1, - else 2 - }, - MotorsDisabled^Motor1 = SF745_DisableDroneMotor.MotorDisabled^Motor1, - MotorsDisabled^IsErroneous1 = SF745_DisableDroneMotor.MotorDisabled^IsErroneous1, - MotorsDisabled^Motor2 = SF745_DisableDroneMotor.MotorDisabled^Motor2, - MotorsDisabled^IsErroneous2 = SF745_DisableDroneMotor.MotorDisabled^IsErroneous2, - MotorsDisabled^Motor3 = SF745_DisableDroneMotor.MotorDisabled^Motor3, - MotorsDisabled^IsErroneous3 = SF745_DisableDroneMotor.MotorDisabled^IsErroneous3, - MotorsDisabled^Motor4 = SF745_DisableDroneMotor.MotorDisabled^Motor4, - MotorsDisabled^IsErroneous4 = SF745_DisableDroneMotor.MotorDisabled^IsErroneous4, - Inj_DroneDigitalNetworkPath2.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath2.input = MotorRate, - Inj_DroneDigitalNetworkPath1.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath1.input = Attitude, - Inj_Comp2.alloc = Alloc_MonProcComputation, - Inj_Comp2.input = SF743_CompareMotorConsign.output, - Inj_Comp1.alloc = Alloc_MonProcComputation, - Inj_Comp1.input = SF741_CompareAttitude.output, - Inj_Acq2.alloc = Alloc_MonProcAcquisition, - Inj_Acq2.input = Inj_DroneDigitalNetworkPath2.output, - SF743_CompareMotorConsign.input1 = Inj_Acq2.output, - SF743_CompareMotorConsign.status_acquisition = Alloc_MonProcAcquisition, - SF743_CompareMotorConsign.input2 = MotorRateMON, - Inj_Acq1.alloc = Alloc_MonProcAcquisition, - Inj_Acq1.input = Inj_DroneDigitalNetworkPath1.output, - SF745_DisableDroneMotor.Motor1Runaway^Detected = SF744_MonitorMotorRate.Motor1Runaway^Detected, - SF745_DisableDroneMotor.Motor1Runaway^IsErroneous = SF744_MonitorMotorRate.Motor1Runaway^IsErroneous, - SF745_DisableDroneMotor.Motor2Runaway^Detected = SF744_MonitorMotorRate.Motor2Runaway^Detected, - SF745_DisableDroneMotor.Motor2Runaway^IsErroneous = SF744_MonitorMotorRate.Motor2Runaway^IsErroneous, - SF745_DisableDroneMotor.Motor3Runaway^Detected = SF744_MonitorMotorRate.Motor3Runaway^Detected, - SF745_DisableDroneMotor.Motor3Runaway^IsErroneous = SF744_MonitorMotorRate.Motor3Runaway^IsErroneous, - SF745_DisableDroneMotor.Motor4Runaway^Detected = SF744_MonitorMotorRate.Motor4Runaway^Detected, - SF745_DisableDroneMotor.Motor4Runaway^IsErroneous = SF744_MonitorMotorRate.Motor4Runaway^IsErroneous, - SF745_DisableDroneMotor.AttitudeFailureDetected^Detected = Inj_Comp1.output, - SF745_DisableDroneMotor.AttitudeFailureDetected^IsErroneous = Inj_Comp1.isErroneous, - SF745_DisableDroneMotor.AltitudeFailureDetected^Detected = SF742_CompareDroneAltitude.AltitudeFailure^Detected, - SF745_DisableDroneMotor.AltitudeFailureDetected^IsErroneous = SF742_CompareDroneAltitude.AltitudeFailure^IsErroneous, - SF745_DisableDroneMotor.MotorConsignFailureDetected^Detected = Inj_Comp2.output, - SF745_DisableDroneMotor.MotorConsignFailureDetected^IsErroneous = Inj_Comp2.isErroneous, - SF745_DisableDroneMotor.Alloc_MonProcComputation = Alloc_MonProcComputation, - SF745_DisableDroneMotor.Alloc_MonProcEmission = Alloc_MonProcEmission, - SF744_MonitorMotorRate.MotorRatesMeasured^MotorRate1 = MotorRateMeasured^MotorRate1, - SF744_MonitorMotorRate.MotorRatesMeasured^MotorRate2 = MotorRateMeasured^MotorRate2, - SF744_MonitorMotorRate.MotorRatesMeasured^MotorRate3 = MotorRateMeasured^MotorRate3, - SF744_MonitorMotorRate.MotorRatesMeasured^MotorRate4 = MotorRateMeasured^MotorRate4, - SF744_MonitorMotorRate.Alloc_MonProcComputation = Alloc_MonProcComputation, - SF744_MonitorMotorRate.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF744_MonitorMotorRate.Alloc_DroneMonitoringDigitalNetworkPath = Alloc_DroneMonitoringDigitalNetworkPath, - SF744_MonitorMotorRate.Alloc_MonProcAcquisition = Alloc_MonProcAcquisition, - SF744_MonitorMotorRate.MotorRate = MotorRate, - SF741_CompareAttitude.input1 = Inj_Acq1.output, - SF741_CompareAttitude.status_acquisition = Alloc_MonProcAcquisition, - SF741_CompareAttitude.input2 = AttitudeMON, - SF742_CompareDroneAltitude.AltitudeMON = AltitudeMON, - SF742_CompareDroneAltitude.Altitude = Altitude, - SF742_CompareDroneAltitude.GroundAltitude = GroundAltitude, - SF742_CompareDroneAltitude.GroundAltitudeMON = GroundAltitudeMON, - SF742_CompareDroneAltitude.VerticalSpeed = VerticalSpeed, - SF742_CompareDroneAltitude.VerticalSpeedMON = VerticalSpeedMON, - SF742_CompareDroneAltitude.Alloc_MonProcAcquisition = Alloc_MonProcAcquisition, - SF742_CompareDroneAltitude.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF742_CompareDroneAltitude.Alloc_MonProcComputation = Alloc_MonProcComputation; -edon - -node eq_AIDASystem_FunctionsWithPhysical_ForInj_SF51_SelectCameraControl - flow - AutomaticPayloadControl:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_PilotPayloadControlPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - ManualPayloadControl^Signal:Functions_BasicFunctions_Presence:in; - ManualPayloadControl^IsErroneous:bool:in; - FileStorageFormat:Physical_BasicPhysical_BasicPhysicalStatus:out; - CameraPositionConsign_PhotoAndVideoControl:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - Inj_PilotPayloadControlPath:Functions_PhysicalOperators_PhysicalInjection_Presence_Status; - Inj_DroneDigitalNetworkPath1:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp1:Functions_PhysicalOperators_PhysicalInjection; - Inj_Emiss1:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq2:Functions_PhysicalOperators_PhysicalInjection_Presence_Status; - Inj_Acq1:Functions_PhysicalOperators_PhysicalInjection; - SF51_Switch:Functions_BasicOperators_PerfectPresenceSelectorOK; - assert - FileStorageFormat = SF51_Switch.output, - CameraPositionConsign_PhotoAndVideoControl = Inj_Emiss1.output, - Inj_PilotPayloadControlPath.alloc = Alloc_PilotPayloadControlPath, - Inj_PilotPayloadControlPath.isAlreadyErroneous = ManualPayloadControl^IsErroneous, - Inj_PilotPayloadControlPath.input = ManualPayloadControl^Signal, - Inj_DroneDigitalNetworkPath1.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath1.input = AutomaticPayloadControl, - Inj_Comp1.alloc = Alloc_VideoProcComputation, - Inj_Comp1.input = SF51_Switch.output, - Inj_Emiss1.alloc = Alloc_VideoProcEmission, - Inj_Emiss1.input = Inj_Comp1.output, - Inj_Acq2.alloc = Alloc_VideoProcAcquisition, - Inj_Acq2.isAlreadyErroneous = Inj_PilotPayloadControlPath.isErroneous, - Inj_Acq2.input = Inj_PilotPayloadControlPath.output, - Inj_Acq1.alloc = Alloc_VideoProcAcquisition, - Inj_Acq1.input = Inj_DroneDigitalNetworkPath1.output, - SF51_Switch.input = Inj_Acq1.output, - SF51_Switch.condition = Inj_Acq2.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_ForInj_SF55_AcquireManualPayloadControl - flow - icone:[1,2]:private; - iManualPayloadControl:Functions_BasicFunctions_Presence:in; - Alloc_CameraControlDevice:Physical_BasicPhysical_BasicPhysicalStatus:in; - oManualPayloadControl^Signal:Functions_BasicFunctions_Presence:out; - oManualPayloadControl^IsErroneous:bool:out; - sub - Inj_CameraControlDevice:Functions_PhysicalOperators_PhysicalInjection_Presence_Status_Origin; - SF55_Dysfunctional:Functions_BasicFunctions_AbsentPresentFunction; - assert - icone = case { - (SF55_Dysfunctional.status = LOST) : 2, - else 1 - }, - oManualPayloadControl^Signal = Inj_CameraControlDevice.output, - oManualPayloadControl^IsErroneous = Inj_CameraControlDevice.isErroneous, - Inj_CameraControlDevice.alloc = Alloc_CameraControlDevice, - Inj_CameraControlDevice.input = SF55_Dysfunctional.output, - SF55_Dysfunctional.input = iManualPayloadControl; -edon - -node eq_AIDASystem_FunctionsWithPhysical_ForInj_SF52_ControlCameraOrientation - flow - icone:[1,3]:private; - CameraPositionConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_CameraRotarySupport:Physical_BasicPhysical_BasicPhysicalStatus:in; - CameraPosition:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - Inj_DroneDigitalNetworkPath:Functions_PhysicalOperators_PhysicalInjection; - Inj_CameraRotarySupport:Functions_PhysicalOperators_PhysicalInjection; - SF52_Dysfunctional:Functions_BasicFunctions_InOutFunction; - assert - icone = case { - (SF52_Dysfunctional.status = LOST) : 2, - (SF52_Dysfunctional.status = ERRONEOUS) : 3, - else 1 - }, - CameraPosition = Inj_CameraRotarySupport.output, - Inj_DroneDigitalNetworkPath.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath.input = CameraPositionConsign, - Inj_CameraRotarySupport.alloc = Alloc_CameraRotarySupport, - Inj_CameraRotarySupport.input = SF52_Dysfunctional.output, - SF52_Dysfunctional.input = Inj_DroneDigitalNetworkPath.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_ForInj_SF53_MakePhotosAndVideos - flow - icone:[1,3]:private; - CameraPosition:Physical_BasicPhysical_BasicPhysicalStatus:in; - PhotoAndVideoControl:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_CameraSensor:Physical_BasicPhysical_BasicPhysicalStatus:in; - Video_Photo:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - Inj_DroneDigitalNetworkPath:Functions_PhysicalOperators_PhysicalInjection; - Inj_CameraSensor:Functions_PhysicalOperators_PhysicalInjection; - SF53_Dysfunctional:Functions_BasicFunctions_InOutFunction; - SF53_NeedAll:Functions_BasicOperators_AND; - assert - icone = case { - (SF53_Dysfunctional.status = LOST) : 2, - (SF53_Dysfunctional.status = ERRONEOUS) : 3, - else 1 - }, - Video_Photo = Inj_CameraSensor.output, - Inj_DroneDigitalNetworkPath.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath.input = PhotoAndVideoControl, - Inj_CameraSensor.alloc = Alloc_CameraSensor, - Inj_CameraSensor.input = SF53_Dysfunctional.output, - SF53_Dysfunctional.input = SF53_NeedAll.output, - SF53_NeedAll.input_1 = CameraPosition, - SF53_NeedAll.input_2 = Inj_DroneDigitalNetworkPath.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_ForInj_SF54_DigitisePhotosAndVideos - flow - icone:[1,3]:private; - Video_Photo:Physical_BasicPhysical_BasicPhysicalStatus:in; - FileStorageFormat:Physical_BasicPhysical_BasicPhysicalStatus:in; - PhotosAndVideoFiles:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_VideoProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneDigitalNetworkPath:Functions_PhysicalOperators_PhysicalInjection; - Inj_Emiss3:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp2:Functions_PhysicalOperators_PhysicalInjection; - SF54_Dysfunctional:Functions_BasicFunctions_InOutFunction; - SF54_NeedAll:Functions_BasicOperators_AND; - Inj_Acq3:Functions_PhysicalOperators_PhysicalInjection; - assert - icone = case { - (SF54_Dysfunctional.status = LOST) : 2, - (SF54_Dysfunctional.status = ERRONEOUS) : 3, - else 1 - }, - PhotosAndVideoFiles = Inj_Emiss3.output, - Inj_DroneDigitalNetworkPath.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath.input = Video_Photo, - Inj_Emiss3.alloc = Alloc_VideoProcEmission, - Inj_Emiss3.input = Inj_Comp2.output, - Inj_Comp2.alloc = Alloc_VideoProcComputation, - Inj_Comp2.input = SF54_Dysfunctional.output, - SF54_Dysfunctional.input = SF54_NeedAll.output, - SF54_NeedAll.input_1 = Inj_Acq3.output, - SF54_NeedAll.input_2 = FileStorageFormat, - Inj_Acq3.alloc = Alloc_VideoProcAcquisition, - Inj_Acq3.input = Inj_DroneDigitalNetworkPath.output; -edon - -node eq_AIDASystem_Functions_SF42_RunAutomaticControl - flow - FlightPlan:Physical_BasicPhysical_BasicPhysicalStatus:in; - Position:Physical_BasicPhysical_BasicPhysicalStatus:in; - FlightPlanProgress:Physical_BasicPhysical_BasicPhysicalStatus:out; - AutomaticPayloadControl:Physical_BasicPhysical_BasicPhysicalStatus:out; - SpeedConsign:Physical_BasicPhysical_BasicPhysicalStatus:out; - PositionConsign:Physical_BasicPhysical_BasicPhysicalStatus:out; - PilotControlConsigns:Physical_BasicPhysical_BasicPhysicalStatus:in; - Time:Physical_BasicPhysical_BasicPhysicalStatus:in; - FlightPlanInterruption:Functions_BasicFunctions_Presence:in; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMissionDataPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - MissionCompleted^Signal:Functions_BasicFunctions_Presence:out; - MissionCompleted^IsErroneous:bool:out; - sub - Inj_Emiss:Functions_PhysicalOperators_PhysicalInjection; - SF423_SelectAutomaticPayloadControl:Functions_BasicOperators_AND; - SF421_RunFlightPlan:eq_AIDASystem_Functions_SF421_RunFlightPlan; - SF422_RunSpeedControl:eq_AIDASystem_FunctionsWithPhysical_forInj_SF422_RunSpeedControl; - assert - FlightPlanProgress = SF421_RunFlightPlan.FlightPlanProgress, - AutomaticPayloadControl = Inj_Emiss.output, - SpeedConsign = SF422_RunSpeedControl.DroneSpeedConsign_ProgrammedPayloadControl, - PositionConsign = SF421_RunFlightPlan.PositionConsign_FlightPlanPayloadControl, - MissionCompleted^Signal = SF421_RunFlightPlan.MissionCompleted^Signal, - MissionCompleted^IsErroneous = SF421_RunFlightPlan.MissionCompleted^IsErroneous, - Inj_Emiss.alloc = Alloc_MainProcEmission, - Inj_Emiss.input = SF423_SelectAutomaticPayloadControl.output, - SF423_SelectAutomaticPayloadControl.input_1 = SF421_RunFlightPlan.PositionConsign_FlightPlanPayloadControl, - SF423_SelectAutomaticPayloadControl.input_2 = SF422_RunSpeedControl.DroneSpeedConsign_ProgrammedPayloadControl, - SF421_RunFlightPlan.Alloc_DroneMissionDataPath = Alloc_DroneMissionDataPath, - SF421_RunFlightPlan.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF421_RunFlightPlan.Alloc_MainProcEmission = Alloc_MainProcEmission, - SF421_RunFlightPlan.Alloc_MainProcComputation = Alloc_MainProcComputation, - SF421_RunFlightPlan.Alloc_MainProcAcquisition = Alloc_MainProcAcquisition, - SF421_RunFlightPlan.Time = Time, - SF421_RunFlightPlan.Position = Position, - SF421_RunFlightPlan.FlightPlan = FlightPlan, - SF421_RunFlightPlan.FlightPlanInterruption = FlightPlanInterruption, - SF422_RunSpeedControl.PilotControlConsigns = PilotControlConsigns, - SF422_RunSpeedControl.Alloc_MainProcComputation = Alloc_MainProcComputation, - SF422_RunSpeedControl.Alloc_DroneMissionDataPath = Alloc_DroneMissionDataPath, - SF422_RunSpeedControl.Alloc_MainProcAcquisition = Alloc_MainProcAcquisition; -edon - -node eq_AIDASystem_Functions_SF44_AcquirePilotControlConsignAndMode - flow - icone:[1,2]:private; - AcquiredPilotControlConsigns:Physical_BasicPhysical_BasicPhysicalStatus:out; - AcquiredPilotControlMode:Functions_BasicFunctions_ModeSelection_ErroneousLost:out; - PilotControlMode:Functions_BasicFunctions_ModeSelection:in; - Alloc_DroneControlDesk_transmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneControlDesk_transmission2:Functions_PhysicalOperators_PhysicalInjection_ModeSelectionErroneousLost; - Inj_DroneControlDesk_transmission1:Functions_PhysicalOperators_PhysicalInjection; - SF44_AcquireControlConsigns:Functions_BasicFunctions_SourceFunction; - SF44_transtypage:Functions_BasicOperators_transtypageMode; - SF44_AcquireControlMode:Functions_BasicFunctions_ErroneousLostModeSelector; - assert - icone = case { - ((SF44_AcquireControlConsigns.status # OK) or (SF44_AcquireControlMode.status # OK)) : 2, - else 1 - }, - AcquiredPilotControlConsigns = Inj_DroneControlDesk_transmission1.output, - AcquiredPilotControlMode = Inj_DroneControlDesk_transmission2.output, - Inj_DroneControlDesk_transmission2.alloc = Alloc_DroneControlDesk_transmission, - Inj_DroneControlDesk_transmission2.input = SF44_AcquireControlMode.outputMode, - Inj_DroneControlDesk_transmission1.alloc = Alloc_DroneControlDesk_transmission, - Inj_DroneControlDesk_transmission1.input = SF44_AcquireControlConsigns.output, - SF44_transtypage.I = PilotControlMode, - SF44_AcquireControlMode.inputMode = SF44_transtypage.O; -edon - -node eq_AIDASystem_Functions_SF43_SelectControlMode - flow - icone:[1,2]:private; - PilotManualControl:Functions_BasicFunctions_ModeSelection_ErroneousLost:in; - IndicatedMode^Mode:Functions_BasicFunctions_ModeSelection:out; - IndicatedMode^IsErroneous:bool:out; - APEngagement_WSL^Mode:Functions_BasicFunctions_ModeSelection:out; - APEngagement_WSL^IsErroneous:bool:out; - APEngagement:Functions_BasicFunctions_ModeSelection:out; - ManualOverride:Physical_BasicPhysical_BasicPhysicalStatus:in; - MissionCompleted^Signal:Functions_BasicFunctions_Presence:in; - MissionCompleted^IsErroneous:bool:in; - FlightPlanInterruption:Functions_BasicFunctions_Presence:out; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMissionDataPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_PilotDroneControlPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneMissionDataPath:Functions_PhysicalOperators_PhysicalInjection_ModeSelectionErroneousLost; - Inj_PilotDroneControlPath:Functions_PhysicalOperators_PhysicalInjection_detection; - SF431_Detection:Functions_BasicOperators_detectionOfErroneous; - Inj_Comp1:Functions_PhysicalOperators_PhysicalInjection_ModeSelectionErroneousLost_Status; - Inj_Comp4:Functions_PhysicalOperators_PhysicalInjection_Presence_Status; - Inj_Emiss2:Functions_PhysicalOperators_PhysicalInjection_ModeSelection_Status; - Inj_Emiss1:Functions_PhysicalOperators_PhysicalInjection_ModeSelection_Status; - Inj_Comp3:Functions_PhysicalOperators_PhysicalInjection_ModeSelection_Status; - Inj_Comp2:Functions_PhysicalOperators_PhysicalInjection_ModeSelection_Status; - Inj_Acq2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq1:Functions_PhysicalOperators_PhysicalInjection_ModeSelectionErroneousLost; - SF431_SelectControlMode:Functions_BasicFunctions_ErroneousLostPresentModeSelector; - SF433_IndicateControlMode:Functions_BasicFunctions_InOutModeFunction; - SF432_PassivateEngagementOscillation:Functions_BasicFunctions_FaultyManualModeSelector_LossType; - assert - APEngagement = Inj_Comp2.output, - icone = case { - (APEngagement = AUTO) : 1, - else 2 - }, - IndicatedMode^Mode = Inj_Emiss2.output, - IndicatedMode^IsErroneous = Inj_Emiss2.isErroneous, - APEngagement_WSL^Mode = Inj_Emiss1.output, - APEngagement_WSL^IsErroneous = Inj_Emiss1.isErroneous, - FlightPlanInterruption = Inj_Comp4.output, - Inj_DroneMissionDataPath.alloc = Alloc_DroneMissionDataPath, - Inj_DroneMissionDataPath.input = PilotManualControl, - Inj_PilotDroneControlPath.alloc = Alloc_PilotDroneControlPath, - Inj_PilotDroneControlPath.input = ManualOverride, - SF431_Detection.input = Inj_Acq2.output, - Inj_Comp1.alloc = Alloc_MainProcComputation, - Inj_Comp1.isAlreadyErroneous = MissionCompleted^IsErroneous, - Inj_Comp1.input = SF431_SelectControlMode.outputMode, - Inj_Comp4.alloc = Alloc_MainProcComputation, - Inj_Comp4.isAlreadyErroneous = Inj_Comp1.isErroneous, - Inj_Comp4.input = SF432_PassivateEngagementOscillation.FlightPlanInterruption, - Inj_Emiss2.alloc = Alloc_MainProcEmission, - Inj_Emiss2.isAlreadyErroneous = Inj_Comp3.isErroneous, - Inj_Emiss2.input = Inj_Comp3.output, - Inj_Emiss1.alloc = Alloc_MainProcEmission, - Inj_Emiss1.isAlreadyErroneous = Inj_Comp2.isErroneous, - Inj_Emiss1.input = Inj_Comp2.output, - Inj_Comp3.alloc = Alloc_MainProcComputation, - Inj_Comp3.isAlreadyErroneous = Inj_Comp2.isErroneous, - Inj_Comp3.input = SF433_IndicateControlMode.outputMode, - Inj_Comp2.alloc = Alloc_MainProcComputation, - Inj_Comp2.isAlreadyErroneous = Inj_Comp1.isErroneous, - Inj_Comp2.input = SF432_PassivateEngagementOscillation.outputMode, - Inj_Acq2.alloc = Alloc_MainProcAcquisition, - Inj_Acq2.input = Inj_PilotDroneControlPath.output, - Inj_Acq1.alloc = Alloc_MainProcAcquisition, - Inj_Acq1.input = Inj_DroneMissionDataPath.output, - SF431_SelectControlMode.inputMode = Inj_Acq1.output, - SF431_SelectControlMode.ManualOverride = SF431_Detection.output, - SF431_SelectControlMode.MissionCompleted = MissionCompleted^Signal, - SF433_IndicateControlMode.inputMode = Inj_Comp2.output, - SF432_PassivateEngagementOscillation.inputMode = Inj_Comp1.output; -edon - -node eq_AIDASystem_Functions_SF1i_ControlHelix_2 - flow - icone:[1,2]:private; - MotorDisabled_IsErroneous:bool:in; - MotorDisabled:bool:in; - MotorRateMeasured:Physical_BasicPhysical_HiLoPhysicalStatus:out; - ThrustAndTorque:Physical_BasicPhysical_HiLoPhysicalStatus:out; - MotorRate:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_PowerDistribution:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_MotorAndVariator:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMonitoringDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_Propeller:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneDigitalNetworkPath:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_DroneMonitoringDigitalNetworkPath:Functions_PhysicalOperators_PhysicalInjection_boolean_Status; - Inj_PowerDistribution:Functions_PhysicalOperators_PhysicalInjection_boolean_Status_Actuators; - SF1i6_DepowerMotor:Boolean_Boolean_BooleanInOutFunction; - Inj_Propeller:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF1i3_CreateThrustAndTorque:Functions_BasicFunctions_InOutFunction_HiLo; - SF1i1_5_PerfectSelectorLOST:Functions_BasicOperators_PerfectConditionalSelectorLOST_HiLo; - Inj_Actuator:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF1i1_5_CreateMotionAndMeasure:Functions_BasicFunctions_InOutFunction_HiLo; - assert - icone = case { - (((SF1i1_5_CreateMotionAndMeasure.status = OK) and (SF1i3_CreateThrustAndTorque.status = OK)) and (SF1i6_DepowerMotor.status = OK)) : 1, - else 2 - }, - MotorRateMeasured = Inj_Actuator.output, - ThrustAndTorque = Inj_Propeller.output, - Inj_DroneDigitalNetworkPath.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath.input = MotorRate, - Inj_DroneMonitoringDigitalNetworkPath.alloc = Alloc_DroneMonitoringDigitalNetworkPath, - Inj_DroneMonitoringDigitalNetworkPath.input = MotorDisabled, - Inj_DroneMonitoringDigitalNetworkPath.isAlreadyErroneous = MotorDisabled_IsErroneous, - Inj_PowerDistribution.alloc = Alloc_PowerDistribution, - Inj_PowerDistribution.input = SF1i6_DepowerMotor.output, - Inj_PowerDistribution.isAlreadyErroneous = Inj_DroneMonitoringDigitalNetworkPath.isErroneous, - SF1i6_DepowerMotor.input = Inj_DroneMonitoringDigitalNetworkPath.output, - Inj_Propeller.alloc = Alloc_Propeller, - Inj_Propeller.input = SF1i3_CreateThrustAndTorque.output, - SF1i3_CreateThrustAndTorque.input = SF1i1_5_PerfectSelectorLOST.output, - SF1i1_5_PerfectSelectorLOST.input = Inj_Actuator.output, - SF1i1_5_PerfectSelectorLOST.condition = Inj_PowerDistribution.output, - Inj_Actuator.alloc = Alloc_MotorAndVariator, - Inj_Actuator.input = SF1i1_5_CreateMotionAndMeasure.output, - SF1i1_5_CreateMotionAndMeasure.input = Inj_DroneDigitalNetworkPath.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF24_ControlAltitude - flow - icone:[1,3]:private; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - AltitudeConsign:Physical_BasicPhysical_BasicPhysicalStatus:out; - VerticalSpeedConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - Thrust_AP:Physical_BasicPhysical_BasicPhysicalStatus:in; - APEngagement:Functions_BasicFunctions_ModeSelection:in; - Thrust:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_PilotDroneControlPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_PilotDroneControlPath:Functions_PhysicalOperators_PhysicalInjection_detection; - SF241_Detection:Functions_BasicOperators_detectionOfErroneous; - SF241_ComputeAltitudeConsign:Functions_BasicFunctions_InOutFunction; - Inj_Comp2:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF242_3_ComputeTotalThrust:Functions_BasicFunctions_InOutFunction_HiLoReverse; - SF242_3_SelectTotalThrustConsign:Functions_BasicOperators_ErrConditionalSelector_2_ComplexHiLo; - SF242_3_AND2:Functions_BasicOperators_AND_complexHiLo; - SF242_3_AND1:Functions_BasicOperators_AND_complexHiLo; - Inj_Emiss:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp1:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq:Functions_PhysicalOperators_PhysicalInjection; - assert - icone = case { - ((SF241_ComputeAltitudeConsign.status = LOST) or (SF242_3_ComputeTotalThrust.status = LOST)) : 3, - ((SF241_ComputeAltitudeConsign.status = ERRONEOUS) or (SF242_3_ComputeTotalThrust.status = ERRONEOUS)) : 2, - else 1 - }, - AltitudeConsign = Inj_Emiss.output, - Thrust = Inj_Comp2.output, - Inj_PilotDroneControlPath.alloc = Alloc_PilotDroneControlPath, - Inj_PilotDroneControlPath.input = VerticalSpeedConsign, - SF241_Detection.input = Inj_Acq.output, - SF241_ComputeAltitudeConsign.input = SF241_Detection.output, - Inj_Comp2.alloc = Alloc_MainProcComputation, - Inj_Comp2.input = SF242_3_ComputeTotalThrust.output, - SF242_3_ComputeTotalThrust.input = SF242_3_SelectTotalThrustConsign.output, - SF242_3_SelectTotalThrustConsign.inputAUTO = Thrust_AP, - SF242_3_SelectTotalThrustConsign.inputMANUAL = SF242_3_AND2.output, - SF242_3_SelectTotalThrustConsign.condition = APEngagement, - SF242_3_AND2.input_1 = Inj_Comp1.output, - SF242_3_AND2.input_2 = SF242_3_AND1.output, - SF242_3_AND1.input_1 = Attitude, - SF242_3_AND1.input_2 = Altitude, - Inj_Emiss.alloc = Alloc_MainProcEmission, - Inj_Emiss.input = Inj_Comp1.output, - Inj_Comp1.alloc = Alloc_MainProcComputation, - Inj_Comp1.input = SF241_ComputeAltitudeConsign.output, - Inj_Acq.alloc = Alloc_MainProcAcquisition, - Inj_Acq.input = Inj_PilotDroneControlPath.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF23_ControlAttitude - flow - icone:[1,3]:private; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - AttitudeAPConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - PitchRollConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - YawRateConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - APEngagement:Functions_BasicFunctions_ModeSelection:in; - YawConsign:Physical_BasicPhysical_BasicPhysicalStatus:out; - P:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_PilotDroneControlPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_PilotDroneControlPath1:Functions_PhysicalOperators_PhysicalInjection_detection; - Inj_PilotDroneControlPath2:Functions_PhysicalOperators_PhysicalInjection_detection; - SF232_5_Detection:Functions_BasicOperators_detectionOfErroneous; - SF231_Detection:Functions_BasicOperators_detectionOfErroneous; - Inj_Comp2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Emiss:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp1:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq:Functions_PhysicalOperators_PhysicalInjection; - SF231_ComputeYawConsign:Functions_BasicFunctions_InOutFunction; - SF232_5_AND3:Functions_BasicOperators_AND; - SF_232_5_ControlAttitudeAngle:Functions_BasicFunctions_InOutFunction; - SF232_5_SelectAttitudeConsign:Functions_BasicOperators_ErrConditionalSelector_2; - SF232_5_AND2:Functions_BasicOperators_AND; - SF232_5_AND1:Functions_BasicOperators_AND; - assert - icone = case { - ((SF231_ComputeYawConsign.status = LOST) or (SF_232_5_ControlAttitudeAngle.status = LOST)) : 3, - ((SF231_ComputeYawConsign.status = ERRONEOUS) or (SF_232_5_ControlAttitudeAngle.status = ERRONEOUS)) : 2, - else 1 - }, - YawConsign = Inj_Emiss.output, - P = Inj_Comp2.output, - Inj_PilotDroneControlPath1.alloc = Alloc_PilotDroneControlPath, - Inj_PilotDroneControlPath1.input = PitchRollConsign, - Inj_PilotDroneControlPath2.alloc = Alloc_PilotDroneControlPath, - Inj_PilotDroneControlPath2.input = YawRateConsign, - SF232_5_Detection.input = Inj_Acq2.output, - SF231_Detection.input = Inj_Acq.output, - Inj_Comp2.alloc = Alloc_MainProcComputation, - Inj_Comp2.input = SF_232_5_ControlAttitudeAngle.output, - Inj_Emiss.alloc = Alloc_MainProcEmission, - Inj_Emiss.input = Inj_Comp1.output, - Inj_Comp1.alloc = Alloc_MainProcComputation, - Inj_Comp1.input = SF231_ComputeYawConsign.output, - Inj_Acq2.alloc = Alloc_MainProcAcquisition, - Inj_Acq2.input = Inj_PilotDroneControlPath1.output, - Inj_Acq.alloc = Alloc_MainProcAcquisition, - Inj_Acq.input = Inj_PilotDroneControlPath2.output, - SF231_ComputeYawConsign.input = SF231_Detection.output, - SF232_5_AND3.input_1 = SF232_5_Detection.output, - SF232_5_AND3.input_2 = Inj_Comp1.output, - SF_232_5_ControlAttitudeAngle.input = SF232_5_SelectAttitudeConsign.output, - SF232_5_SelectAttitudeConsign.inputAUTO = SF232_5_AND2.output, - SF232_5_SelectAttitudeConsign.inputMANUAL = SF232_5_AND1.output, - SF232_5_SelectAttitudeConsign.condition = APEngagement, - SF232_5_AND2.input_1 = AttitudeAPConsign, - SF232_5_AND2.input_2 = Attitude, - SF232_5_AND1.input_1 = SF232_5_AND3.output, - SF232_5_AND1.input_2 = Attitude; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF22_AcquirePilotOrders - flow - icone:[1,3]:private; - ManualOverride:Physical_BasicPhysical_BasicPhysicalStatus:out; - Consigns:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_PushButton:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_LeftAndRightSideSticks:Physical_BasicPhysical_BasicPhysicalStatus:in; - PilotOrders:Functions_BasicFunctions_Presence:in; - sub - Inj_PushButton:Functions_PhysicalOperators_PhysicalInjection; - SF225_Dysfunctional:Functions_BasicFunctions_InOutPresentFunction; - SF221_4_Dysfunctional:Functions_BasicFunctions_InOutPresentFunction; - Inj_LeftAndRightSideSticks:Functions_PhysicalOperators_PhysicalInjection; - assert - icone = case { - ((SF221_4_Dysfunctional.status = OK) and (SF225_Dysfunctional.status = OK)) : 1, - else 2 - }, - ManualOverride = Inj_PushButton.output, - Consigns = Inj_LeftAndRightSideSticks.output, - Inj_PushButton.alloc = Alloc_PushButton, - Inj_PushButton.input = SF225_Dysfunctional.output, - SF225_Dysfunctional.input = PilotOrders, - SF221_4_Dysfunctional.input = PilotOrders, - Inj_LeftAndRightSideSticks.alloc = Alloc_LeftAndRightSideSticks, - Inj_LeftAndRightSideSticks.input = SF221_4_Dysfunctional.output; -edon - -node eq_AIDASystem_Functions_SF21_ControlPosition - flow - icone:[1,3]:private; - Position:Physical_BasicPhysical_BasicPhysicalStatus:in; - VerticalSpeed:Physical_BasicPhysical_BasicPhysicalStatus:in; - Speed:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - PositionConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - SpeedConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - Attitude_Thrust_APConsign_WSL:Physical_BasicPhysical_BasicPhysicalStatus:out; - Attitude_Thrust_APConsign:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneDigitalNetworkPath2:Functions_PhysicalOperators_PhysicalInjection; - Inj_DroneDigitalNetworkPath1:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF21_AND4:Functions_BasicOperators_AND_simpleHiLo; - Inj_Emiss:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection; - SF21_AND5:Functions_BasicOperators_AND; - SF21_Dysfunctional:Functions_BasicFunctions_InOutFunction; - SF21_AND2:Functions_BasicOperators_AND; - SF21_AND1:Functions_BasicOperators_AND; - SF21_AND3:Functions_BasicOperators_AND; - assert - icone = (if (SF21_Dysfunctional.status = OK) then 1 else (if (SF21_Dysfunctional.status = LOST) then 3 else 2)), - Attitude_Thrust_APConsign_WSL = Inj_Emiss.output, - Attitude_Thrust_APConsign = Inj_Comp.output, - Inj_DroneDigitalNetworkPath2.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath2.input = Position, - Inj_DroneDigitalNetworkPath1.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath1.input = Speed, - SF21_AND4.input_1 = VerticalSpeed, - SF21_AND4.input_2 = Inj_DroneDigitalNetworkPath1.output, - Inj_Emiss.alloc = Alloc_MainProcEmission, - Inj_Emiss.input = Inj_Comp.output, - Inj_Comp.alloc = Alloc_MainProcComputation, - Inj_Comp.input = SF21_Dysfunctional.output, - SF21_AND5.input_1 = Attitude, - SF21_AND5.input_2 = SF21_AND3.output, - SF21_Dysfunctional.input = SF21_AND5.output, - SF21_AND2.input_1 = SpeedConsign, - SF21_AND2.input_2 = SF21_AND1.output, - SF21_AND1.input_1 = PositionConsign, - SF21_AND1.input_2 = Inj_DroneDigitalNetworkPath2.output, - SF21_AND3.input_1 = SF21_AND4.output, - SF21_AND3.input_2 = SF21_AND2.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_forInj_SF25_ControlThrust - flow - icone:[1,3]:private; - P:Physical_BasicPhysical_BasicPhysicalStatus:in; - Thrust:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_MainProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - MotorRates:Physical_BasicPhysical_HiLoPhysicalStatus:out; - sub - Inj_Emiss:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection_bothHiLo; - SF25_Dysfunctional:Functions_BasicFunctions_InOutFunction_HiLo; - SF25_AllNeeded:Functions_BasicOperators_AND_complexHiLo; - assert - icone = case { - (SF25_Dysfunctional.status = OK) : 1, - (SF25_Dysfunctional.status = LOST) : 2, - else 3 - }, - MotorRates = Inj_Emiss.output, - Inj_Emiss.alloc = Alloc_MainProcEmission, - Inj_Emiss.input = Inj_Comp.output, - Inj_Comp.alloc = Alloc_MainProcComputation, - Inj_Comp.input = SF25_Dysfunctional.output, - SF25_Dysfunctional.input = SF25_AllNeeded.output, - SF25_AllNeeded.input_1 = P, - SF25_AllNeeded.input_2 = Thrust; -edon - -node eq_AIDASystem_FunctionsWithPhysical_Alloc_SF32_ComputeAltitude - flow - icone:[1,2]:private; - Alloc_MainProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_TelemetricSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_PressureSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Altitude_WSL:Physical_BasicPhysical_HiLoPhysicalStatus:out; - VerticalSpeed_WSL:Physical_BasicPhysical_BasicPhysicalStatus:out; - VerticalSpeed:Physical_BasicPhysical_BasicPhysicalStatus:out; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - GroundAltitude_WSL:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_MainProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - SF325_ComputeAltitudeAndVerticalSpeed:eq_AIDASystem_FunctionsWithPhysical_Alloc_SF325_ComputeAltitudeAndVerticalSpeed; - SF324_ComputeGroundAltitude:eq_AIDASystem_FunctionsWithPhysical_Alloc_SF324_ComputeGroundAltitude; - SF323_MeasureTelemetricSignal:eq_AIDASystem_FunctionsWithPhysical_Alloc_SF323_MeasureTelemetricSignal; - SF321_MeasureAmbiantPressure:eq_AIDASystem_FunctionsWithPhysical_Alloc_SF321_MeasureAmbiantPressure; - SF322_ComputeBarometricAltitude:eq_AIDASystem_FunctionsWithPhysical_Alloc_SF322_ComputeBarometricAltitude; - assert - icone = case { - (((((SF321_MeasureAmbiantPressure.SF321_Dysfunctional.status = OK) and (SF322_ComputeBarometricAltitude.SF322_Dysfunctional.status = OK)) and (SF323_MeasureTelemetricSignal.SF323_Dysfunctional.status = OK)) and (SF324_ComputeGroundAltitude.SF324_Dysfunctional.status = OK)) and (SF325_ComputeAltitudeAndVerticalSpeed.SF325_Dysfunctional.status = OK)) : 1, - else 2 - }, - Altitude_WSL = SF325_ComputeAltitudeAndVerticalSpeed.Altitude_WSL, - VerticalSpeed_WSL = SF325_ComputeAltitudeAndVerticalSpeed.VerticalSpeed_WSL, - VerticalSpeed = SF325_ComputeAltitudeAndVerticalSpeed.VerticalSpeed, - Altitude = SF325_ComputeAltitudeAndVerticalSpeed.Altitude, - GroundAltitude_WSL = SF324_ComputeGroundAltitude.GroundAltitude_WSL, - SF325_ComputeAltitudeAndVerticalSpeed.Alloc_MainProcComputation = Alloc_MainProcComputation, - SF325_ComputeAltitudeAndVerticalSpeed.Alloc_MainProcEmission = Alloc_MainProcEmission, - SF325_ComputeAltitudeAndVerticalSpeed.GroundAltitude = SF324_ComputeGroundAltitude.GroundAltitude, - SF325_ComputeAltitudeAndVerticalSpeed.BarometricAltitude = SF322_ComputeBarometricAltitude.BarometricAltitude, - SF324_ComputeGroundAltitude.Alloc_MainProcComputation = Alloc_MainProcComputation, - SF324_ComputeGroundAltitude.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF324_ComputeGroundAltitude.Alloc_MainProcEmission = Alloc_MainProcEmission, - SF324_ComputeGroundAltitude.Alloc_MainProcAcquisition = Alloc_MainProcAcquisition, - SF324_ComputeGroundAltitude.Attitude = Attitude, - SF324_ComputeGroundAltitude.MeasuredGroundDistance = SF323_MeasureTelemetricSignal.GroundDistance, - SF323_MeasureTelemetricSignal.Alloc_TelemetricSensor = Alloc_TelemetricSensor, - SF321_MeasureAmbiantPressure.Alloc_PressureSensor = Alloc_PressureSensor, - SF322_ComputeBarometricAltitude.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF322_ComputeBarometricAltitude.Alloc_MainProcComputation = Alloc_MainProcComputation, - SF322_ComputeBarometricAltitude.Alloc_MainProcAcquisition = Alloc_MainProcAcquisition, - SF322_ComputeBarometricAltitude.MeasuredPressure = SF321_MeasureAmbiantPressure.Pressure; -edon - -node eq_AIDASystem_Functions_SF33_ComputeDroneSpeed - flow - icone:[1,2]:private; - GroundAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Speed_WSL:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_LateralSpeedCamera:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - SF331_FilmGround:eq_AIDASystem_FunctionsWithPhysical_Alloc_SF331_FilmGround; - SF332_ComputeGroundSpeed:eq_AIDASystem_FunctionsWithPhysical_Alloc_SF332_ComputeGroundSpeed; - assert - icone = case { - ((SF331_FilmGround.SF331_Dysfunctional.status = OK) and (SF332_ComputeGroundSpeed.SF332_Dysfunctional.status = OK)) : 1, - else 2 - }, - Speed_WSL = SF332_ComputeGroundSpeed.GroundSpeed, - SF331_FilmGround.Alloc_LateralSpeedCamera = Alloc_LateralSpeedCamera, - SF332_ComputeGroundSpeed.GroundAltitude = GroundAltitude, - SF332_ComputeGroundSpeed.VideoFlux = SF331_FilmGround.VideoFlux, - SF332_ComputeGroundSpeed.Alloc_VideoProcAcquisition = Alloc_VideoProcAcquisition, - SF332_ComputeGroundSpeed.Alloc_VideoProcComputation = Alloc_VideoProcComputation, - SF332_ComputeGroundSpeed.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF332_ComputeGroundSpeed.Alloc_VideoProcEmission = Alloc_VideoProcEmission; -edon - -node eq_AIDASystem_FunctionsWithPhysical_Alloc_SF31_ComputeAttitude - flow - icone:[1,2]:private; - Alloc_MainProcEmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcAcquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcComputation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_IRS:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_Magnetometer:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Attitude_WSL:Physical_BasicPhysical_BasicPhysicalStatus:out; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - SF314_6_AllNeeded:Functions_BasicOperators_AND; - Inj_Acq2:Functions_PhysicalOperators_PhysicalInjection; - Inj_DroneDigitalNetworkPath2:Functions_PhysicalOperators_PhysicalInjection; - Inj_Magnetometer:Functions_PhysicalOperators_PhysicalInjection; - SF313_Dysfunctional:Functions_BasicFunctions_SourceFunction; - SF314_6_Dysfunctional:Functions_BasicFunctions_InOutFunction; - Inj_Emiss:Functions_PhysicalOperators_PhysicalInjection; - Inj_Acq1:Functions_PhysicalOperators_PhysicalInjection; - Inj_DroneDigitalNetworkPath1:Functions_PhysicalOperators_PhysicalInjection; - Inj_IRS:Functions_PhysicalOperators_PhysicalInjection; - Inj_Comp:Functions_PhysicalOperators_PhysicalInjection; - SF311_2_Dysfunctional:Functions_BasicFunctions_SourceFunction; - assert - icone = case { - (((SF311_2_Dysfunctional.status = OK) and (SF313_Dysfunctional.status = OK)) and (SF314_6_Dysfunctional.status = OK)) : 1, - else 2 - }, - Attitude_WSL = Inj_Emiss.output, - Attitude = Inj_Comp.output, - SF314_6_AllNeeded.input_1 = Inj_Acq1.output, - SF314_6_AllNeeded.input_2 = Inj_Acq2.output, - Inj_Acq2.alloc = Alloc_MainProcAcquisition, - Inj_Acq2.input = Inj_DroneDigitalNetworkPath2.output, - Inj_DroneDigitalNetworkPath2.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath2.input = Inj_Magnetometer.output, - Inj_Magnetometer.alloc = Alloc_Magnetometer, - Inj_Magnetometer.input = SF313_Dysfunctional.output, - SF314_6_Dysfunctional.input = SF314_6_AllNeeded.output, - Inj_Emiss.alloc = Alloc_MainProcEmission, - Inj_Emiss.input = Inj_Comp.output, - Inj_Acq1.alloc = Alloc_MainProcAcquisition, - Inj_Acq1.input = Inj_DroneDigitalNetworkPath1.output, - Inj_DroneDigitalNetworkPath1.alloc = Alloc_DroneDigitalNetworkPath, - Inj_DroneDigitalNetworkPath1.input = Inj_IRS.output, - Inj_IRS.alloc = Alloc_IRS, - Inj_IRS.input = SF311_2_Dysfunctional.output, - Inj_Comp.alloc = Alloc_MainProcComputation, - Inj_Comp.input = SF314_6_Dysfunctional.output; -edon - -node eq_AIDASystem_FunctionsWithPhysical_Alloc_SF34_ComputePositionAndTime - flow - icone:[1,2]:private; - Alloc_PositionSensor:Physical_BasicPhysical_BasicPhysicalStatus:in; - PositionAndTime:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - Inj_PositionSensor:Functions_PhysicalOperators_PhysicalInjection; - SF34_Dysfunctional:Functions_BasicFunctions_SourceFunction; - assert - icone = case { - (SF34_Dysfunctional.status = OK) : 1, - else 2 - }, - PositionAndTime = Inj_PositionSensor.output, - Inj_PositionSensor.alloc = Alloc_PositionSensor, - Inj_PositionSensor.input = SF34_Dysfunctional.output; -edon - -node eq_AIDASystem_Physical_PowerDistribution - flow - PowerInput:Physical_BasicPhysical_HiLoPhysicalStatus:in; - oDistribToIRS:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToMagnetometer:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToPressureSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToTelemetricSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToLateralSpeedCamera:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToPositionSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToVideoProcessor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToMainProcessor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToActuator1:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToActuator2:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToActuator3:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToActuator4:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToCameraSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToCameraRotarySupport:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToWifiController:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToRadioController:Physical_BasicPhysical_HiLoPhysicalStatus:out; - sub - DistribToCameraSensor:Components_Links_EPL; - DistribToCameraRotarySupport:Components_Links_EPL; - DistribToWifiController:Components_Links_EPL; - DistribToRadioController:Components_Links_EPL; - DistribToIRS:Components_Links_EPL; - DistribToVideoProcessor:Components_Links_EPL; - Bar:Components_PowerSupply_PowerDistribution; - DistribToActuator1:Components_Links_EPL; - DistribToActuator2:Components_Links_EPL; - DistribToActuator3:Components_Links_EPL; - DistribToActuator4:Components_Links_EPL; - DistribToMainProcessor:Components_Links_EPL; - DistribToMagnetometer:Components_Links_EPL; - DistribToPressureSensor:Components_Links_EPL; - DistribToTelemetricSensor:Components_Links_EPL; - DistribToLateralSpeedCamera:Components_Links_EPL; - DistribToPositionSensor:Components_Links_EPL; - assert - oDistribToIRS = DistribToIRS.output, - oDistribToMagnetometer = DistribToMagnetometer.output, - oDistribToPressureSensor = DistribToPressureSensor.output, - oDistribToTelemetricSensor = DistribToTelemetricSensor.output, - oDistribToLateralSpeedCamera = DistribToLateralSpeedCamera.output, - oDistribToPositionSensor = DistribToPositionSensor.output, - oDistribToVideoProcessor = DistribToVideoProcessor.output, - oDistribToMainProcessor = DistribToMainProcessor.output, - oDistribToActuator1 = DistribToActuator1.output, - oDistribToActuator2 = DistribToActuator2.output, - oDistribToActuator3 = DistribToActuator3.output, - oDistribToActuator4 = DistribToActuator4.output, - oDistribToCameraSensor = DistribToCameraSensor.output, - oDistribToCameraRotarySupport = DistribToCameraRotarySupport.output, - oDistribToWifiController = DistribToWifiController.output, - oDistribToRadioController = DistribToRadioController.output, - DistribToCameraSensor.input = Bar.output, - DistribToCameraRotarySupport.input = Bar.output, - DistribToWifiController.input = Bar.output, - DistribToRadioController.input = Bar.output, - DistribToIRS.input = Bar.output, - DistribToVideoProcessor.input = Bar.output, - Bar.input = PowerInput, - DistribToActuator1.input = Bar.output, - DistribToActuator2.input = Bar.output, - DistribToActuator3.input = Bar.output, - DistribToActuator4.input = Bar.output, - DistribToMainProcessor.input = Bar.output, - DistribToMagnetometer.input = Bar.output, - DistribToPressureSensor.input = Bar.output, - DistribToTelemetricSensor.input = Bar.output, - DistribToLateralSpeedCamera.input = Bar.output, - DistribToPositionSensor.input = Bar.output; -edon - -node eq_AIDASystem_Physical_PowerDistribution_MON - flow - PowerInput_MON:Physical_BasicPhysical_HiLoPhysicalStatus:in; - oDistribToIRS_MON:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToMagnetometer_MON:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToPressureSensor_MON:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToTelemetricSensor_MON:Physical_BasicPhysical_HiLoPhysicalStatus:out; - oDistribToMonitoringProcessor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - sub - DistribToMonitoringProcessor:Components_Links_EPL; - DistribToTelemetricSensor_MON:Components_Links_EPL; - DistribToPressureSensor_MON:Components_Links_EPL; - DistribToMagnetometer_MON:Components_Links_EPL; - DistribToIRS_MON:Components_Links_EPL; - Bar_MON:Components_PowerSupply_PowerDistribution; - assert - oDistribToIRS_MON = DistribToIRS_MON.output, - oDistribToMagnetometer_MON = DistribToMagnetometer_MON.output, - oDistribToPressureSensor_MON = DistribToPressureSensor_MON.output, - oDistribToTelemetricSensor_MON = DistribToTelemetricSensor_MON.output, - oDistribToMonitoringProcessor = DistribToMonitoringProcessor.output, - DistribToMonitoringProcessor.input = Bar_MON.output, - DistribToTelemetricSensor_MON.input = Bar_MON.output, - DistribToPressureSensor_MON.input = Bar_MON.output, - DistribToMagnetometer_MON.input = Bar_MON.output, - DistribToIRS_MON.input = Bar_MON.output, - Bar_MON.input = PowerInput_MON; -edon - -node eq_AIDASystem_Physical_Payload - flow - Alloc_CameraSensor:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power_CameraSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_CameraRotarySupport:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power_CameraRotarySupport:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - CameraSensor:Components_Payload_CameraSensor; - CameraRotarySupport:Components_Payload_CameraRotarySupport; - assert - Alloc_CameraSensor = CameraSensor.output, - Alloc_CameraRotarySupport = CameraRotarySupport.output, - CameraSensor.Power = Power_CameraSensor, - CameraRotarySupport.Power = Power_CameraRotarySupport; -edon - -node eq_AIDASystem_Physical_Paths - flow - Alloc_DroneMonitoringDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_DroneMissionDataPath_Drone2ControlDesk:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_DronePhotosAndVideosPath:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_DroneMissionDataPath_ControlDesk2Drone:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_PilotPayloadControlPath:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:out; - WifiController_transmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - WifiController_reception:Physical_BasicPhysical_BasicPhysicalStatus:in; - RadioController:Physical_BasicPhysical_BasicPhysicalStatus:in; - RemoteCommunication:Physical_BasicPhysical_BasicPhysicalStatus:in; - MonitoringDigitalNetwork:Physical_BasicPhysical_BasicPhysicalStatus:in; - MainDigitalNetwork:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_PilotDroneControlPath:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - Path_PilotPayloadControl:eq_AIDASystem_Physical_Path_PilotPayloadControl; - DroneMonitoringDigitalNetworkPath:Functions_PhysicalOperators_AND_Physical_unaire; - DroneDigitalNetworkPath:Functions_PhysicalOperators_AND_Physical_unaire; - Path_DronePhotosAndVideos:eq_AIDASystem_Physical_Path_DronePhotosAndVideos; - Path_DroneMissionData:eq_AIDASystem_Physical_Path_DroneMissionData; - Path_PilotDroneControl_PilotConsigns:eq_AIDASystem_Physical_Path_PilotDroneControl; - assert - Alloc_DroneMonitoringDigitalNetworkPath = DroneMonitoringDigitalNetworkPath.output, - Alloc_DroneMissionDataPath_Drone2ControlDesk = Path_DroneMissionData.DroneMissionDataPath_Drone2ControlDesk, - Alloc_DronePhotosAndVideosPath = Path_DronePhotosAndVideos.Alloc_DronePhotosAndVideosPath, - Alloc_DroneMissionDataPath_ControlDesk2Drone = Path_DroneMissionData.DroneMissionDataPath_ControlDesk2Drone, - Alloc_PilotPayloadControlPath = Path_PilotPayloadControl.Alloc_PilotPayloadControlPath, - Alloc_DroneDigitalNetworkPath = DroneDigitalNetworkPath.output, - Alloc_PilotDroneControlPath = Path_PilotDroneControl_PilotConsigns.Alloc_PilotDroneControlPath, - Path_PilotPayloadControl.RemoteCommunication = RemoteCommunication, - Path_PilotPayloadControl.RadioController = RadioController, - Path_PilotPayloadControl.MainDigitalNetwork = MainDigitalNetwork, - DroneMonitoringDigitalNetworkPath.input = MonitoringDigitalNetwork, - DroneDigitalNetworkPath.input = MainDigitalNetwork, - Path_DronePhotosAndVideos.WifiController = WifiController_transmission, - Path_DronePhotosAndVideos.MainDigitalNetwork = MainDigitalNetwork, - Path_DroneMissionData.MainDigitalNetwork = MainDigitalNetwork, - Path_DroneMissionData.WifiController_transmission = WifiController_transmission, - Path_DroneMissionData.WifiController_reception = WifiController_reception, - Path_PilotDroneControl_PilotConsigns.RemoteCommunication = RemoteCommunication, - Path_PilotDroneControl_PilotConsigns.RadioController = RadioController, - Path_PilotDroneControl_PilotConsigns.MainDigitalNetwork = MainDigitalNetwork; -edon - -node eq_AIDASystem_Physical_CommunicationDevices - flow - oWifiController_transmission:Physical_BasicPhysical_BasicPhysicalStatus:out; - oWifiController_reception:Physical_BasicPhysical_BasicPhysicalStatus:out; - oRadioController:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power_WifiController:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power_RadioController:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - RadioController:Components_CommunicationDevices_CommunicationDevice; - WifiController_reception:Components_CommunicationDevices_CommunicationDevice; - WifiController_transmission:Components_CommunicationDevices_CommunicationDevice; - assert - oWifiController_transmission = WifiController_transmission.output, - oWifiController_reception = WifiController_reception.output, - oRadioController = RadioController.output, - RadioController.Power = Power_RadioController, - WifiController_reception.Power = Power_WifiController, - WifiController_transmission.Power = Power_WifiController; -edon - -node eq_AIDASystem_Physical_Remotecontrol - flow - Alloc_PushButton:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_CameraControlDevice:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_LeftAndRightSideSticks:Physical_BasicPhysical_BasicPhysicalStatus:out; - oRemoteCommunication:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - RemoteCommunication:Components_RemoteControl_RemoteCommunication; - RemoteBattery:Components_PowerSupply_PowerGeneration; - RemoteSwitch:Components_RemoteControl_RemoteSwitch; - DistribToRemoteSwitch:Components_Links_EPL; - DistribToRemoteCommunication:Components_Links_EPL; - RemoteControlInterface:eq_AIDASystem_Physical_RemoteControlInterface; - assert - Alloc_PushButton = RemoteControlInterface.Alloc_PushButton, - Alloc_CameraControlDevice = RemoteControlInterface.Alloc_CameraControlDevice, - Alloc_LeftAndRightSideSticks = RemoteControlInterface.Alloc_LeftAndRightSideSticks, - oRemoteCommunication = RemoteCommunication.output, - RemoteCommunication.Power = DistribToRemoteCommunication.output, - RemoteSwitch.Power = DistribToRemoteSwitch.output, - DistribToRemoteSwitch.input = RemoteBattery.output, - DistribToRemoteCommunication.input = RemoteSwitch.output; -edon - -node eq_AIDASystem_Physical_Networks - flow - Alloc_MonitoringDN:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_MainDN:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - MonitoringDigitalNetwork:Components_Networks_DigitalNetwork; - MainDigitalNetwork:Components_Networks_DigitalNetwork; - assert - Alloc_MonitoringDN = MonitoringDigitalNetwork.output, - Alloc_MainDN = MainDigitalNetwork.output; -edon - -node eq_AIDASystem_Physical_Sensors - flow - Alloc_Sensors_MON^IRS:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_Sensors_MON^Magnetometer:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_Sensors_MON^PressureSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_Sensors_MON^TelemetricSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_Sensors_Main^IRS:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_Sensors_Main^Magnetometer:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_Sensors_Main^PressureSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_Sensors_Main^TelemetricSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_Sensors_Main^LateralSpeedCamera:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_Sensors_Main^PositionSensor:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power_MON^IRS:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power_MON^Magnetometer:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power_MON^PressureSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power_MON^TelemetricSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power^IRS:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power^Magnetometer:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power^PressureSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power^TelemetricSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power^PositionSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power^LateralSpeedCamera:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - TelemetricSensor_MON:Components_Sensors_SimpleSensor; - PressureSensor_MON:Components_Sensors_SimpleSensor; - Magnetometer_MON:Components_Sensors_ComplexSensor; - InertialReferenceSensors_MON:Components_Sensors_ComplexSensor; - PositionSensor:Components_Sensors_ComplexSensor; - LateralSpeedCamera:Components_Sensors_ComplexSensor; - TelemetricSensor:Components_Sensors_SimpleSensor; - PressureSensor:Components_Sensors_SimpleSensor; - Magnetometer:Components_Sensors_ComplexSensor; - InertialReferenceSensors:Components_Sensors_ComplexSensor; - assert - Alloc_Sensors_MON^IRS = InertialReferenceSensors_MON.output, - Alloc_Sensors_MON^Magnetometer = Magnetometer_MON.output, - Alloc_Sensors_MON^PressureSensor = PressureSensor_MON.output, - Alloc_Sensors_MON^TelemetricSensor = TelemetricSensor_MON.output, - Alloc_Sensors_Main^IRS = InertialReferenceSensors.output, - Alloc_Sensors_Main^Magnetometer = Magnetometer.output, - Alloc_Sensors_Main^PressureSensor = PressureSensor.output, - Alloc_Sensors_Main^TelemetricSensor = TelemetricSensor.output, - Alloc_Sensors_Main^LateralSpeedCamera = LateralSpeedCamera.output, - Alloc_Sensors_Main^PositionSensor = PositionSensor.output, - TelemetricSensor_MON.Power = Power_MON^TelemetricSensor, - PressureSensor_MON.Power = Power_MON^PressureSensor, - Magnetometer_MON.Power = Power_MON^Magnetometer, - InertialReferenceSensors_MON.Power = Power_MON^IRS, - PositionSensor.Power = Power^PositionSensor, - LateralSpeedCamera.Power = Power^LateralSpeedCamera, - TelemetricSensor.Power = Power^TelemetricSensor, - PressureSensor.Power = Power^PressureSensor, - Magnetometer.Power = Power^Magnetometer, - InertialReferenceSensors.Power = Power^IRS; -edon - -node eq_AIDASystem_Physical_Computers - flow - Alloc_MonitoringProcessor^Acquisition:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_MonitoringProcessor^Emission:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_MonitoringProcessor^Computation:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_MainProcessor^Acquisition:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_MainProcessor^Emission:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_MainProcessor^Computation:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power_MonitoringProcessor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power_MainProcessor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_VideoProcessor^Acquisition:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_VideoProcessor^Emission:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_VideoProcessor^Computation:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power_VideoProcessor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - MonitoringProcessor:eq_AIDASystem_Physical_MainProcessor; - VideoProcessor:eq_AIDASystem_Physical_MainProcessor; - MainProcessor:eq_AIDASystem_Physical_MainProcessor; - assert - Alloc_MonitoringProcessor^Acquisition = MonitoringProcessor.oProcessor^Acquisition, - Alloc_MonitoringProcessor^Emission = MonitoringProcessor.oProcessor^Emission, - Alloc_MonitoringProcessor^Computation = MonitoringProcessor.oProcessor^Computation, - Alloc_MainProcessor^Acquisition = MainProcessor.oProcessor^Acquisition, - Alloc_MainProcessor^Emission = MainProcessor.oProcessor^Emission, - Alloc_MainProcessor^Computation = MainProcessor.oProcessor^Computation, - Alloc_VideoProcessor^Acquisition = VideoProcessor.oProcessor^Acquisition, - Alloc_VideoProcessor^Emission = VideoProcessor.oProcessor^Emission, - Alloc_VideoProcessor^Computation = VideoProcessor.oProcessor^Computation, - MonitoringProcessor.Power = Power_MonitoringProcessor, - VideoProcessor.Power = Power_VideoProcessor, - MainProcessor.Power = Power_MainProcessor; -edon - -node eq_AIDASystem_Functions_SF6_ManageMission - flow - icone:[1,2]:private; - oFlightPlanProgress:Physical_BasicPhysical_BasicPhysicalStatus:out; - iFlightPlanProgress:Physical_BasicPhysical_BasicPhysicalStatus:in; - iFlightPlan:Physical_BasicPhysical_BasicPhysicalStatus:in; - oFlightPlan:Physical_BasicPhysical_BasicPhysicalStatus:out; - iDroneControlMode^Mode:Functions_BasicFunctions_ModeSelection:in; - iDroneControlMode^IsErroneous:bool:in; - oDroneControlMode:Functions_BasicFunctions_ModeSelection:out; - Alloc_DroneMissionDataPath_Drone2ControlDesk:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneControlDesk_transmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneControlDesk_reception:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneControlDesk_transmission:Functions_PhysicalOperators_PhysicalInjection; - SF61_ComputeFlightPlanAndZone:Functions_BasicFunctions_InOutFunction; - SF64_DisplayDroneFollowUpData:eq_AIDASystem_Functions_SF64_DisplayDroneFollowUpData; - assert - icone = case { - (((SF61_ComputeFlightPlanAndZone.status = OK) and (SF64_DisplayDroneFollowUpData.SF64_ControlMode.status = OK)) and (SF64_DisplayDroneFollowUpData.SF64_FlightPlanProgress.status = OK)) : 1, - else 2 - }, - oFlightPlanProgress = SF64_DisplayDroneFollowUpData.oFlightPlanProgress, - oFlightPlan = Inj_DroneControlDesk_transmission.output, - oDroneControlMode = SF64_DisplayDroneFollowUpData.oControlMode, - Inj_DroneControlDesk_transmission.alloc = Alloc_DroneControlDesk_transmission, - Inj_DroneControlDesk_transmission.input = SF61_ComputeFlightPlanAndZone.output, - SF61_ComputeFlightPlanAndZone.input = iFlightPlan, - SF64_DisplayDroneFollowUpData.iControlMode^Mode = iDroneControlMode^Mode, - SF64_DisplayDroneFollowUpData.iControlMode^IsErroneous = iDroneControlMode^IsErroneous, - SF64_DisplayDroneFollowUpData.iFlightPlanProgress = iFlightPlanProgress, - SF64_DisplayDroneFollowUpData.Alloc_DroneMissionDataPath_Drone2ControlDesk2 = Alloc_DroneMissionDataPath_Drone2ControlDesk, - SF64_DisplayDroneFollowUpData.Alloc_DroneControlDesk_reception = Alloc_DroneControlDesk_reception; -edon - -node eq_AIDASystem_Functions_SF7_MonitorDroneControl_v042 - flow - icone:[1,2]:private; - APEngagement^Mode:Functions_BasicFunctions_ModeSelection:in; - APEngagement^IsErroneous:bool:in; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - GroundAltitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - VerticalSpeed:Physical_BasicPhysical_BasicPhysicalStatus:in; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRate:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRatesMeasured^MotorRate1:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRatesMeasured^MotorRate2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRatesMeasured^MotorRate3:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRatesMeasured^MotorRate4:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorDisabled^Motor1:bool:out; - MotorDisabled^IsErroneous1:bool:out; - MotorDisabled^Motor2:bool:out; - MotorDisabled^IsErroneous2:bool:out; - MotorDisabled^Motor3:bool:out; - MotorDisabled^IsErroneous3:bool:out; - MotorDisabled^Motor4:bool:out; - MotorDisabled^IsErroneous4:bool:out; - Consigns^AltitudeManualConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - Consigns^YawManualConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - Consigns^PitchRollManualConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - Consigns^AltitudeAndAttitudeAPConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_PilotDroneControlPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_SensorsMON^IRS:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_SensorsMON^Magnetometer:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_SensorsMON^PressureSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_SensorsMON^TelemetricSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_MonitoringProcessor^Acquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonitoringProcessor^Emission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MonitoringProcessor^Computation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMonitoringDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - SF72_ComputeDroneAltitudeMON:eq_AIDASystem_FunctionsWithPhysical_forInj_SF72_ComputeAltitudeMON; - SF71_ComputeAttitudeMON:eq_AIDASystem_FunctionsWithPhysical_forInj_SF71_ComputeAttitudeMON; - SF73_ControlAttitudeAndAltitudeMON:eq_AIDASystem_Functions_SF73_ControlAttitudeAndAltitudeMON; - SF74_MonitorParameters:eq_AIDASystem_Functions_SF74_MonitorParameters; - assert - icone = case { - ((((((((((SF74_MonitorParameters.SF745_DisableDroneMotor.FailureModesOfSF74.status = OK) and (SF71_ComputeAttitudeMON.SF71_Dysfunctional.status = OK)) and (SF72_ComputeDroneAltitudeMON.SF721_MeasureAmbiantPressureMON.SF721_Dysfunctional.status = OK)) and (SF72_ComputeDroneAltitudeMON.SF722_ComputeBarometricAltitudeMON.SF722_Dysfunctional.status = OK)) and (SF72_ComputeDroneAltitudeMON.SF723_MeasureTelemetricSignalMON.SF723_Dysfunctional.status = OK)) and (SF72_ComputeDroneAltitudeMON.SF724_ComputeGroundAltitudeMON.SF724_Dysfunctional.status = OK)) and (SF72_ComputeDroneAltitudeMON.SF725_ComputeAltitudeAndVerticalSpeedMON.SF725_Dysfunctional.status = OK)) and (SF73_ControlAttitudeAndAltitudeMON.SF731_2_ControlAltitudeMON.SF731_ComputeThrustMON.status = OK)) and (SF73_ControlAttitudeAndAltitudeMON.SF733_6_ControlAttitudeMON.SF734_6_ControlAttitudeMON.status = OK)) and (SF73_ControlAttitudeAndAltitudeMON.SF737_8_ComputeMotorRate.SF737_8_ControlThrust.status = OK)) : 1, - else 2 - }, - MotorDisabled^Motor1 = SF74_MonitorParameters.MotorsDisabled^Motor1, - MotorDisabled^IsErroneous1 = SF74_MonitorParameters.MotorsDisabled^IsErroneous1, - MotorDisabled^Motor2 = SF74_MonitorParameters.MotorsDisabled^Motor2, - MotorDisabled^IsErroneous2 = SF74_MonitorParameters.MotorsDisabled^IsErroneous2, - MotorDisabled^Motor3 = SF74_MonitorParameters.MotorsDisabled^Motor3, - MotorDisabled^IsErroneous3 = SF74_MonitorParameters.MotorsDisabled^IsErroneous3, - MotorDisabled^Motor4 = SF74_MonitorParameters.MotorsDisabled^Motor4, - MotorDisabled^IsErroneous4 = SF74_MonitorParameters.MotorsDisabled^IsErroneous4, - SF72_ComputeDroneAltitudeMON.Alloc_MonProcAcquisition = Alloc_MonitoringProcessor^Acquisition, - SF72_ComputeDroneAltitudeMON.Alloc_MonProcComputation = Alloc_MonitoringProcessor^Computation, - SF72_ComputeDroneAltitudeMON.Alloc_TelemetricSensorMON = Alloc_SensorsMON^TelemetricSensor, - SF72_ComputeDroneAltitudeMON.Alloc_PressureSensorMON = Alloc_SensorsMON^PressureSensor, - SF72_ComputeDroneAltitudeMON.Alloc_DroneMonitoringDigitalNetworkPath = Alloc_DroneMonitoringDigitalNetworkPath, - SF72_ComputeDroneAltitudeMON.Attitude = SF71_ComputeAttitudeMON.Attitude, - SF71_ComputeAttitudeMON.Alloc_MonProcAcquisition = Alloc_MonitoringProcessor^Acquisition, - SF71_ComputeAttitudeMON.Alloc_MonProcComputation = Alloc_MonitoringProcessor^Computation, - SF71_ComputeAttitudeMON.Alloc_IRSMON = Alloc_SensorsMON^IRS, - SF71_ComputeAttitudeMON.Alloc_MagnetometerMON = Alloc_SensorsMON^Magnetometer, - SF71_ComputeAttitudeMON.Alloc_DroneMonitoringDigitalNetworkPath = Alloc_DroneMonitoringDigitalNetworkPath, - SF73_ControlAttitudeAndAltitudeMON.Altitude = Altitude, - SF73_ControlAttitudeAndAltitudeMON.Attitude = Attitude, - SF73_ControlAttitudeAndAltitudeMON.YawConsign = Consigns^YawManualConsign, - SF73_ControlAttitudeAndAltitudeMON.PitchRollConsign = Consigns^PitchRollManualConsign, - SF73_ControlAttitudeAndAltitudeMON.AltitudeConsign = Consigns^AltitudeManualConsign, - SF73_ControlAttitudeAndAltitudeMON.AttitudeAPConsign = Consigns^AltitudeAndAttitudeAPConsign, - SF73_ControlAttitudeAndAltitudeMON.AltitudeAPConsign = Consigns^AltitudeAndAttitudeAPConsign, - SF73_ControlAttitudeAndAltitudeMON.APEngagement^Mode = APEngagement^Mode, - SF73_ControlAttitudeAndAltitudeMON.APEngagement^IsErroneous = APEngagement^IsErroneous, - SF73_ControlAttitudeAndAltitudeMON.Alloc_PilotDroneControlPath = Alloc_PilotDroneControlPath, - SF73_ControlAttitudeAndAltitudeMON.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF73_ControlAttitudeAndAltitudeMON.Alloc_MonProcAcquisition = Alloc_MonitoringProcessor^Acquisition, - SF73_ControlAttitudeAndAltitudeMON.Alloc_MonProcComputation = Alloc_MonitoringProcessor^Computation, - SF74_MonitorParameters.Alloc_MonProcAcquisition = Alloc_MonitoringProcessor^Acquisition, - SF74_MonitorParameters.Alloc_MonProcComputation = Alloc_MonitoringProcessor^Computation, - SF74_MonitorParameters.MotorRateMON = SF73_ControlAttitudeAndAltitudeMON.MotorRate, - SF74_MonitorParameters.MotorRate = MotorRate, - SF74_MonitorParameters.GroundAltitudeMON = SF72_ComputeDroneAltitudeMON.GroundAltitude, - SF74_MonitorParameters.GroundAltitude = GroundAltitude, - SF74_MonitorParameters.Altitude = Altitude, - SF74_MonitorParameters.AltitudeMON = SF72_ComputeDroneAltitudeMON.Altitude, - SF74_MonitorParameters.VerticalSpeedMON = SF72_ComputeDroneAltitudeMON.VerticalSpeed, - SF74_MonitorParameters.VerticalSpeed = VerticalSpeed, - SF74_MonitorParameters.Attitude = Attitude, - SF74_MonitorParameters.AttitudeMON = SF71_ComputeAttitudeMON.Attitude, - SF74_MonitorParameters.MotorRateMeasured^MotorRate1 = MotorRatesMeasured^MotorRate1, - SF74_MonitorParameters.MotorRateMeasured^MotorRate2 = MotorRatesMeasured^MotorRate2, - SF74_MonitorParameters.MotorRateMeasured^MotorRate3 = MotorRatesMeasured^MotorRate3, - SF74_MonitorParameters.MotorRateMeasured^MotorRate4 = MotorRatesMeasured^MotorRate4, - SF74_MonitorParameters.Alloc_MonProcEmission = Alloc_MonitoringProcessor^Emission, - SF74_MonitorParameters.Alloc_DroneMonitoringDigitalNetworkPath = Alloc_DroneMonitoringDigitalNetworkPath, - SF74_MonitorParameters.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath; -edon - -node eq_AIDASystem_Observers_Observer_v44 - flow - Thrust1:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Thrust2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Thrust3:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Thrust4:Physical_BasicPhysical_HiLoPhysicalStatus:in; - APEngagement:Functions_BasicFunctions_ModeSelection:in; - PilotInconsistentControl:bool:in; - PilotManualControl:Functions_BasicFunctions_ModeSelection:in; - LostHelixesControl:bool:out; - sub - PilotRequiresManualMode:Quadcopter_Observers_PilotRequiresManualMode; - LossOfSelectedManualModeFiltered:Boolean_Boolean_filter; - filter4:Boolean_Boolean_filter; - filter3:Boolean_Boolean_filter; - filter2:Boolean_Boolean_filter; - StuckModeManual:Quadcopter_Observers_StuckModeMAN_v03; - ControlledCrash:Boolean_Boolean_or2; - StuckModeAutoOrErr:Quadcopter_Observers_StuckMode_v03; - FC03_MAJ:Boolean_Boolean_intermediate; - TotalLossOfControl:Boolean_Boolean_and2; - UncontrolledCrashInAuthorizedArea:Boolean_Boolean_or2; - LossOfSelectedManualMode:Boolean_Boolean_and2; - UncontrolledCrashInNonAuthorizedArea:Boolean_Boolean_or2; - FC02_HAZ:Boolean_Boolean_intermediate; - FC01_CAT:Boolean_Boolean_intermediate; - ErroneousControlOfOneHelix:Quadcopter_Observers_ErroneousControlOfOneHelix; - TotalLossOfHelixesControl:Quadcopter_Observers_TotalLossOfHelixesControl; - LossOfAtMost3HelixesControl:Quadcopter_Observers_LossOfAtMost3HelixesControl; - assert - LostHelixesControl = LossOfAtMost3HelixesControl.output, - PilotRequiresManualMode.input = PilotManualControl, - LossOfSelectedManualModeFiltered.filterCriterion = PilotInconsistentControl, - LossOfSelectedManualModeFiltered.input = LossOfSelectedManualMode.O, - filter4.filterCriterion = PilotInconsistentControl, - filter4.input = ControlledCrash.O, - filter3.filterCriterion = PilotInconsistentControl, - filter3.input = UncontrolledCrashInAuthorizedArea.O, - filter2.filterCriterion = PilotInconsistentControl, - filter2.input = UncontrolledCrashInNonAuthorizedArea.O, - StuckModeManual.PilotAPEngagementOrder = PilotManualControl, - StuckModeManual.AppliedAPEngagement = APEngagement, - ControlledCrash.I1 = PilotRequiresManualMode.output, - ControlledCrash.I2 = StuckModeManual.output, - StuckModeAutoOrErr.input = APEngagement, - FC03_MAJ.I = filter4.output, - TotalLossOfControl.I1 = LossOfAtMost3HelixesControl.output, - TotalLossOfControl.I2 = LossOfSelectedManualMode.O, - UncontrolledCrashInAuthorizedArea.I1 = TotalLossOfHelixesControl.output, - UncontrolledCrashInAuthorizedArea.I2 = LossOfAtMost3HelixesControl.output, - LossOfSelectedManualMode.I1 = StuckModeAutoOrErr.output, - LossOfSelectedManualMode.I2 = PilotRequiresManualMode.output, - UncontrolledCrashInNonAuthorizedArea.I1 = ErroneousControlOfOneHelix.output, - UncontrolledCrashInNonAuthorizedArea.I2 = TotalLossOfControl.O, - FC02_HAZ.I = filter3.output, - FC01_CAT.I = filter2.output, - ErroneousControlOfOneHelix.in1 = Thrust1, - ErroneousControlOfOneHelix.in2 = Thrust2, - ErroneousControlOfOneHelix.in3 = Thrust4, - ErroneousControlOfOneHelix.in4 = Thrust3, - TotalLossOfHelixesControl.in1 = Thrust1, - TotalLossOfHelixesControl.in2 = Thrust2, - TotalLossOfHelixesControl.in3 = Thrust4, - TotalLossOfHelixesControl.in4 = Thrust3, - LossOfAtMost3HelixesControl.in1 = Thrust1, - LossOfAtMost3HelixesControl.in2 = Thrust2, - LossOfAtMost3HelixesControl.in3 = Thrust4, - LossOfAtMost3HelixesControl.in4 = Thrust3; -edon - -node eq_AIDASystem_Functions_SF5_MakeAndRecordVideo - flow - icone:[1,2]:private; - ManualPayloadControl:Functions_BasicFunctions_Presence:in; - AutomaticPayloadControl:Physical_BasicPhysical_BasicPhysicalStatus:in; - VideoFlux:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_VideoProcessor^Acquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcessor^Emission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcessor^Computation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_PilotPayloadControlPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_CameraSensor:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_CameraRotarySupport:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_CameraControlDevice:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - SF51_SelectCameraControl:eq_AIDASystem_FunctionsWithPhysical_ForInj_SF51_SelectCameraControl; - SF55_AcquireManualPayloadControl:eq_AIDASystem_FunctionsWithPhysical_ForInj_SF55_AcquireManualPayloadControl; - SF52_ControlCameraOrientation:eq_AIDASystem_FunctionsWithPhysical_ForInj_SF52_ControlCameraOrientation; - SF53_MakePhotosAndVideos:eq_AIDASystem_FunctionsWithPhysical_ForInj_SF53_MakePhotosAndVideos; - SF54_DigitisePhotosAndVideos:eq_AIDASystem_FunctionsWithPhysical_ForInj_SF54_DigitisePhotosAndVideos; - assert - icone = case { - ((((SF55_AcquireManualPayloadControl.SF55_Dysfunctional.status = OK) and (SF52_ControlCameraOrientation.SF52_Dysfunctional.status = OK)) and (SF53_MakePhotosAndVideos.SF53_Dysfunctional.status = OK)) and (SF54_DigitisePhotosAndVideos.SF54_Dysfunctional.status = OK)) : 1, - else 2 - }, - VideoFlux = SF54_DigitisePhotosAndVideos.PhotosAndVideoFiles, - SF51_SelectCameraControl.AutomaticPayloadControl = AutomaticPayloadControl, - SF51_SelectCameraControl.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF51_SelectCameraControl.Alloc_PilotPayloadControlPath = Alloc_PilotPayloadControlPath, - SF51_SelectCameraControl.Alloc_VideoProcEmission = Alloc_VideoProcessor^Emission, - SF51_SelectCameraControl.Alloc_VideoProcComputation = Alloc_VideoProcessor^Computation, - SF51_SelectCameraControl.Alloc_VideoProcAcquisition = Alloc_VideoProcessor^Acquisition, - SF51_SelectCameraControl.ManualPayloadControl^Signal = SF55_AcquireManualPayloadControl.oManualPayloadControl^Signal, - SF51_SelectCameraControl.ManualPayloadControl^IsErroneous = SF55_AcquireManualPayloadControl.oManualPayloadControl^IsErroneous, - SF55_AcquireManualPayloadControl.iManualPayloadControl = ManualPayloadControl, - SF55_AcquireManualPayloadControl.Alloc_CameraControlDevice = Alloc_CameraControlDevice, - SF52_ControlCameraOrientation.CameraPositionConsign = SF51_SelectCameraControl.CameraPositionConsign_PhotoAndVideoControl, - SF52_ControlCameraOrientation.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF52_ControlCameraOrientation.Alloc_CameraRotarySupport = Alloc_CameraRotarySupport, - SF53_MakePhotosAndVideos.CameraPosition = SF52_ControlCameraOrientation.CameraPosition, - SF53_MakePhotosAndVideos.PhotoAndVideoControl = SF51_SelectCameraControl.CameraPositionConsign_PhotoAndVideoControl, - SF53_MakePhotosAndVideos.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF53_MakePhotosAndVideos.Alloc_CameraSensor = Alloc_CameraSensor, - SF54_DigitisePhotosAndVideos.Video_Photo = SF53_MakePhotosAndVideos.Video_Photo, - SF54_DigitisePhotosAndVideos.FileStorageFormat = SF51_SelectCameraControl.FileStorageFormat, - SF54_DigitisePhotosAndVideos.Alloc_VideoProcComputation = Alloc_VideoProcessor^Computation, - SF54_DigitisePhotosAndVideos.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF54_DigitisePhotosAndVideos.Alloc_VideoProcEmission = Alloc_VideoProcessor^Emission, - SF54_DigitisePhotosAndVideos.Alloc_VideoProcAcquisition = Alloc_VideoProcessor^Acquisition; -edon - -node eq_AIDASystem_Functions_SF4_ControlDroneNavigation - flow - Position:Physical_BasicPhysical_BasicPhysicalStatus:in; - Time:Physical_BasicPhysical_BasicPhysicalStatus:in; - PositionConsign:Physical_BasicPhysical_BasicPhysicalStatus:out; - SpeedConsign:Physical_BasicPhysical_BasicPhysicalStatus:out; - FlightPlan:Physical_BasicPhysical_BasicPhysicalStatus:in; - APEngagement_WSL^Mode:Functions_BasicFunctions_ModeSelection:out; - APEngagement_WSL^IsErroneous:bool:out; - APEngagement:Functions_BasicFunctions_ModeSelection:out; - IndicatedMode^Mode:Functions_BasicFunctions_ModeSelection:out; - IndicatedMode^IsErroneous:bool:out; - PilotManualControl:Functions_BasicFunctions_ModeSelection:in; - FlightPlanProgress:Physical_BasicPhysical_BasicPhysicalStatus:out; - AutomaticPayloadControl:Physical_BasicPhysical_BasicPhysicalStatus:out; - ManualOverride:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcessor^Acquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcessor^Emission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcessor^Computation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_PilotDroneControlPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMissionDataPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneControlDesk_transmission:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - Inj_DroneControlDesk_transmission:Functions_PhysicalOperators_PhysicalInjection; - SF42_RunAutomaticControl:eq_AIDASystem_Functions_SF42_RunAutomaticControl; - SF44_AcquirePilotControlConsignAndMode:eq_AIDASystem_Functions_SF44_AcquirePilotControlConsignAndMode; - SF43_SelectControlMode:eq_AIDASystem_Functions_SF43_SelectControlMode; - SF41_AcquireAndStoreFlightPlan:Functions_BasicFunctions_InOutFunction; - assert - PositionConsign = SF42_RunAutomaticControl.PositionConsign, - SpeedConsign = SF42_RunAutomaticControl.SpeedConsign, - APEngagement_WSL^Mode = SF43_SelectControlMode.APEngagement_WSL^Mode, - APEngagement_WSL^IsErroneous = SF43_SelectControlMode.APEngagement_WSL^IsErroneous, - APEngagement = SF43_SelectControlMode.APEngagement, - IndicatedMode^Mode = SF43_SelectControlMode.IndicatedMode^Mode, - IndicatedMode^IsErroneous = SF43_SelectControlMode.IndicatedMode^IsErroneous, - FlightPlanProgress = SF42_RunAutomaticControl.FlightPlanProgress, - AutomaticPayloadControl = SF42_RunAutomaticControl.AutomaticPayloadControl, - Inj_DroneControlDesk_transmission.alloc = Alloc_DroneControlDesk_transmission, - Inj_DroneControlDesk_transmission.input = SF41_AcquireAndStoreFlightPlan.output, - SF42_RunAutomaticControl.FlightPlan = Inj_DroneControlDesk_transmission.output, - SF42_RunAutomaticControl.Position = Position, - SF42_RunAutomaticControl.PilotControlConsigns = SF44_AcquirePilotControlConsignAndMode.AcquiredPilotControlConsigns, - SF42_RunAutomaticControl.Time = Time, - SF42_RunAutomaticControl.FlightPlanInterruption = SF43_SelectControlMode.FlightPlanInterruption, - SF42_RunAutomaticControl.Alloc_MainProcComputation = Alloc_MainProcessor^Computation, - SF42_RunAutomaticControl.Alloc_MainProcEmission = Alloc_MainProcessor^Emission, - SF42_RunAutomaticControl.Alloc_DroneMissionDataPath = Alloc_DroneMissionDataPath, - SF42_RunAutomaticControl.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF42_RunAutomaticControl.Alloc_MainProcAcquisition = Alloc_MainProcessor^Acquisition, - SF44_AcquirePilotControlConsignAndMode.PilotControlMode = PilotManualControl, - SF44_AcquirePilotControlConsignAndMode.Alloc_DroneControlDesk_transmission = Alloc_DroneControlDesk_transmission, - SF43_SelectControlMode.PilotManualControl = SF44_AcquirePilotControlConsignAndMode.AcquiredPilotControlMode, - SF43_SelectControlMode.ManualOverride = ManualOverride, - SF43_SelectControlMode.MissionCompleted^Signal = SF42_RunAutomaticControl.MissionCompleted^Signal, - SF43_SelectControlMode.MissionCompleted^IsErroneous = SF42_RunAutomaticControl.MissionCompleted^IsErroneous, - SF43_SelectControlMode.Alloc_MainProcComputation = Alloc_MainProcessor^Computation, - SF43_SelectControlMode.Alloc_MainProcEmission = Alloc_MainProcessor^Emission, - SF43_SelectControlMode.Alloc_DroneMissionDataPath = Alloc_DroneMissionDataPath, - SF43_SelectControlMode.Alloc_PilotDroneControlPath = Alloc_PilotDroneControlPath, - SF43_SelectControlMode.Alloc_MainProcAcquisition = Alloc_MainProcessor^Acquisition, - SF41_AcquireAndStoreFlightPlan.input = FlightPlan; -edon - -node eq_AIDASystem_Functions_SF1_ControlDroneHelixes_2 - flow - icone:[1,2]:private; - MotorRatesMeasured^MotorRate1:Physical_BasicPhysical_HiLoPhysicalStatus:out; - MotorRatesMeasured^MotorRate2:Physical_BasicPhysical_HiLoPhysicalStatus:out; - MotorRatesMeasured^MotorRate3:Physical_BasicPhysical_HiLoPhysicalStatus:out; - MotorRatesMeasured^MotorRate4:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_PowerDistribution^EPL_Act1:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_PowerDistribution^EPL_Act2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_PowerDistribution^EPL_Act3:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_PowerDistribution^EPL_Act4:Physical_BasicPhysical_HiLoPhysicalStatus:in; - MotorRate:Physical_BasicPhysical_HiLoPhysicalStatus:in; - ThrustAndTorque1:Physical_BasicPhysical_HiLoPhysicalStatus:out; - ThrustAndTorque2:Physical_BasicPhysical_HiLoPhysicalStatus:out; - ThrustAndTorque3:Physical_BasicPhysical_HiLoPhysicalStatus:out; - ThrustAndTorque4:Physical_BasicPhysical_HiLoPhysicalStatus:out; - MotorDisabled^Motor1:bool:in; - MotorDisabled^IsErroneous1:bool:in; - MotorDisabled^Motor2:bool:in; - MotorDisabled^IsErroneous2:bool:in; - MotorDisabled^Motor3:bool:in; - MotorDisabled^IsErroneous3:bool:in; - MotorDisabled^Motor4:bool:in; - MotorDisabled^IsErroneous4:bool:in; - Alloc_MotorsAndVariators^MotorAndVariator1:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MotorsAndVariators^MotorAndVariator2:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MotorsAndVariators^MotorAndVariator3:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MotorsAndVariators^MotorAndVariator4:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneMonitoringDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_Propellers^Propeller1:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_Propellers^Propeller2:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_Propellers^Propeller3:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_Propellers^Propeller4:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - SF14_ControlHelix4:eq_AIDASystem_Functions_SF1i_ControlHelix_2; - SF13_ControlHelix3:eq_AIDASystem_Functions_SF1i_ControlHelix_2; - SF12_ControlHelix2:eq_AIDASystem_Functions_SF1i_ControlHelix_2; - SF11_ControlHelix1:eq_AIDASystem_Functions_SF1i_ControlHelix_2; - assert - icone = case { - ((((((((((((SF11_ControlHelix1.SF1i1_5_CreateMotionAndMeasure.status = OK) and (SF11_ControlHelix1.SF1i3_CreateThrustAndTorque.status = OK)) and (SF11_ControlHelix1.SF1i6_DepowerMotor.status = OK)) and (SF12_ControlHelix2.SF1i1_5_CreateMotionAndMeasure.status = OK)) and (SF12_ControlHelix2.SF1i3_CreateThrustAndTorque.status = OK)) and (SF12_ControlHelix2.SF1i6_DepowerMotor.status = OK)) and (SF13_ControlHelix3.SF1i1_5_CreateMotionAndMeasure.status = OK)) and (SF13_ControlHelix3.SF1i3_CreateThrustAndTorque.status = OK)) and (SF13_ControlHelix3.SF1i6_DepowerMotor.status = OK)) and (SF14_ControlHelix4.SF1i1_5_CreateMotionAndMeasure.status = OK)) and (SF14_ControlHelix4.SF1i3_CreateThrustAndTorque.status = OK)) and (SF14_ControlHelix4.SF1i6_DepowerMotor.status = OK)) : 1, - else 2 - }, - MotorRatesMeasured^MotorRate1 = SF11_ControlHelix1.MotorRateMeasured, - MotorRatesMeasured^MotorRate2 = SF12_ControlHelix2.MotorRateMeasured, - MotorRatesMeasured^MotorRate3 = SF13_ControlHelix3.MotorRateMeasured, - MotorRatesMeasured^MotorRate4 = SF14_ControlHelix4.MotorRateMeasured, - ThrustAndTorque1 = SF11_ControlHelix1.ThrustAndTorque, - ThrustAndTorque2 = SF12_ControlHelix2.ThrustAndTorque, - ThrustAndTorque3 = SF13_ControlHelix3.ThrustAndTorque, - ThrustAndTorque4 = SF14_ControlHelix4.ThrustAndTorque, - SF14_ControlHelix4.MotorDisabled_IsErroneous = MotorDisabled^IsErroneous4, - SF14_ControlHelix4.MotorDisabled = MotorDisabled^Motor4, - SF14_ControlHelix4.MotorRate = MotorRate, - SF14_ControlHelix4.Alloc_PowerDistribution = Alloc_PowerDistribution^EPL_Act4, - SF14_ControlHelix4.Alloc_MotorAndVariator = Alloc_MotorsAndVariators^MotorAndVariator4, - SF14_ControlHelix4.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF14_ControlHelix4.Alloc_DroneMonitoringDigitalNetworkPath = Alloc_DroneMonitoringDigitalNetworkPath, - SF14_ControlHelix4.Alloc_Propeller = Alloc_Propellers^Propeller4, - SF13_ControlHelix3.MotorDisabled_IsErroneous = MotorDisabled^IsErroneous3, - SF13_ControlHelix3.MotorDisabled = MotorDisabled^Motor3, - SF13_ControlHelix3.MotorRate = MotorRate, - SF13_ControlHelix3.Alloc_PowerDistribution = Alloc_PowerDistribution^EPL_Act3, - SF13_ControlHelix3.Alloc_MotorAndVariator = Alloc_MotorsAndVariators^MotorAndVariator3, - SF13_ControlHelix3.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF13_ControlHelix3.Alloc_DroneMonitoringDigitalNetworkPath = Alloc_DroneMonitoringDigitalNetworkPath, - SF13_ControlHelix3.Alloc_Propeller = Alloc_Propellers^Propeller3, - SF12_ControlHelix2.MotorDisabled_IsErroneous = MotorDisabled^IsErroneous2, - SF12_ControlHelix2.MotorDisabled = MotorDisabled^Motor2, - SF12_ControlHelix2.MotorRate = MotorRate, - SF12_ControlHelix2.Alloc_PowerDistribution = Alloc_PowerDistribution^EPL_Act2, - SF12_ControlHelix2.Alloc_MotorAndVariator = Alloc_MotorsAndVariators^MotorAndVariator2, - SF12_ControlHelix2.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF12_ControlHelix2.Alloc_DroneMonitoringDigitalNetworkPath = Alloc_DroneMonitoringDigitalNetworkPath, - SF12_ControlHelix2.Alloc_Propeller = Alloc_Propellers^Propeller2, - SF11_ControlHelix1.MotorDisabled_IsErroneous = MotorDisabled^IsErroneous1, - SF11_ControlHelix1.MotorDisabled = MotorDisabled^Motor1, - SF11_ControlHelix1.MotorRate = MotorRate, - SF11_ControlHelix1.Alloc_PowerDistribution = Alloc_PowerDistribution^EPL_Act1, - SF11_ControlHelix1.Alloc_MotorAndVariator = Alloc_MotorsAndVariators^MotorAndVariator1, - SF11_ControlHelix1.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF11_ControlHelix1.Alloc_DroneMonitoringDigitalNetworkPath = Alloc_DroneMonitoringDigitalNetworkPath, - SF11_ControlHelix1.Alloc_Propeller = Alloc_Propellers^Propeller1; -edon - -node eq_AIDASystem_Functions_SF2_ControlDroneAttitudeAndPosition - flow - icone:[1,2]:private; - VerticalSpeed:Physical_BasicPhysical_BasicPhysicalStatus:in; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:in; - Position:Physical_BasicPhysical_BasicPhysicalStatus:in; - Speed:Physical_BasicPhysical_HiLoPhysicalStatus:in; - PositionConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - SpeedConsign:Physical_BasicPhysical_BasicPhysicalStatus:in; - APEngagement:Functions_BasicFunctions_ModeSelection:in; - MotorRate:Physical_BasicPhysical_HiLoPhysicalStatus:out; - DetectControlDronePosition:Physical_BasicPhysical_BasicPhysicalStatus:out; - Consigns^AltitudeManualConsign:Physical_BasicPhysical_BasicPhysicalStatus:out; - Consigns^YawManualConsign:Physical_BasicPhysical_BasicPhysicalStatus:out; - Consigns^PitchRollManualConsign:Physical_BasicPhysical_BasicPhysicalStatus:out; - Consigns^AltitudeAndAttitudeAPConsign:Physical_BasicPhysical_BasicPhysicalStatus:out; - PilotOrders:Functions_BasicFunctions_Presence:in; - ManualOverride:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_MainProcessor^Acquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcessor^Emission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcessor^Computation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_PilotDroneControlPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_PushButton:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_LeftAndRightSideSticks:Physical_BasicPhysical_BasicPhysicalStatus:in; - sub - SF24_ControlAltitude:eq_AIDASystem_FunctionsWithPhysical_forInj_SF24_ControlAltitude; - SF23_ControlAttitude:eq_AIDASystem_FunctionsWithPhysical_forInj_SF23_ControlAttitude; - SF22_AcquirePilotOrders:eq_AIDASystem_FunctionsWithPhysical_forInj_SF22_AcquirePilotOrders; - SF21_ControlPosition:eq_AIDASystem_Functions_SF21_ControlPosition; - SF25_ControlThrust:eq_AIDASystem_FunctionsWithPhysical_forInj_SF25_ControlThrust; - assert - icone = case { - ((((((((SF21_ControlPosition.SF21_Dysfunctional.status # OK) or (SF22_AcquirePilotOrders.SF221_4_Dysfunctional.status # OK)) or (SF22_AcquirePilotOrders.SF225_Dysfunctional.status # OK)) or (SF23_ControlAttitude.SF231_ComputeYawConsign.status # OK)) or (SF23_ControlAttitude.SF_232_5_ControlAttitudeAngle.status # OK)) or (SF24_ControlAltitude.SF241_ComputeAltitudeConsign.status # OK)) or (SF24_ControlAltitude.SF242_3_ComputeTotalThrust.status # OK)) or (SF25_ControlThrust.SF25_Dysfunctional.status # OK)) : 2, - else 1 - }, - MotorRate = SF25_ControlThrust.MotorRates, - DetectControlDronePosition = SF21_ControlPosition.Attitude_Thrust_APConsign, - Consigns^AltitudeManualConsign = SF24_ControlAltitude.AltitudeConsign, - Consigns^YawManualConsign = SF23_ControlAttitude.YawConsign, - Consigns^PitchRollManualConsign = SF22_AcquirePilotOrders.Consigns, - Consigns^AltitudeAndAttitudeAPConsign = SF21_ControlPosition.Attitude_Thrust_APConsign_WSL, - ManualOverride = SF22_AcquirePilotOrders.ManualOverride, - SF24_ControlAltitude.Altitude = Altitude, - SF24_ControlAltitude.Attitude = Attitude, - SF24_ControlAltitude.VerticalSpeedConsign = SF22_AcquirePilotOrders.Consigns, - SF24_ControlAltitude.Thrust_AP = SF21_ControlPosition.Attitude_Thrust_APConsign, - SF24_ControlAltitude.APEngagement = APEngagement, - SF24_ControlAltitude.Alloc_PilotDroneControlPath = Alloc_PilotDroneControlPath, - SF24_ControlAltitude.Alloc_MainProcEmission = Alloc_MainProcessor^Emission, - SF24_ControlAltitude.Alloc_MainProcAcquisition = Alloc_MainProcessor^Acquisition, - SF24_ControlAltitude.Alloc_MainProcComputation = Alloc_MainProcessor^Computation, - SF23_ControlAttitude.Attitude = Attitude, - SF23_ControlAttitude.AttitudeAPConsign = SF21_ControlPosition.Attitude_Thrust_APConsign, - SF23_ControlAttitude.PitchRollConsign = SF22_AcquirePilotOrders.Consigns, - SF23_ControlAttitude.YawRateConsign = SF22_AcquirePilotOrders.Consigns, - SF23_ControlAttitude.APEngagement = APEngagement, - SF23_ControlAttitude.Alloc_PilotDroneControlPath = Alloc_PilotDroneControlPath, - SF23_ControlAttitude.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF23_ControlAttitude.Alloc_MainProcEmission = Alloc_MainProcessor^Emission, - SF23_ControlAttitude.Alloc_MainProcAcquisition = Alloc_MainProcessor^Acquisition, - SF23_ControlAttitude.Alloc_MainProcComputation = Alloc_MainProcessor^Computation, - SF22_AcquirePilotOrders.Alloc_PushButton = Alloc_PushButton, - SF22_AcquirePilotOrders.Alloc_LeftAndRightSideSticks = Alloc_LeftAndRightSideSticks, - SF22_AcquirePilotOrders.PilotOrders = PilotOrders, - SF21_ControlPosition.Position = Position, - SF21_ControlPosition.VerticalSpeed = VerticalSpeed, - SF21_ControlPosition.Speed = Speed, - SF21_ControlPosition.Attitude = Attitude, - SF21_ControlPosition.PositionConsign = PositionConsign, - SF21_ControlPosition.SpeedConsign = SpeedConsign, - SF21_ControlPosition.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF21_ControlPosition.Alloc_MainProcEmission = Alloc_MainProcessor^Emission, - SF21_ControlPosition.Alloc_MainProcComputation = Alloc_MainProcessor^Computation, - SF25_ControlThrust.P = SF23_ControlAttitude.P, - SF25_ControlThrust.Thrust = SF24_ControlAltitude.Thrust, - SF25_ControlThrust.Alloc_MainProcEmission = Alloc_MainProcessor^Emission, - SF25_ControlThrust.Alloc_MainProcComputation = Alloc_MainProcessor^Computation; -edon - -node eq_AIDASystem_Functions_SF3_ComputeDronePositionAndSpeed - flow - icone:[1,2]:private; - VerticalSpeed_WSL:Physical_BasicPhysical_BasicPhysicalStatus:out; - Altitude_WSL:Physical_BasicPhysical_HiLoPhysicalStatus:out; - VerticalSpeed:Physical_BasicPhysical_BasicPhysicalStatus:out; - Altitude:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Attitude_WSL:Physical_BasicPhysical_BasicPhysicalStatus:out; - Attitude:Physical_BasicPhysical_BasicPhysicalStatus:out; - Position:Physical_BasicPhysical_BasicPhysicalStatus:out; - Speed:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Time:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_VideoProcessor^Acquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcessor^Emission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_VideoProcessor^Computation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcessor^Acquisition:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcessor^Emission:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_MainProcessor^Computation:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_Sensors^IRS:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_Sensors^Magnetometer:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_Sensors^PressureSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_Sensors^TelemetricSensor:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Alloc_Sensors^LateralSpeedCamera:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_Sensors^PositionSensor:Physical_BasicPhysical_BasicPhysicalStatus:in; - Alloc_DroneDigitalNetworkPath:Physical_BasicPhysical_BasicPhysicalStatus:in; - GroundAltitude_WSL:Physical_BasicPhysical_HiLoPhysicalStatus:out; - sub - SF32_ComputeAltitude:eq_AIDASystem_FunctionsWithPhysical_Alloc_SF32_ComputeAltitude; - SF33_ComputeDroneSpeed:eq_AIDASystem_Functions_SF33_ComputeDroneSpeed; - SF31_ComputeAttitude:eq_AIDASystem_FunctionsWithPhysical_Alloc_SF31_ComputeAttitude; - SF34_ComputePositionAndTime:eq_AIDASystem_FunctionsWithPhysical_Alloc_SF34_ComputePositionAndTime; - assert - icone = case { - (((((((((((SF31_ComputeAttitude.SF311_2_Dysfunctional.status = OK) and (SF31_ComputeAttitude.SF313_Dysfunctional.status = OK)) and (SF31_ComputeAttitude.SF314_6_Dysfunctional.status = OK)) and (SF32_ComputeAltitude.SF321_MeasureAmbiantPressure.SF321_Dysfunctional.status = OK)) and (SF32_ComputeAltitude.SF322_ComputeBarometricAltitude.SF322_Dysfunctional.status = OK)) and (SF32_ComputeAltitude.SF323_MeasureTelemetricSignal.SF323_Dysfunctional.status = OK)) and (SF32_ComputeAltitude.SF324_ComputeGroundAltitude.SF324_Dysfunctional.status = OK)) and (SF32_ComputeAltitude.SF325_ComputeAltitudeAndVerticalSpeed.SF325_Dysfunctional.status = OK)) and (SF33_ComputeDroneSpeed.SF331_FilmGround.SF331_Dysfunctional.status = OK)) and (SF33_ComputeDroneSpeed.SF332_ComputeGroundSpeed.SF332_Dysfunctional.status = OK)) and (SF34_ComputePositionAndTime.SF34_Dysfunctional.status = OK)) : 1, - else 2 - }, - VerticalSpeed_WSL = SF32_ComputeAltitude.VerticalSpeed_WSL, - Altitude_WSL = SF32_ComputeAltitude.Altitude_WSL, - VerticalSpeed = SF32_ComputeAltitude.VerticalSpeed, - Altitude = SF32_ComputeAltitude.Altitude, - Attitude_WSL = SF31_ComputeAttitude.Attitude_WSL, - Attitude = SF31_ComputeAttitude.Attitude, - Position = SF34_ComputePositionAndTime.PositionAndTime, - Speed = SF33_ComputeDroneSpeed.Speed_WSL, - Time = SF34_ComputePositionAndTime.PositionAndTime, - GroundAltitude_WSL = SF32_ComputeAltitude.GroundAltitude_WSL, - SF32_ComputeAltitude.Alloc_MainProcAcquisition = Alloc_MainProcessor^Acquisition, - SF32_ComputeAltitude.Alloc_MainProcComputation = Alloc_MainProcessor^Computation, - SF32_ComputeAltitude.Alloc_TelemetricSensor = Alloc_Sensors^TelemetricSensor, - SF32_ComputeAltitude.Alloc_PressureSensor = Alloc_Sensors^PressureSensor, - SF32_ComputeAltitude.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF32_ComputeAltitude.Attitude = SF31_ComputeAttitude.Attitude, - SF32_ComputeAltitude.Alloc_MainProcEmission = Alloc_MainProcessor^Emission, - SF33_ComputeDroneSpeed.GroundAltitude = SF32_ComputeAltitude.GroundAltitude_WSL, - SF33_ComputeDroneSpeed.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF33_ComputeDroneSpeed.Alloc_LateralSpeedCamera = Alloc_Sensors^LateralSpeedCamera, - SF33_ComputeDroneSpeed.Alloc_VideoProcAcquisition = Alloc_VideoProcessor^Acquisition, - SF33_ComputeDroneSpeed.Alloc_VideoProcEmission = Alloc_VideoProcessor^Emission, - SF33_ComputeDroneSpeed.Alloc_VideoProcComputation = Alloc_VideoProcessor^Computation, - SF31_ComputeAttitude.Alloc_MainProcEmission = Alloc_MainProcessor^Emission, - SF31_ComputeAttitude.Alloc_MainProcAcquisition = Alloc_MainProcessor^Acquisition, - SF31_ComputeAttitude.Alloc_MainProcComputation = Alloc_MainProcessor^Computation, - SF31_ComputeAttitude.Alloc_IRS = Alloc_Sensors^IRS, - SF31_ComputeAttitude.Alloc_Magnetometer = Alloc_Sensors^Magnetometer, - SF31_ComputeAttitude.Alloc_DroneDigitalNetworkPath = Alloc_DroneDigitalNetworkPath, - SF34_ComputePositionAndTime.Alloc_PositionSensor = Alloc_Sensors^PositionSensor; -edon - -node eq_AIDASystem_Physical_Propellers - flow - Alloc_Propellers^Propeller1:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_Propellers^Propeller2:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_Propellers^Propeller3:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_Propellers^Propeller4:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - Propeller4:Components_Propellers_Propeller; - Propeller3:Components_Propellers_Propeller; - Propeller2:Components_Propellers_Propeller; - Propeller1:Components_Propellers_Propeller; - assert - Alloc_Propellers^Propeller1 = Propeller1.output, - Alloc_Propellers^Propeller2 = Propeller2.output, - Alloc_Propellers^Propeller3 = Propeller3.output, - Alloc_Propellers^Propeller4 = Propeller4.output; -edon - -node eq_AIDASystem_Physical_PowerSupply - flow - Power_MonitoringProcessor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_MainProcessor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_Actuators^EPL_Act1:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_Actuators^EPL_Act2:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_Actuators^EPL_Act3:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Alloc_Actuators^EPL_Act4:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_CameraSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_CameraRotarySupport:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_WifiController:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_RadioController:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_VideoProcessor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_Sensors_MON^IRS:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_Sensors_MON^Magnetometer:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_Sensors_MON^PressureSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_Sensors_MON^TelemetricSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_Sensors_Main^IRS:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_Sensors_Main^Magnetometer:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_Sensors_Main^PressureSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_Sensors_Main^TelemetricSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_Sensors_Main^PositionSensor:Physical_BasicPhysical_HiLoPhysicalStatus:out; - Power_Sensors_Main^LateralSpeedCamera:Physical_BasicPhysical_HiLoPhysicalStatus:out; - sub - DroneBattery:Components_PowerSupply_PowerGeneration; - PowerDistribution:eq_AIDASystem_Physical_PowerDistribution; - PowerDistribution_MON:eq_AIDASystem_Physical_PowerDistribution_MON; - assert - Power_MonitoringProcessor = PowerDistribution_MON.oDistribToMonitoringProcessor, - Power_MainProcessor = PowerDistribution.oDistribToMainProcessor, - Alloc_Actuators^EPL_Act1 = PowerDistribution.oDistribToActuator1, - Alloc_Actuators^EPL_Act2 = PowerDistribution.oDistribToActuator2, - Alloc_Actuators^EPL_Act3 = PowerDistribution.oDistribToActuator3, - Alloc_Actuators^EPL_Act4 = PowerDistribution.oDistribToActuator4, - Power_CameraSensor = PowerDistribution.oDistribToCameraSensor, - Power_CameraRotarySupport = PowerDistribution.oDistribToCameraRotarySupport, - Power_WifiController = PowerDistribution.oDistribToWifiController, - Power_RadioController = PowerDistribution.oDistribToRadioController, - Power_VideoProcessor = PowerDistribution.oDistribToVideoProcessor, - Power_Sensors_MON^IRS = PowerDistribution_MON.oDistribToIRS_MON, - Power_Sensors_MON^Magnetometer = PowerDistribution_MON.oDistribToMagnetometer_MON, - Power_Sensors_MON^PressureSensor = PowerDistribution_MON.oDistribToPressureSensor_MON, - Power_Sensors_MON^TelemetricSensor = PowerDistribution_MON.oDistribToTelemetricSensor_MON, - Power_Sensors_Main^IRS = PowerDistribution.oDistribToIRS, - Power_Sensors_Main^Magnetometer = PowerDistribution.oDistribToMagnetometer, - Power_Sensors_Main^PressureSensor = PowerDistribution.oDistribToPressureSensor, - Power_Sensors_Main^TelemetricSensor = PowerDistribution.oDistribToTelemetricSensor, - Power_Sensors_Main^PositionSensor = PowerDistribution.oDistribToPositionSensor, - Power_Sensors_Main^LateralSpeedCamera = PowerDistribution.oDistribToLateralSpeedCamera, - PowerDistribution.PowerInput = DroneBattery.output, - PowerDistribution_MON.PowerInput_MON = DroneBattery.output; -edon - -node eq_AIDASystem_Physical_Actuators - flow - Alloc_MotorsAndVariators^MotorAndVariator1:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_MotorsAndVariators^MotorAndVariator2:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_MotorsAndVariators^MotorAndVariator3:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_MotorsAndVariators^MotorAndVariator4:Physical_BasicPhysical_BasicPhysicalStatus:out; - Power^EPL_Act1:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power^EPL_Act2:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power^EPL_Act3:Physical_BasicPhysical_HiLoPhysicalStatus:in; - Power^EPL_Act4:Physical_BasicPhysical_HiLoPhysicalStatus:in; - sub - MotorAndVariator4:Components_Actuators_MotorAndVariator; - MotorAndVariator3:Components_Actuators_MotorAndVariator; - MotorAndVariator2:Components_Actuators_MotorAndVariator; - MotorAndVariator1:Components_Actuators_MotorAndVariator; - assert - Alloc_MotorsAndVariators^MotorAndVariator1 = MotorAndVariator1.output, - Alloc_MotorsAndVariators^MotorAndVariator2 = MotorAndVariator2.output, - Alloc_MotorsAndVariators^MotorAndVariator3 = MotorAndVariator3.output, - Alloc_MotorsAndVariators^MotorAndVariator4 = MotorAndVariator4.output, - MotorAndVariator4.Power = Power^EPL_Act4, - MotorAndVariator3.Power = Power^EPL_Act3, - MotorAndVariator2.Power = Power^EPL_Act2, - MotorAndVariator1.Power = Power^EPL_Act1; -edon - -node eq_AIDASystem_Physical_DroneControlDesk - flow - Alloc_DroneControlDesk_transmission:Physical_BasicPhysical_BasicPhysicalStatus:out; - Alloc_DroneControlDesk_reception:Physical_BasicPhysical_BasicPhysicalStatus:out; - sub - DroneControlDesk_reception:Components_DroneControlDesk_DroneControlDesk; - DroneControlDesk_transmission:Components_DroneControlDesk_DroneControlDesk; - assert - Alloc_DroneControlDesk_transmission = DroneControlDesk_transmission.Alloc_DroneControlDesk, - Alloc_DroneControlDesk_reception = DroneControlDesk_reception.Alloc_DroneControlDesk; -edon - -node main - sub - Payload:eq_AIDASystem_Physical_Payload; - Paths:eq_AIDASystem_Physical_Paths; - CommunicationDevices:eq_AIDASystem_Physical_CommunicationDevices; - Remotecontrol:eq_AIDASystem_Physical_Remotecontrol; - Networks:eq_AIDASystem_Physical_Networks; - Sensors:eq_AIDASystem_Physical_Sensors; - Computers:eq_AIDASystem_Physical_Computers; - SF6:eq_AIDASystem_Functions_SF6_ManageMission; - EXT_Database_UploadPredefinedFlightZoneBoarders:Functions_BasicFunctions_SourceFunction; - EXT_PilotDetection:AIDASystem_Functions_Detection_v44; - SF7:eq_AIDASystem_Functions_SF7_MonitorDroneControl_v042; - FailureConditions:eq_AIDASystem_Observers_Observer_v44; - SF5:eq_AIDASystem_Functions_SF5_MakeAndRecordVideo; - SF4:eq_AIDASystem_Functions_SF4_ControlDroneNavigation; - SF1:eq_AIDASystem_Functions_SF1_ControlDroneHelixes_2; - SF2:eq_AIDASystem_Functions_SF2_ControlDroneAttitudeAndPosition; - SF3:eq_AIDASystem_Functions_SF3_ComputeDronePositionAndSpeed; - Propellers:eq_AIDASystem_Physical_Propellers; - PowerSupply:eq_AIDASystem_Physical_PowerSupply; - Actuators:eq_AIDASystem_Physical_Actuators; - DroneControlDesk:eq_AIDASystem_Physical_DroneControlDesk; - assert - Payload.Power_CameraSensor = PowerSupply.Power_CameraSensor, - Payload.Power_CameraRotarySupport = PowerSupply.Power_CameraRotarySupport, - Paths.WifiController_transmission = CommunicationDevices.oWifiController_transmission, - Paths.WifiController_reception = CommunicationDevices.oWifiController_reception, - Paths.RadioController = CommunicationDevices.oRadioController, - Paths.RemoteCommunication = Remotecontrol.oRemoteCommunication, - Paths.MonitoringDigitalNetwork = Networks.Alloc_MonitoringDN, - Paths.MainDigitalNetwork = Networks.Alloc_MainDN, - CommunicationDevices.Power_WifiController = PowerSupply.Power_WifiController, - CommunicationDevices.Power_RadioController = PowerSupply.Power_RadioController, - Sensors.Power_MON^IRS = PowerSupply.Power_Sensors_MON^IRS, - Sensors.Power_MON^Magnetometer = PowerSupply.Power_Sensors_MON^Magnetometer, - Sensors.Power_MON^PressureSensor = PowerSupply.Power_Sensors_MON^PressureSensor, - Sensors.Power_MON^TelemetricSensor = PowerSupply.Power_Sensors_MON^TelemetricSensor, - Sensors.Power^IRS = PowerSupply.Power_Sensors_Main^IRS, - Sensors.Power^Magnetometer = PowerSupply.Power_Sensors_Main^Magnetometer, - Sensors.Power^PressureSensor = PowerSupply.Power_Sensors_Main^PressureSensor, - Sensors.Power^TelemetricSensor = PowerSupply.Power_Sensors_Main^TelemetricSensor, - Sensors.Power^PositionSensor = PowerSupply.Power_Sensors_Main^PositionSensor, - Sensors.Power^LateralSpeedCamera = PowerSupply.Power_Sensors_Main^LateralSpeedCamera, - Computers.Power_MonitoringProcessor = PowerSupply.Power_MonitoringProcessor, - Computers.Power_MainProcessor = PowerSupply.Power_MainProcessor, - Computers.Power_VideoProcessor = PowerSupply.Power_VideoProcessor, - SF6.iFlightPlanProgress = SF4.FlightPlanProgress, - SF6.iFlightPlan = EXT_Database_UploadPredefinedFlightZoneBoarders.output, - SF6.iDroneControlMode^Mode = SF4.IndicatedMode^Mode, - SF6.iDroneControlMode^IsErroneous = SF4.IndicatedMode^IsErroneous, - SF6.Alloc_DroneMissionDataPath_Drone2ControlDesk = Paths.Alloc_DroneMissionDataPath_ControlDesk2Drone, - SF6.Alloc_DroneControlDesk_transmission = DroneControlDesk.Alloc_DroneControlDesk_transmission, - SF6.Alloc_DroneControlDesk_reception = DroneControlDesk.Alloc_DroneControlDesk_reception, - EXT_PilotDetection.inputFlightPlan = SF6.oFlightPlanProgress, - EXT_PilotDetection.inputPosition = SF3.Position, - EXT_PilotDetection.inputSpeed = SF3.Speed, - EXT_PilotDetection.inputControlPosition = SF2.DetectControlDronePosition, - EXT_PilotDetection.inputLostHelixesControl = FailureConditions.LostHelixesControl, - EXT_PilotDetection.inputIndicatedMode = SF6.oDroneControlMode, - SF7.APEngagement^Mode = SF4.APEngagement_WSL^Mode, - SF7.APEngagement^IsErroneous = SF4.APEngagement_WSL^IsErroneous, - SF7.Attitude = SF3.Attitude_WSL, - SF7.GroundAltitude = SF3.GroundAltitude_WSL, - SF7.VerticalSpeed = SF3.VerticalSpeed_WSL, - SF7.Altitude = SF3.Altitude_WSL, - SF7.MotorRate = SF2.MotorRate, - SF7.MotorRatesMeasured^MotorRate1 = SF1.MotorRatesMeasured^MotorRate1, - SF7.MotorRatesMeasured^MotorRate2 = SF1.MotorRatesMeasured^MotorRate2, - SF7.MotorRatesMeasured^MotorRate3 = SF1.MotorRatesMeasured^MotorRate3, - SF7.MotorRatesMeasured^MotorRate4 = SF1.MotorRatesMeasured^MotorRate4, - SF7.Consigns^AltitudeManualConsign = SF2.Consigns^AltitudeManualConsign, - SF7.Consigns^YawManualConsign = SF2.Consigns^YawManualConsign, - SF7.Consigns^PitchRollManualConsign = SF2.Consigns^PitchRollManualConsign, - SF7.Consigns^AltitudeAndAttitudeAPConsign = SF2.Consigns^AltitudeAndAttitudeAPConsign, - SF7.Alloc_PilotDroneControlPath = Paths.Alloc_PilotDroneControlPath, - SF7.Alloc_SensorsMON^IRS = Sensors.Alloc_Sensors_MON^IRS, - SF7.Alloc_SensorsMON^Magnetometer = Sensors.Alloc_Sensors_MON^Magnetometer, - SF7.Alloc_SensorsMON^PressureSensor = Sensors.Alloc_Sensors_MON^PressureSensor, - SF7.Alloc_SensorsMON^TelemetricSensor = Sensors.Alloc_Sensors_MON^TelemetricSensor, - SF7.Alloc_MonitoringProcessor^Acquisition = Computers.Alloc_MonitoringProcessor^Acquisition, - SF7.Alloc_MonitoringProcessor^Emission = Computers.Alloc_MonitoringProcessor^Emission, - SF7.Alloc_MonitoringProcessor^Computation = Computers.Alloc_MonitoringProcessor^Computation, - SF7.Alloc_DroneDigitalNetworkPath = Paths.Alloc_DroneDigitalNetworkPath, - SF7.Alloc_DroneMonitoringDigitalNetworkPath = Paths.Alloc_DroneMonitoringDigitalNetworkPath, - FailureConditions.Thrust1 = SF1.ThrustAndTorque1, - FailureConditions.Thrust2 = SF1.ThrustAndTorque2, - FailureConditions.Thrust3 = SF1.ThrustAndTorque3, - FailureConditions.Thrust4 = SF1.ThrustAndTorque4, - FailureConditions.APEngagement = SF4.APEngagement, - FailureConditions.PilotInconsistentControl = EXT_PilotDetection.PilotInconsistentControl, - FailureConditions.PilotManualControl = EXT_PilotDetection.PilotSelectedMode, - SF5.ManualPayloadControl = EXT_PilotDetection.ManualPayloadControl, - SF5.AutomaticPayloadControl = SF4.AutomaticPayloadControl, - SF5.Alloc_VideoProcessor^Acquisition = Computers.Alloc_VideoProcessor^Acquisition, - SF5.Alloc_VideoProcessor^Emission = Computers.Alloc_VideoProcessor^Emission, - SF5.Alloc_VideoProcessor^Computation = Computers.Alloc_VideoProcessor^Computation, - SF5.Alloc_PilotPayloadControlPath = Paths.Alloc_PilotPayloadControlPath, - SF5.Alloc_CameraSensor = Payload.Alloc_CameraSensor, - SF5.Alloc_CameraRotarySupport = Payload.Alloc_CameraRotarySupport, - SF5.Alloc_DroneDigitalNetworkPath = Paths.Alloc_DroneDigitalNetworkPath, - SF5.Alloc_CameraControlDevice = Remotecontrol.Alloc_CameraControlDevice, - SF4.Position = SF3.Position, - SF4.Time = SF3.Time, - SF4.FlightPlan = SF6.oFlightPlan, - SF4.PilotManualControl = EXT_PilotDetection.PilotSelectedMode, - SF4.ManualOverride = SF2.ManualOverride, - SF4.Alloc_MainProcessor^Acquisition = Computers.Alloc_MainProcessor^Acquisition, - SF4.Alloc_MainProcessor^Emission = Computers.Alloc_MainProcessor^Emission, - SF4.Alloc_MainProcessor^Computation = Computers.Alloc_MainProcessor^Computation, - SF4.Alloc_PilotDroneControlPath = Paths.Alloc_PilotDroneControlPath, - SF4.Alloc_DroneDigitalNetworkPath = Paths.Alloc_DroneDigitalNetworkPath, - SF4.Alloc_DroneMissionDataPath = Paths.Alloc_DroneMissionDataPath_ControlDesk2Drone, - SF4.Alloc_DroneControlDesk_transmission = DroneControlDesk.Alloc_DroneControlDesk_transmission, - SF1.Alloc_PowerDistribution^EPL_Act1 = PowerSupply.Alloc_Actuators^EPL_Act1, - SF1.Alloc_PowerDistribution^EPL_Act2 = PowerSupply.Alloc_Actuators^EPL_Act2, - SF1.Alloc_PowerDistribution^EPL_Act3 = PowerSupply.Alloc_Actuators^EPL_Act3, - SF1.Alloc_PowerDistribution^EPL_Act4 = PowerSupply.Alloc_Actuators^EPL_Act4, - SF1.MotorRate = SF2.MotorRate, - SF1.MotorDisabled^Motor1 = SF7.MotorDisabled^Motor1, - SF1.MotorDisabled^IsErroneous1 = SF7.MotorDisabled^IsErroneous1, - SF1.MotorDisabled^Motor2 = SF7.MotorDisabled^Motor2, - SF1.MotorDisabled^IsErroneous2 = SF7.MotorDisabled^IsErroneous2, - SF1.MotorDisabled^Motor3 = SF7.MotorDisabled^Motor3, - SF1.MotorDisabled^IsErroneous3 = SF7.MotorDisabled^IsErroneous3, - SF1.MotorDisabled^Motor4 = SF7.MotorDisabled^Motor4, - SF1.MotorDisabled^IsErroneous4 = SF7.MotorDisabled^IsErroneous4, - SF1.Alloc_MotorsAndVariators^MotorAndVariator1 = Actuators.Alloc_MotorsAndVariators^MotorAndVariator1, - SF1.Alloc_MotorsAndVariators^MotorAndVariator2 = Actuators.Alloc_MotorsAndVariators^MotorAndVariator2, - SF1.Alloc_MotorsAndVariators^MotorAndVariator3 = Actuators.Alloc_MotorsAndVariators^MotorAndVariator3, - SF1.Alloc_MotorsAndVariators^MotorAndVariator4 = Actuators.Alloc_MotorsAndVariators^MotorAndVariator4, - SF1.Alloc_DroneDigitalNetworkPath = Paths.Alloc_DroneDigitalNetworkPath, - SF1.Alloc_DroneMonitoringDigitalNetworkPath = Paths.Alloc_DroneMonitoringDigitalNetworkPath, - SF1.Alloc_Propellers^Propeller1 = Propellers.Alloc_Propellers^Propeller1, - SF1.Alloc_Propellers^Propeller2 = Propellers.Alloc_Propellers^Propeller2, - SF1.Alloc_Propellers^Propeller3 = Propellers.Alloc_Propellers^Propeller3, - SF1.Alloc_Propellers^Propeller4 = Propellers.Alloc_Propellers^Propeller4, - SF2.VerticalSpeed = SF3.VerticalSpeed, - SF2.Altitude = SF3.Altitude, - SF2.Attitude = SF3.Attitude, - SF2.Position = SF3.Position, - SF2.Speed = SF3.Speed, - SF2.PositionConsign = SF4.PositionConsign, - SF2.SpeedConsign = SF4.SpeedConsign, - SF2.APEngagement = SF4.APEngagement, - SF2.PilotOrders = EXT_PilotDetection.PilotOrders, - SF2.Alloc_MainProcessor^Acquisition = Computers.Alloc_MainProcessor^Acquisition, - SF2.Alloc_MainProcessor^Emission = Computers.Alloc_MainProcessor^Emission, - SF2.Alloc_MainProcessor^Computation = Computers.Alloc_MainProcessor^Computation, - SF2.Alloc_DroneDigitalNetworkPath = Paths.Alloc_DroneDigitalNetworkPath, - SF2.Alloc_PilotDroneControlPath = Paths.Alloc_PilotDroneControlPath, - SF2.Alloc_PushButton = Remotecontrol.Alloc_PushButton, - SF2.Alloc_LeftAndRightSideSticks = Remotecontrol.Alloc_LeftAndRightSideSticks, - SF3.Alloc_VideoProcessor^Acquisition = Computers.Alloc_VideoProcessor^Acquisition, - SF3.Alloc_VideoProcessor^Emission = Computers.Alloc_VideoProcessor^Emission, - SF3.Alloc_VideoProcessor^Computation = Computers.Alloc_VideoProcessor^Computation, - SF3.Alloc_MainProcessor^Acquisition = Computers.Alloc_MainProcessor^Acquisition, - SF3.Alloc_MainProcessor^Emission = Computers.Alloc_MainProcessor^Emission, - SF3.Alloc_MainProcessor^Computation = Computers.Alloc_MainProcessor^Computation, - SF3.Alloc_Sensors^IRS = Sensors.Alloc_Sensors_Main^IRS, - SF3.Alloc_Sensors^Magnetometer = Sensors.Alloc_Sensors_Main^Magnetometer, - SF3.Alloc_Sensors^PressureSensor = Sensors.Alloc_Sensors_Main^PressureSensor, - SF3.Alloc_Sensors^TelemetricSensor = Sensors.Alloc_Sensors_Main^TelemetricSensor, - SF3.Alloc_Sensors^LateralSpeedCamera = Sensors.Alloc_Sensors_Main^LateralSpeedCamera, - SF3.Alloc_Sensors^PositionSensor = Sensors.Alloc_Sensors_Main^PositionSensor, - SF3.Alloc_DroneDigitalNetworkPath = Paths.Alloc_DroneDigitalNetworkPath, - Actuators.Power^EPL_Act1 = PowerSupply.Alloc_Actuators^EPL_Act1, - Actuators.Power^EPL_Act2 = PowerSupply.Alloc_Actuators^EPL_Act2, - Actuators.Power^EPL_Act3 = PowerSupply.Alloc_Actuators^EPL_Act3, - Actuators.Power^EPL_Act4 = PowerSupply.Alloc_Actuators^EPL_Act4; - extern - nodeproperty = "AIDASystem/AIDASystem/AIDA0_4_4"; - nodeproperty = "1"; - nodeproperty = "default"; - nodeproperty = "2019-04-01 10:02:08"; -edon - diff --git a/AIDASystem-OCASModel.docx b/AIDASystem-OCASModel.docx deleted file mode 100644 index 6d8f65f..0000000 Binary files a/AIDASystem-OCASModel.docx and /dev/null differ diff --git a/AIDASystem-OCASModel.exp b/AIDASystem-OCASModel.exp deleted file mode 100644 index 30abf99..0000000 Binary files a/AIDASystem-OCASModel.exp and /dev/null differ diff --git a/documents/AIDA – SORA analysis.pptx b/documents/AIDA – SORA analysis.pptx new file mode 100644 index 0000000..efdc568 Binary files /dev/null and b/documents/AIDA – SORA analysis.pptx differ diff --git a/documents/Aircraft level/FHA AIDA.xlsx b/documents/Aircraft level/FHA AIDA.xlsx new file mode 100644 index 0000000..8cff73d Binary files /dev/null and b/documents/Aircraft level/FHA AIDA.xlsx differ diff --git a/documents/Aircraft level/PASA - FTA.odg b/documents/Aircraft level/PASA - FTA.odg new file mode 100644 index 0000000..8a73525 Binary files /dev/null and b/documents/Aircraft level/PASA - FTA.odg differ diff --git a/documents/Aircraft level/PASA - FTA.pdf b/documents/Aircraft level/PASA - FTA.pdf new file mode 100644 index 0000000..38370a7 Binary files /dev/null and b/documents/Aircraft level/PASA - FTA.pdf differ diff --git a/documents/Aircraft level/PASA AIDA.xlsx b/documents/Aircraft level/PASA AIDA.xlsx new file mode 100644 index 0000000..1b7e85f Binary files /dev/null and b/documents/Aircraft level/PASA AIDA.xlsx differ diff --git a/documents/System level/FMES AIDA.xlsx b/documents/System level/FMES AIDA.xlsx new file mode 100644 index 0000000..7be0179 Binary files /dev/null and b/documents/System level/FMES AIDA.xlsx differ diff --git a/documents/System level/PSSA AIDA.xlsx b/documents/System level/PSSA AIDA.xlsx new file mode 100644 index 0000000..9f37e0e Binary files /dev/null and b/documents/System level/PSSA AIDA.xlsx differ diff --git a/documents/System level/SFHA AIDA.xlsx b/documents/System level/SFHA AIDA.xlsx new file mode 100644 index 0000000..dbd15de Binary files /dev/null and b/documents/System level/SFHA AIDA.xlsx differ diff --git a/documents/System level/SSA AIDA.xlsx b/documents/System level/SSA AIDA.xlsx new file mode 100644 index 0000000..6f02568 Binary files /dev/null and b/documents/System level/SSA AIDA.xlsx differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/.project b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/.project new file mode 100644 index 0000000..7cc8cfa --- /dev/null +++ b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/.project @@ -0,0 +1,12 @@ + + + AIDASystem_SimfiaNeoModel + + + + + + + org.eclipse.sirius.nature.modelingproject + + diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/AIDASystem_SimfiaNeoModel.simfia b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/AIDASystem_SimfiaNeoModel.simfia new file mode 100644 index 0000000..7cbe20f --- /dev/null +++ b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/AIDASystem_SimfiaNeoModel.simfia @@ -0,0 +1,7613 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + 1 + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + 1 + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + 1 + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + 3 + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + 1 + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + 3 + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + 1 + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + 1 + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + 1 + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + 1 + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 2 + + + + + + 3 + 3 + 3 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + 3 + 3 + 1 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2 + + + + + + + 3 + 3 + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Brick + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/ConditionalSelector_1-closed.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/ConditionalSelector_1-closed.png new file mode 100644 index 0000000..fe19ead Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/ConditionalSelector_1-closed.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/ConditionalSelector_1-open.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/ConditionalSelector_1-open.png new file mode 100644 index 0000000..8e6b1b6 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/ConditionalSelector_1-open.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-ERR.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-ERR.png new file mode 100644 index 0000000..834451e Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-ERR.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-External.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-External.png new file mode 100644 index 0000000..fb0d2b3 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-External.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-LOST.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-LOST.png new file mode 100644 index 0000000..7270de0 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-LOST.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-OK.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-OK.png new file mode 100644 index 0000000..54c800a Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/F-OK.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/M-AUTO.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/M-AUTO.png new file mode 100644 index 0000000..e83a676 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/M-AUTO.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/M-MAN.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/M-MAN.png new file mode 100644 index 0000000..c574def Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/M-MAN.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/Selector1.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/Selector1.gif new file mode 100644 index 0000000..461c47c Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/Selector1.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/Selector2.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/Selector2.gif new file mode 100644 index 0000000..5403cd5 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/Selector2.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/Thumbs.db b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/Thumbs.db new file mode 100644 index 0000000..760a9f9 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/Thumbs.db differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/bool_false.png.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/bool_false.png.gif new file mode 100644 index 0000000..66b6f9b Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/bool_false.png.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/bool_true.png.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/bool_true.png.gif new file mode 100644 index 0000000..766e034 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/bool_true.png.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/bool_vert.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/bool_vert.gif new file mode 100644 index 0000000..e1246ee Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/bool_vert.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smblock_err.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smblock_err.gif new file mode 100644 index 0000000..4f858fc Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smblock_err.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smblock_nok.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smblock_nok.gif new file mode 100644 index 0000000..2cc8ea6 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smblock_nok.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smblock_ok.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smblock_ok.gif new file mode 100644 index 0000000..c23c6e5 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smblock_ok.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smcomparator_ok.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smcomparator_ok.gif new file mode 100644 index 0000000..1672f1d Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smcomparator_ok.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smsource_err.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smsource_err.gif new file mode 100644 index 0000000..bf65e1c Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smsource_err.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smsource_nok.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smsource_nok.gif new file mode 100644 index 0000000..0bd2e08 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smsource_nok.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smsource_ok.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smsource_ok.gif new file mode 100644 index 0000000..ee6d7bd Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/smsource_ok.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/specific_bleu.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/specific_bleu.gif new file mode 100644 index 0000000..662c13e Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/specific_bleu.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/specific_rouge.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/specific_rouge.gif new file mode 100644 index 0000000..23f6538 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/specific_rouge.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/specific_vert.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/specific_vert.gif new file mode 100644 index 0000000..d746234 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Autre/specific_vert.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolAND_black.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolAND_black.png new file mode 100644 index 0000000..a75627d Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolAND_black.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolAND_blue.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolAND_blue.png new file mode 100644 index 0000000..1c447c1 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolAND_blue.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolAND_yellow.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolAND_yellow.png new file mode 100644 index 0000000..869b304 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolAND_yellow.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolOR_black.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolOR_black.png new file mode 100644 index 0000000..5a134f1 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolOR_black.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolOR_blue.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolOR_blue.png new file mode 100644 index 0000000..3948919 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolOR_blue.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolOR_yellow.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolOR_yellow.png new file mode 100644 index 0000000..3486910 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/BoolOR_yellow.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/carreblanc.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/carreblanc.gif new file mode 100644 index 0000000..c899172 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/carreblanc.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/carrerouge.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/carrerouge.gif new file mode 100644 index 0000000..357b7dc Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/carrerouge.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/carrevert.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/carrevert.gif new file mode 100644 index 0000000..d3d1567 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/carrevert.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/etblanc.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/etblanc.gif new file mode 100644 index 0000000..f7e3666 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/etblanc.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/etrouge.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/etrouge.gif new file mode 100644 index 0000000..7c800c3 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/etrouge.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/etvert.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/etvert.gif new file mode 100644 index 0000000..ce3f5ef Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/etvert.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/green_L.jpg b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/green_L.jpg new file mode 100644 index 0000000..a090bdc Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/green_L.jpg differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/oublanc.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/oublanc.gif new file mode 100644 index 0000000..97a802a Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/oublanc.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/ourouge.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/ourouge.gif new file mode 100644 index 0000000..491c4f8 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/ourouge.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/ouvert.gif b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/ouvert.gif new file mode 100644 index 0000000..ea4cefb Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/ouvert.gif differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/red_L.jpg b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/red_L.jpg new file mode 100644 index 0000000..b06246c Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Boolgif/red_L.jpg differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Operators/Choice1.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Operators/Choice1.png new file mode 100644 index 0000000..74b6315 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Operators/Choice1.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Operators/Choice2.png b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Operators/Choice2.png new file mode 100644 index 0000000..39e09a3 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Operators/Choice2.png differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Operators/Thumbs.db b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Operators/Thumbs.db new file mode 100644 index 0000000..e32b611 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Operators/Thumbs.db differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Thumbs.db b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Thumbs.db new file mode 100644 index 0000000..74a1f26 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/pictures/Thumbs.db differ diff --git a/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/representations.aird b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/representations.aird new file mode 100644 index 0000000..80c9ac0 --- /dev/null +++ b/models/SimfiaNeoproject - functional model/AIDA_V4_5_functional/representations.aird @@ -0,0 +1,53328 @@ + + + + AIDASystem_SimfiaNeoModel.simfia + platform:/plugin/net.eads.apsys.simfia.rcp/model/system.library.simfia + platform:/plugin/net.eads.apsys.simfia.safetyanalysis.aero.profile/model/aero.profile.safetyanalysis + platform:/plugin/net.eads.apsys.simfia.safetyanalysis.aero.profile/model/aero.userdata.simfia + platform:/plugin/net.eads.apsys.simfia.safetyanalysis.rcp/model/safety.analysis.userdata.simfia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + borderColor + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + borderColor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + borderColor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + borderColor + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + borderColor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + borderColor + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + borderColor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + labelColor + labelSize + + + + + + + + + + + labelColor + labelSize + + + + + + + + + + + labelColor + labelSize + + + + + + + + + italic + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + labelColor + labelSize + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + labelColor + labelSize + + + + + + + + + + + + + + + + + + + + labelColor + labelSize + + + + + + + + + + + + + + + + + + + + diff --git a/Copyrights.txt b/models/SimfiaNeoproject - functional model/Copyrights.txt similarity index 90% rename from Copyrights.txt rename to models/SimfiaNeoproject - functional model/Copyrights.txt index b79ae41..7feb606 100644 --- a/Copyrights.txt +++ b/models/SimfiaNeoproject - functional model/Copyrights.txt @@ -5,7 +5,7 @@ The whole model is provided under the following terms -Copyright (c) 2016-2018 IRT AESE (IRT Saint Exupéry). +Copyright (c) 2016-2022 IRT AESE (IRT Saint Exupéry). All rights reserved. This program and the accompanying materials are made available under the terms of the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) which accompanies this distribution, @@ -16,7 +16,7 @@ Third party components: The nodes Functions/BasicOperators/AND, Functions/BasicOperators/Comparator, Functions/BasicFunctions/InOutFunction and Functions/BasicFunctions/SourceFunction are provided under the following terms: -Copyright (c) 2007-2017 ONERA. +Copyright (c) 2007-2022 ONERA. All rights reserved. This program and the accompanying materials are made available under the terms of the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) diff --git a/models/SimfiaNeoproject - functional model/ModelingReport_System4.4-Safety3.docx b/models/SimfiaNeoproject - functional model/ModelingReport_System4.4-Safety3.docx new file mode 100644 index 0000000..9e74bb0 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/ModelingReport_System4.4-Safety3.docx differ diff --git a/README.txt b/models/SimfiaNeoproject - functional model/README.txt similarity index 82% rename from README.txt rename to models/SimfiaNeoproject - functional model/README.txt index ff87c45..416f745 100644 --- a/README.txt +++ b/models/SimfiaNeoproject - functional model/README.txt @@ -1,58 +1,56 @@ - ******************* - *** README AIDA *** - ******************* - -This repository contains the safety model of the study case AIDA. -It is provided by IRT Saint Exupéry under a Creative Commons BY-SA licence. -This repository is managed in versioning throught git, with the following url - -https://sahara.pf.irt-saintexupery.com/ -project AIDA - - -1. AIDA description - -2. Motivation and intended use - -3. List of files and how to use them - - - - - -************************************************************************ -* 1. AIDA description -************************************************************************ -The AIDA (Aircraft Inspection by Drone Assistant) system, is a Remotely Piloted Aircraft System (RPAS). -It is composed of a quadcopter drone, a control computer and a remote control. -The mission of this system is to help the pilot to inspect the aircraft before flight. -The quadcopter drone can be piloted in automated or manual mode. In manual mode, -the pilot guides the inspection of the aircraft by the drone. -In automated mode, the drone follows a flight plan and records the video of the inspected zone. - -************************************************************************ -* 2. Motivation and intended use -************************************************************************ -AIDA provides a reference study case representative of the complexity and criticity found in aeronautical -systems. -Our intent is to provide a repository to gather all AIDA modellings in order to share different approaches and tools. - -If you plan to use AIDA as a study case it would be kind to inform the IRT Saint-Exupery (systems-engineering@irt-saintexupery.com). We would be pleased to answer your questions. - - - -Currently, the following works use this use case : -Prosvirnova, T., Saez, E., Seguin, C., Virelizier, P.: Handling consistency between safety and system models. -In: Bozzano, M., Papadopoulos, Y. (eds.) Model-Based Safety and Assessment - 5th International Symposium, IMBSA 2017, Trento, Italy, September 11-13, 2017, Proceedings. -Lecture Notes in Computer Science, vol. 10437, pp. 19-34. Springer (2017), -https://doi.org/10.1007/978-3-319-64119-5_2 - -************************************************************************ -* 3. List of files and how to use them -************************************************************************ -AIDASystem-AltaRicaDataFlow.alt: safety model of AIDA in AlaRica DataFlow (version Cecilia-OCAS), text format - -AIDASystem-OCASModel.exp: safety model of AIDA, Cecilia-OCAS export format (v5) - -AIDASystem-OCASModel.docx: generated documentation of the model, MS Word format - + + ******************* + *** README AIDA *** + ******************* + +This repository contains the safety model of the study case AIDA. +It is provided by IRT Saint Exupéry under a Creative Commons BY-SA licence. +This repository is managed in versioning throught git, with the following url + +https://sahara.pf.irt-saintexupery.com/ +project AIDA + + +1. AIDA description + +2. Motivation and intended use + +3. List of files and how to use them + + + + + +************************************************************************ +* 1. AIDA description +************************************************************************ +The AIDA (Aircraft Inspection by Drone Assistant) system, is a Remotely Piloted Aircraft System (RPAS). +It is composed of a quadcopter drone, a control computer and a remote control. +The mission of this system is to help the pilot to inspect the aircraft before flight. +The quadcopter drone can be piloted in automated or manual mode. In manual mode, +the pilot guides the inspection of the aircraft by the drone. +In automated mode, the drone follows a flight plan and records the video of the inspected zone. + +************************************************************************ +* 2. Motivation and intended use +************************************************************************ +AIDA provides a reference study case representative of the complexity and criticity found in aeronautical +systems. +Our intent is to provide a repository to gather all AIDA modellings in order to share different approaches and tools. + +If you plan to use AIDA as a study case it would be kind to inform the IRT Saint-Exupery contacts below. We would be pleased to answer your questions. +systems-engineering@irt-saintexupery.com + +Currently, the following works use this use case : +Prosvirnova, T., Saez, E., Seguin, C., Virelizier, P.: Handling consistency between safety and system models. +In: Bozzano, M., Papadopoulos, Y. (eds.) Model-Based Safety and Assessment - 5th International Symposium, IMBSA 2017, Trento, Italy, September 11-13, 2017, Proceedings. +Lecture Notes in Computer Science, vol. 10437, pp. 19-34. Springer (2017), +https://doi.org/10.1007/978-3-319-64119-5_2 + +************************************************************************ +* 3. List of files and how to use them +************************************************************************ + +AIDASystem-SimfiaNeoModel_System***_Safety*.zip: to be imported in SimfiaNeo (*** replaced by version number) +Current version of SimfiaNeo 1.4.2 + diff --git a/models/SimfiaNeoproject - functional model/Thumbs.db b/models/SimfiaNeoproject - functional model/Thumbs.db new file mode 100644 index 0000000..98ba068 Binary files /dev/null and b/models/SimfiaNeoproject - functional model/Thumbs.db differ diff --git a/.project b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/.project similarity index 62% rename from .project rename to models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/.project index a93827a..f05f03b 100644 --- a/.project +++ b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/.project @@ -1,11 +1,12 @@ - AIDASafety + AIDA_V4_5_physical + org.eclipse.sirius.nature.modelingproject diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/AIDA_V4_5_physical.simfia b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/AIDA_V4_5_physical.simfia new file mode 100644 index 0000000..ea7a18e --- /dev/null +++ b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/AIDA_V4_5_physical.simfia @@ -0,0 +1,11359 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/GPS.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/GPS.png new file mode 100644 index 0000000..411c873 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/GPS.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/RC transmission-2.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/RC transmission-2.png new file mode 100644 index 0000000..48b7286 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/RC transmission-2.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/RC transmission.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/RC transmission.png new file mode 100644 index 0000000..48b7286 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/RC transmission.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/control_desk-2.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/control_desk-2.png new file mode 100644 index 0000000..bdcf2d3 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/control_desk-2.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/control_desk.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/control_desk.png new file mode 100644 index 0000000..bdcf2d3 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/control_desk.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/data_base-2.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/data_base-2.png new file mode 100644 index 0000000..16b75fb Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/data_base-2.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/data_base.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/data_base.png new file mode 100644 index 0000000..16b75fb Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/data_base.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/drone-2.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/drone-2.png new file mode 100644 index 0000000..0e1f112 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/drone-2.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/drone.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/drone.png new file mode 100644 index 0000000..0e1f112 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/drone.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/ext_power_supply-2.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/ext_power_supply-2.png new file mode 100644 index 0000000..0511a77 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/ext_power_supply-2.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/ext_power_supply.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/ext_power_supply.png new file mode 100644 index 0000000..0511a77 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/ext_power_supply.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/pilot-2.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/pilot-2.png new file mode 100644 index 0000000..5fdfaa0 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/pilot-2.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/pilot.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/pilot.png new file mode 100644 index 0000000..5fdfaa0 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/pilot.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/remote control.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/remote control.png new file mode 100644 index 0000000..3a1b146 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/remote control.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/wifi-2.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/wifi-2.png new file mode 100644 index 0000000..05e0204 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/wifi-2.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/wifi.png b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/wifi.png new file mode 100644 index 0000000..05e0204 Binary files /dev/null and b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/pictures/wifi.png differ diff --git a/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/representations.aird b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/representations.aird new file mode 100644 index 0000000..7cd7805 --- /dev/null +++ b/models/SimfiaNeoproject - physical model/AIDA_V4_5_physical/representations.aird @@ -0,0 +1,29104 @@ + + + + AIDA_V4_5_physical.simfia + platform:/plugin/net.eads.apsys.simfia.rcp/model/system.library.simfia + AIDA_V4_5_physical.requirement + platform:/plugin/net.eads.apsys.simfia.safetyanalysis.aero.profile/model/aero.profile.safetyanalysis + platform:/plugin/net.eads.apsys.simfia.safetyanalysis.aero.profile/model/aero.userdata.simfia + platform:/plugin/net.eads.apsys.simfia.safetyanalysis.rcp/model/safety.analysis.userdata.simfia + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + routingStyle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + color + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + italic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/models/SimfiaNeoproject - physical model/ModelingReport_AIDA4.5_physical.docx b/models/SimfiaNeoproject - physical model/ModelingReport_AIDA4.5_physical.docx new file mode 100644 index 0000000..96cfd1d Binary files /dev/null and b/models/SimfiaNeoproject - physical model/ModelingReport_AIDA4.5_physical.docx differ diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..1808a5c --- /dev/null +++ b/readme.txt @@ -0,0 +1,95 @@ +******************* + *** README AIDA *** + ******************* + +This repository contains the safety model and artifacts of the study case AIDA. +It is provided by IRT Saint Exupéry under a Creative Commons BY-SA licence. +This repository is managed in versioning throught git, with the following url + +https://sahara.pf.irt-saintexupery.com/ +project AIDA + + +1. AIDA description + +2. Motivation and intended use + +3. List of files and how to use them + +4. Licensing information + + +************************************************************************ +* 1. AIDA description +************************************************************************ +The AIDA (Aircraft Inspection by Drone Assistant) system, is a Remotely Piloted Aircraft System (RPAS). +It is composed of a quadcopter drone, a control computer and a remote control. +The mission of this system is to help the pilot to inspect the aircraft before flight. +The quadcopter drone can be piloted in automated or manual mode. In manual mode, +the pilot guides the inspection of the aircraft by the drone. +In automated mode, the drone follows a flight plan and records the video of the inspected zone. + +Corresponding SE version (see AIDA Architecture repository): V4.5 - S2C final delivery + +************************************************************************ +* 2. Motivation and intended use +************************************************************************ +AIDA provides a reference study case representative of the complexity and criticity found in aeronautical +systems. +Our intent is to provide a repository to gather all AIDA safety modellings and artifacts in order to share different approaches and tools. + +If you plan to use AIDA as a study case it would be kind to inform the IRT Saint-Exupery (systems-engineering@irt-saintexupery.com). We would be pleased to answer your questions. + +Currently, the following works use this use case : +Prosvirnova, T., Saez, E., Seguin, C., Virelizier, P.: Handling consistency between safety and system models. +In: Bozzano, M., Papadopoulos, Y. (eds.) Model-Based Safety and Assessment - 5th International Symposium, IMBSA 2017, Trento, Italy, September 11-13, 2017, Proceedings. +Lecture Notes in Computer Science, vol. 10437, pp. 19-34. Springer (2017), +https://doi.org/10.1007/978-3-319-64119-5_2 + +************************************************************************ +* 3. List of files and how to use them +************************************************************************ + +- model : contains the SimfiaNeo models (to be opened with SimfiaNeo V1.4.2 - see https://www.protect.airbus.com/safe-mobility/simfianeo/ for more information) + - functional model : an MBSA model based on the functional architecture of AIDA. + - physical model : an MBSA model based on the physical architecture of AIDA. + +- documents : contains the safety documents related to the AIDA use case, inspired from ARP4754A and ARP4761 guidelines: + - AIDA - SORA analysis : partial SORA analysis of the AIDA concepts, as proposed by EASA for Unmanned Aircraft Systems operations in Specific category (see https://www.easa.europa.eu/en/document-library/easy-access-rules/easy-access-rules-unmanned-aircraft-systems-regulations-eu) + - Aircraft level folder : safety documents related to the "Aircraft level" + - FHA AIDA: Aircraft level FHA + - PASA - FTA : ault trees for CAT and HAZ failure conditions, for system level requirements definition (PASA) + - PASA AIDA : synthesis of requirements for system level + - System level folder : safety documents related to the "System level" + - SFHA AIDA: System FHA, covering all the systems of AIDA + - PSSA AIDA : PSSA analysis, exploiting the computation results of the MBSA physical model, and establishing the requirements for the Item levels + - FMES-SFMEA : simulated FMES and SFMEA at item levels for all the constituant of AIDA + - SSA : compliance of AIDA to the top-level requirements, integrating the quantitative results contained in the SFMEA. + +************************************************************************ +* 4. Licensing information +************************************************************************ + +The whole content is provided under the following terms + +Copyright (c) 2016-2022 IRT AESE (IRT Saint Exupéry). + +All rights reserved. This program and the accompanying materials are made available under the terms of the +Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) which accompanies this distribution, +and is available at https://creativecommons.org/licenses/by-sa/4.0/ + +Third party components: + +The nodes Functions/BasicOperators/AND, Functions/BasicOperators/Comparator, Functions/BasicFunctions/InOutFunction and +Functions/BasicFunctions/SourceFunction are provided under the following terms: + +Copyright (c) 2007-2022 ONERA. + +All rights reserved. This program and the accompanying materials +are made available under the terms of the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) +which accompanies this distribution, and is available at https://creativecommons.org/licenses/by-sa/4.0/ + + + + +Contact :systems-engineering@irt-saintexupery.com \ No newline at end of file