You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4960 lines
236 KiB
4960 lines
236 KiB
/* 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 <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Physical"; |
|
law <event fail_err> = exponential(1.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "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 <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Physical"; |
|
law <event fail_err> = exponential(1.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "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 <event fail_recept_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_recept_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_recept_loss>) = "Physical"; |
|
attribute DassaultSpecialCtrlPeriod(<event fail_recept_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_recept_err>) = "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(<event fail_transm_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_transm_err>) = "Physical"; |
|
law <event fail_transm_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_transm_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_transm_loss>) = "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 <event fail_err> = exponential(1.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "Physical"; |
|
attribute DassaultSpecialCtrlPeriod(<event fail_unsuff>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_unsuff>) = "Physical"; |
|
attribute DassaultSpecialCtrlPeriod(<event fail_over>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_over>) = "Physical"; |
|
law <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "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(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Physical"; |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "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(<event fail_unsuff>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_unsuff>) = "Physical"; |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "Physical"; |
|
law <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "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(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Physical"; |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "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 <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Physical"; |
|
law <event fail_err> = exponential(1.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "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 <event fail_highErr> = exponential(1.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_highErr>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_highErr>) = "Physical"; |
|
law <event fail_lowErr> = exponential(1.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_lowErr>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_lowErr>) = "Physical"; |
|
law <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Physical"; |
|
law <event fail_err> = exponential(1.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "Physical"; |
|
attribute DassaultSpecialCtrlPeriod(<event fail_outOfRange>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_outOfRange>) = "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 <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Physical"; |
|
law <event fail_err> = exponential(1.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "Physical"; |
|
attribute DassaultSpecialCtrlPeriod(<event fail_outOfRange>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_outOfRange>) = "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(<event fail_lossOfMonitoring>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_lossOfMonitoring>) = "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 <event fail_loss> = exponential(1.0E-4); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Physical"; |
|
law <event fail_err> = exponential(1.0E-7); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "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 <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Physical"; |
|
law <event fail_err> = exponential(1.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "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 <event fail_loss> = constant(1.0E-4); |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Functional"; |
|
law <event fail_error> = constant(1.0E-5); |
|
attribute TypeOfEvent0x002f1(<event fail_error>) = "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 <event stuck_auto> = exponential(0.001); |
|
attribute DassaultSpecialCtrlPeriod(<event stuck_auto>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event stuck_auto>) = "Functional"; |
|
law <event stuck_man> = exponential(0.001); |
|
attribute DassaultSpecialCtrlPeriod(<event stuck_man>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event stuck_man>) = "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 <event fail_loss> = constant(1.0E-4); |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Functional"; |
|
law <event fail_error> = constant(1.0E-5); |
|
attribute TypeOfEvent0x002f1(<event fail_error>) = "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 <event GoToManualMode> = exponential(0.001); |
|
attribute DassaultSpecialCtrlPeriod(<event GoToManualMode>) = 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 <event fail_loss> = constant(1.0E-4); |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Functional"; |
|
law <event fail_error> = constant(1.0E-5); |
|
attribute TypeOfEvent0x002f1(<event fail_error>) = "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 <event fail_loss> = constant(1.0E-4); |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Functional"; |
|
law <event fail_error> = constant(1.0E-5); |
|
attribute TypeOfEvent0x002f1(<event fail_error>) = "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 <event fail_loss> = constant(1.0E-4); |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Functional"; |
|
law <event fail_error> = constant(1.0E-5); |
|
attribute TypeOfEvent0x002f1(<event fail_error>) = "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 <event fail_loss> = exponential(1.0E-6); |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "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 <event fail_inadv> = constant(1.0E-5); |
|
attribute TypeOfEvent0x002f1(<event fail_inadv>) = "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 <event stuck_auto> = exponential(0.001); |
|
attribute DassaultSpecialCtrlPeriod(<event stuck_auto>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event stuck_auto>) = "Functional"; |
|
law <event stuck_manual> = exponential(0.001); |
|
attribute DassaultSpecialCtrlPeriod(<event stuck_manual>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event stuck_manual>) = "Functional"; |
|
law <event OscillatoryModeSelection> = exponential(0.001); |
|
attribute DassaultSpecialCtrlPeriod(<event OscillatoryModeSelection>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event OscillatoryModeSelection>) = "Functional"; |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "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 <event stuck_auto> = exponential(0.001); |
|
attribute DassaultSpecialCtrlPeriod(<event stuck_auto>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event stuck_auto>) = "Functional"; |
|
law <event stuck_manual> = exponential(0.001); |
|
attribute DassaultSpecialCtrlPeriod(<event stuck_manual>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event stuck_manual>) = "Functional"; |
|
law <event OscillatoryModeSelection> = exponential(0.001); |
|
attribute DassaultSpecialCtrlPeriod(<event OscillatoryModeSelection>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event OscillatoryModeSelection>) = "Functional"; |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "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(<event stuck_auto>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event stuck_auto>) = "Functional"; |
|
attribute DassaultSpecialCtrlPeriod(<event stuck_manual>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event stuck_manual>) = "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(<event stuck_true>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event stuck_true>) = "Functional"; |
|
attribute DassaultSpecialCtrlPeriod(<event stuck_false>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event stuck_false>) = "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 <event fail_loss> = constant(1.0E-4); |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Functional"; |
|
law <event fail_error> = constant(1.0E-5); |
|
attribute TypeOfEvent0x002f1(<event fail_error>) = "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 <event fail_degradation> = exponential(1.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_degradation>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_degradation>) = "Physical"; |
|
law <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "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(<event fail_unsuff>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_unsuff>) = "Physical"; |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "Physical"; |
|
law <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "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 <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "Physical"; |
|
law <event fail_err> = exponential(2.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "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 <event fail_err> = exponential(1.0E-6); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_err>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_err>) = "Physical"; |
|
law <event fail_loss> = exponential(1.0E-5); |
|
attribute DassaultSpecialCtrlPeriod(<event fail_loss>) = 9.877E8; |
|
attribute TypeOfEvent0x002f1(<event fail_loss>) = "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 <global projectName> = "AIDASystem/AIDASystem/AIDA0_4_4"; |
|
nodeproperty <global projectVersion> = "1"; |
|
nodeproperty <global projectConfig> = "default"; |
|
nodeproperty <global currentDate> = "2019-04-01 10:02:08"; |
|
edon |
|
|
|
|