Compare commits
4 Commits
V4.4.3_Saf
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 3093195d56 | |||
|
|
0cdc469f14 | ||
|
|
a7360fe176 | ||
|
|
a4fab3ddb2 |
1017
CL_set/CL_model.json
BIN
documents/AIDA – SORA analysis.pptx
Normal file
BIN
documents/Aircraft level/FHA AIDA.xlsx
Normal file
BIN
documents/Aircraft level/PASA - FTA.odg
Normal file
BIN
documents/Aircraft level/PASA - FTA.pdf
Normal file
BIN
documents/Aircraft level/PASA AIDA.xlsx
Normal file
BIN
documents/System level/FMES AIDA.xlsx
Normal file
BIN
documents/System level/PSSA AIDA.xlsx
Normal file
BIN
documents/System level/SFHA AIDA.xlsx
Normal file
BIN
documents/System level/SSA AIDA.xlsx
Normal file
10769
models/AltaRicaWizzard_AIDA_Model/AIDA/AIDASystem_andEnv.gts
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<!DOCTYPE AltaRicaWizard>
|
||||||
|
<project name="AIDA_AltaRica3_Project">
|
||||||
|
<file path="AIDASystem_andEnv.gts" name="AIDASystem_andEnv.gts"/>
|
||||||
|
<file path="AIDA_AltaRica3_Project.opsa" name="AIDA_AltaRica3_Project.opsa"/>
|
||||||
|
<file path="AIDA_library.alt" name="AIDA_library.alt"/>
|
||||||
|
<file path="AIDA_model.alt" name="AIDA_model.alt"/>
|
||||||
|
</project>
|
||||||
10407
models/AltaRicaWizzard_AIDA_Model/AIDA/AIDA_AltaRica3_Project.opsa
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<!DOCTYPE xfta>
|
||||||
|
<xfta>
|
||||||
|
<load>
|
||||||
|
<model input="AIDA_AltaRica3_Project.opsa"/>
|
||||||
|
</load>
|
||||||
|
<build>
|
||||||
|
<minimal-cutsets handle="MCS" top-event="obs_FC1_deterministe_true" mission-time="1"/>
|
||||||
|
</build>
|
||||||
|
<print>
|
||||||
|
<minimal-cutsets handle="MCS" mode="write" top-event="obs_FC1_deterministe_true" mission-time="1" output="resultat_xfta_fc1.csv">
|
||||||
|
<option name="print-minimal-cutset-rank" value="on"/>
|
||||||
|
<option name="print-minimal-cutset-order" value="on"/>
|
||||||
|
<option name="print-minimal-cutset-probability" value="on"/>
|
||||||
|
<option name="print-minimal-cutset-contribution" value="on"/>
|
||||||
|
</minimal-cutsets>
|
||||||
|
</print>
|
||||||
|
</xfta>
|
||||||
963
models/AltaRicaWizzard_AIDA_Model/AIDA/AIDA_library.alt
Normal file
@@ -0,0 +1,963 @@
|
|||||||
|
/*
|
||||||
|
* AltaRica 3.0 model
|
||||||
|
* System of interest : AIDA Library
|
||||||
|
* by Anthony Legendre - Fractus
|
||||||
|
*
|
||||||
|
* This file is part of the S2C project.
|
||||||
|
* Copyright (c) 2021-2022 Fractus - All Rights Reserved.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Table of Contents
|
||||||
|
* --------------
|
||||||
|
* 0. Domain
|
||||||
|
* 1. Abstract Classes
|
||||||
|
* 2. Classes component_behavior
|
||||||
|
* 3. Class concrete_component
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 0. Domain
|
||||||
|
* -------------------
|
||||||
|
*/
|
||||||
|
domain Status {OK, LOST, ERR}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. Abstract Classes
|
||||||
|
* -------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
class ObjetState
|
||||||
|
//internal state
|
||||||
|
Status vsWorking (init = OK);
|
||||||
|
end
|
||||||
|
|
||||||
|
class FM_Loss_Behaviour
|
||||||
|
extends ObjetState;
|
||||||
|
//parameter
|
||||||
|
parameter Real lambda_Loss = 0.0003;
|
||||||
|
|
||||||
|
//event
|
||||||
|
event ev_Loss_Failure (delay = exponential(lambda_Loss));
|
||||||
|
//transition
|
||||||
|
transition
|
||||||
|
ev_Loss_Failure: vsWorking==OK -> vsWorking := LOST;
|
||||||
|
end
|
||||||
|
|
||||||
|
class FM_Erroneous_Behaviour
|
||||||
|
extends ObjetState;
|
||||||
|
//parameter
|
||||||
|
parameter Real lambda_ERR = 0.00003;
|
||||||
|
//event
|
||||||
|
event ev_ERR_Failure (delay = exponential(lambda_ERR));
|
||||||
|
//transition
|
||||||
|
transition
|
||||||
|
ev_ERR_Failure: vsWorking==OK -> vsWorking := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class FM_Erroneous_Loss_Behaviour
|
||||||
|
extends ObjetState;
|
||||||
|
//parameter
|
||||||
|
parameter Real lambda_Loss = 0.00003;
|
||||||
|
parameter Real lambda_ERR = 0.00003;
|
||||||
|
//event
|
||||||
|
event ev_Loss_Failure (delay = exponential(lambda_Loss));
|
||||||
|
event ev_ERR_Failure (delay = exponential(lambda_ERR));
|
||||||
|
//transition
|
||||||
|
transition
|
||||||
|
ev_Loss_Failure: vsWorking==OK -> vsWorking := LOST;
|
||||||
|
ev_ERR_Failure: vsWorking==OK -> vsWorking := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class FM_Erroneous_Loss_CANbus_Behaviour
|
||||||
|
extends ObjetState;
|
||||||
|
//parameter
|
||||||
|
parameter Real lambda_Loss = 0.00003;
|
||||||
|
parameter Real lambda_ERR = 0.00003;
|
||||||
|
parameter Real lambda_CANbus_Loss = 0.0003;
|
||||||
|
parameter Real lambda_CANbus_ERR = 0.00003;
|
||||||
|
//event
|
||||||
|
event ev_Loss_Failure (delay = exponential(lambda_Loss));
|
||||||
|
event ev_ERR_Failure (delay = exponential(lambda_ERR));
|
||||||
|
event ev_CANbus_Loss_Failure (delay = exponential(lambda_CANbus_Loss));
|
||||||
|
event ev_CANbus_ERR_Failure (delay = exponential(lambda_CANbus_ERR));
|
||||||
|
//transition
|
||||||
|
transition
|
||||||
|
ev_Loss_Failure: vsWorking==OK -> vsWorking := LOST;
|
||||||
|
ev_ERR_Failure: vsWorking==OK -> vsWorking := ERR;
|
||||||
|
ev_CANbus_Loss_Failure: vsWorking==OK -> vsWorking := LOST;
|
||||||
|
ev_CANbus_ERR_Failure: vsWorking==OK -> vsWorking := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 2. Classes component_behavior
|
||||||
|
* -------------------
|
||||||
|
*/
|
||||||
|
class flow1_behavior
|
||||||
|
extends FM_Erroneous_Loss_Behaviour;
|
||||||
|
//flow variables
|
||||||
|
Status in (reset = LOST);
|
||||||
|
Status out (reset = LOST);
|
||||||
|
assertion
|
||||||
|
if (vsWorking==OK) then out := in;
|
||||||
|
if (vsWorking==ERR) and not (in==LOST) then out := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class flow2_behavior
|
||||||
|
extends FM_Erroneous_Loss_Behaviour;
|
||||||
|
//flow variables
|
||||||
|
Status in1, in2 (reset = LOST);
|
||||||
|
Status out1, out2 (reset = LOST);
|
||||||
|
assertion
|
||||||
|
if (vsWorking==OK) then out1 := in1;
|
||||||
|
if (vsWorking==ERR) and not (in1==LOST) then out1 := ERR;
|
||||||
|
if (vsWorking==OK) then out2 := in2;
|
||||||
|
if (vsWorking==ERR) and not (in2==LOST) then out2 := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Power_Supply_behavior
|
||||||
|
extends FM_Loss_Behaviour; // a mettre <20> jour en fonction des In et Out
|
||||||
|
//flow variables
|
||||||
|
Status out_EPL_Power_supply (reset = LOST);
|
||||||
|
// assertion
|
||||||
|
assertion
|
||||||
|
out_EPL_Power_supply := vsWorking;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Main_flight_control_board
|
||||||
|
//class instances
|
||||||
|
flow2_behavior can_sensor (lambda_ERR = 4.501e-07, lambda_Loss = 1.121e-05);
|
||||||
|
flow2_behavior ccdl_behavior (lambda_ERR = 1.713e-07, lambda_Loss = 5.213e-06);
|
||||||
|
flow1_behavior rc_acquisition (lambda_ERR = 1.273e-06, lambda_Loss = 2.670e-05);
|
||||||
|
flow1_behavior wifi_driver (lambda_ERR = 3.734e-06, lambda_Loss = 1.294e-07);
|
||||||
|
flow1_behavior wifi_acquisition (lambda_ERR = 7.379e-06, lambda_Loss = 9.613e-06);
|
||||||
|
flow1_behavior pwm1_driver (lambda_ERR = 2.961e-06, lambda_Loss = 3.322e-05);
|
||||||
|
flow1_behavior pwm2_driver (lambda_ERR = 1.830e-06, lambda_Loss = 1.559e-05);
|
||||||
|
flow1_behavior pwm3_driver (lambda_ERR = 9.833e-07, lambda_Loss = 3.016e-05);
|
||||||
|
flow1_behavior pwm4_driver (lambda_ERR = 3.236e-07, lambda_Loss = 2.451e-05);
|
||||||
|
flow1_behavior global_flight_control_board (lambda_ERR = 1e-09, lambda_Loss = 4.920e-06);
|
||||||
|
|
||||||
|
//flow variables
|
||||||
|
Status in_PowerSupply (reset = LOST);
|
||||||
|
Status in_Inertial_reference_sensors_behavior (reset = LOST);
|
||||||
|
Status in_Magnetometer_behavior (reset = LOST);
|
||||||
|
Status in_Pressure_sensor_behavior (reset = LOST);
|
||||||
|
|
||||||
|
Status in_CAN_Wire_LIDAR_Altimeter (reset = LOST);
|
||||||
|
Status in_CAN_Wire_Optical_Flow_Sensor (reset = LOST);
|
||||||
|
Status in_CAN_Wire_GPS_Receiver (reset = LOST);
|
||||||
|
|
||||||
|
Status in_RC_Serial_Bus (reset = LOST);
|
||||||
|
Status in_WIFI_Serial_Bus (reset = LOST);
|
||||||
|
Status in_WSL_Cross_channel_data_link (reset = LOST);
|
||||||
|
|
||||||
|
Status out_WSL_Cross_channel_data_link (reset = LOST);
|
||||||
|
Status out_WIFI_Serial_Bus (reset = LOST);
|
||||||
|
|
||||||
|
Status out_CAN_Wire_LIDAR_Altimeter (reset = LOST);
|
||||||
|
Status out_CAN_Wire_Optical_Flow_Sensor (reset = LOST);
|
||||||
|
Status out_CAN_Wire_GPS_Receiver (reset = LOST);
|
||||||
|
|
||||||
|
Status out_PWM1 (reset = LOST);
|
||||||
|
Status out_PWM2 (reset = LOST);
|
||||||
|
Status out_PWM3 (reset = LOST);
|
||||||
|
Status out_PWM4 (reset = LOST);
|
||||||
|
// local flow
|
||||||
|
Status in_CAN_flows(reset = LOST);
|
||||||
|
Status in_local_flow(reset = LOST);
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
//CAN SENSOR
|
||||||
|
if (in_CAN_Wire_LIDAR_Altimeter == OK and in_CAN_Wire_Optical_Flow_Sensor == OK and in_CAN_Wire_GPS_Receiver == OK) then in_CAN_flows := OK;
|
||||||
|
if (in_CAN_Wire_LIDAR_Altimeter == ERR or in_CAN_Wire_Optical_Flow_Sensor == ERR or in_CAN_Wire_GPS_Receiver == ERR) and not (in_CAN_Wire_LIDAR_Altimeter == LOST or in_CAN_Wire_Optical_Flow_Sensor == LOST or in_CAN_Wire_GPS_Receiver == LOST) then in_CAN_flows := ERR ;
|
||||||
|
can_sensor.in1 := in_CAN_flows;
|
||||||
|
out_CAN_Wire_LIDAR_Altimeter:= can_sensor.out2;
|
||||||
|
out_CAN_Wire_Optical_Flow_Sensor:= can_sensor.out2;
|
||||||
|
out_CAN_Wire_GPS_Receiver:= can_sensor.out2;
|
||||||
|
//WIFI ACQ
|
||||||
|
wifi_acquisition.in := in_WIFI_Serial_Bus;
|
||||||
|
//RC ACQ
|
||||||
|
rc_acquisition.in := in_RC_Serial_Bus;
|
||||||
|
//WIFI driver
|
||||||
|
out_WIFI_Serial_Bus := wifi_driver.out;
|
||||||
|
//CCDL
|
||||||
|
ccdl_behavior.in1 := in_WSL_Cross_channel_data_link;
|
||||||
|
out_WSL_Cross_channel_data_link := ccdl_behavior.out2;
|
||||||
|
|
||||||
|
//PWMDriver
|
||||||
|
out_PWM1 := pwm1_driver.out ;
|
||||||
|
out_PWM2 := pwm2_driver.out ;
|
||||||
|
out_PWM3 := pwm3_driver.out ;
|
||||||
|
out_PWM4 := pwm4_driver.out ;
|
||||||
|
// Global in
|
||||||
|
if (can_sensor.out1== OK and wifi_acquisition.out== OK and rc_acquisition.out== OK and ccdl_behavior.out1== OK and in_PowerSupply== OK and in_Inertial_reference_sensors_behavior== OK and in_Magnetometer_behavior== OK and in_Pressure_sensor_behavior== OK) then in_local_flow := OK;
|
||||||
|
if (can_sensor.out1== ERR or wifi_acquisition.out== ERR or rc_acquisition.out== ERR or ccdl_behavior.out1== ERR or in_PowerSupply== ERR or in_Inertial_reference_sensors_behavior== ERR or in_Magnetometer_behavior== ERR or in_Pressure_sensor_behavior== ERR) and not (can_sensor.out1== LOST or wifi_acquisition.out== LOST or rc_acquisition.out== LOST or ccdl_behavior.out1== LOST or in_PowerSupply== LOST or in_Inertial_reference_sensors_behavior== LOST or in_Magnetometer_behavior== LOST or in_Pressure_sensor_behavior== LOST) then in_local_flow := ERR;
|
||||||
|
global_flight_control_board.in := in_local_flow;
|
||||||
|
|
||||||
|
// Global out
|
||||||
|
//Global Out CAN SENSOR
|
||||||
|
// pour d<>boucler le loop de controle entre Main et CAN SENSOR
|
||||||
|
if (/*ccdl_behavior.out1== OK and */in_PowerSupply== OK and in_Inertial_reference_sensors_behavior== OK and in_Magnetometer_behavior== OK and in_Pressure_sensor_behavior== OK) then can_sensor.in2 := global_flight_control_board.vsWorking;
|
||||||
|
if (/*ccdl_behavior.out1== ERR or */in_PowerSupply== ERR or in_Inertial_reference_sensors_behavior== ERR or in_Magnetometer_behavior== ERR or in_Pressure_sensor_behavior== ERR) or global_flight_control_board.vsWorking == ERR then can_sensor.in2 := ERR;
|
||||||
|
|
||||||
|
//Global Out Wifi Driver
|
||||||
|
// pour d<>boucler le loop de controle entre Main et Wifi
|
||||||
|
if (/*ccdl_behavior.out1== OK and */in_PowerSupply== OK and in_Inertial_reference_sensors_behavior== OK and in_Magnetometer_behavior== OK and in_Pressure_sensor_behavior== OK) then wifi_driver.in := global_flight_control_board.vsWorking;
|
||||||
|
if (/*ccdl_behavior.out1== ERR or */in_PowerSupply== ERR or in_Inertial_reference_sensors_behavior== ERR or in_Magnetometer_behavior== ERR or in_Pressure_sensor_behavior== ERR) or global_flight_control_board.vsWorking == ERR then wifi_driver.in := ERR;
|
||||||
|
|
||||||
|
//Global Out MAIN et Monitoring
|
||||||
|
// pour d<>boucler le loop de controle MAIN et Monitoring
|
||||||
|
if (can_sensor.vsWorking== OK and wifi_acquisition.vsWorking== OK and rc_acquisition.vsWorking== OK and ccdl_behavior.vsWorking== OK and pwm1_driver.vsWorking== OK and pwm2_driver.vsWorking== OK and pwm3_driver.vsWorking== OK and pwm4_driver.vsWorking== OK and wifi_driver.vsWorking== OK) then ccdl_behavior.in2 := global_flight_control_board.vsWorking;
|
||||||
|
if (can_sensor.vsWorking== ERR or wifi_acquisition.vsWorking== ERR or rc_acquisition.vsWorking== ERR or ccdl_behavior.vsWorking== ERR or pwm1_driver.vsWorking== ERR or pwm2_driver.vsWorking== ERR or pwm3_driver.vsWorking== ERR or pwm4_driver.vsWorking== ERR or wifi_driver.vsWorking== ERR or global_flight_control_board.vsWorking==ERR) and not (can_sensor.vsWorking== LOST or wifi_acquisition.vsWorking== LOST or rc_acquisition.vsWorking== LOST or ccdl_behavior.vsWorking== LOST or pwm1_driver.vsWorking== LOST or pwm2_driver.vsWorking== LOST or pwm3_driver.vsWorking== LOST or pwm4_driver.vsWorking== LOST or wifi_driver.vsWorking== LOST or global_flight_control_board.vsWorking==LOST) then ccdl_behavior.in2 := ERR;
|
||||||
|
|
||||||
|
//Global Out MAIN et PWM
|
||||||
|
pwm1_driver.in := global_flight_control_board.out;
|
||||||
|
pwm2_driver.in := global_flight_control_board.out;
|
||||||
|
pwm3_driver.in := global_flight_control_board.out;
|
||||||
|
pwm4_driver.in := global_flight_control_board.out;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Monitoring_flight_control_board
|
||||||
|
//class instances
|
||||||
|
flow2_behavior MON_can_sensor (lambda_ERR = 4.501e-07, lambda_Loss = 1.121e-05);
|
||||||
|
flow2_behavior MON_ccdl_behavior (lambda_ERR = 5.482e-06, lambda_Loss = 1.059e-06);
|
||||||
|
flow1_behavior MON_rc_acquisition (lambda_ERR = 3.497e-07, lambda_Loss = 2.936e-05);
|
||||||
|
flow1_behavior MON_wifi_driver (lambda_ERR = 5.767e-06, lambda_Loss = 3.308e-06);
|
||||||
|
flow1_behavior MON_wifi_acquisition (lambda_ERR = 6.241e-06, lambda_Loss = 2.280e-06);
|
||||||
|
flow2_behavior MON_CAN_motor_driver (lambda_ERR = 1.121e-05, lambda_Loss = 4.501e-07);
|
||||||
|
flow1_behavior MON_global_flight_control_board (lambda_ERR = 1e-09, lambda_Loss = 4.237e-05);
|
||||||
|
//flow variables
|
||||||
|
Status in_Inertial_reference_sensors_behavior (reset = LOST);
|
||||||
|
Status in_Magnetometer_behavior (reset = LOST);
|
||||||
|
Status in_Pressure_sensor_behavior (reset = LOST);
|
||||||
|
Status in_PowerSupply (reset = LOST);
|
||||||
|
|
||||||
|
Status in_CAN_Wire_LIDAR_Altimeter (reset = LOST);
|
||||||
|
Status in_CAN_Wire_Optical_Flow_Sensor (reset = LOST);
|
||||||
|
Status in_CAN_Wire_GPS_Receiver (reset = LOST);
|
||||||
|
|
||||||
|
Status in_RC_Serial_Bus (reset = LOST);
|
||||||
|
Status in_WIFI_Serial_Bus (reset = LOST);
|
||||||
|
Status in_WSL_Cross_channel_data_link (reset = LOST);
|
||||||
|
|
||||||
|
Status out_WSL_Cross_channel_data_link (reset = LOST);
|
||||||
|
Status out_WIFI_Serial_Bus (reset = LOST);
|
||||||
|
|
||||||
|
Status out_CAN_Wire_LIDAR_Altimeter (reset = LOST);
|
||||||
|
Status out_CAN_Wire_Optical_Flow_Sensor (reset = LOST);
|
||||||
|
Status out_CAN_Wire_GPS_Receiver (reset = LOST);
|
||||||
|
|
||||||
|
Status in_CAN_Wire_motor1 (reset = LOST);
|
||||||
|
Status in_CAN_Wire_motor2 (reset = LOST);
|
||||||
|
Status in_CAN_Wire_motor3 (reset = LOST);
|
||||||
|
Status in_CAN_Wire_motor4 (reset = LOST);
|
||||||
|
|
||||||
|
Status out_CAN_Wire_motor1 (reset = LOST);
|
||||||
|
Status out_CAN_Wire_motor2 (reset = LOST);
|
||||||
|
Status out_CAN_Wire_motor3 (reset = LOST);
|
||||||
|
Status out_CAN_Wire_motor4 (reset = LOST);
|
||||||
|
|
||||||
|
// local flow
|
||||||
|
Status in_CAN_sensors_flows(reset = LOST);
|
||||||
|
Status in_local_flow(reset = LOST);
|
||||||
|
//assertion TODO
|
||||||
|
assertion
|
||||||
|
//CAN SENSOR
|
||||||
|
if (in_CAN_Wire_LIDAR_Altimeter == OK and in_CAN_Wire_Optical_Flow_Sensor == OK and in_CAN_Wire_GPS_Receiver == OK) then in_CAN_sensors_flows := OK;
|
||||||
|
if (in_CAN_Wire_LIDAR_Altimeter == ERR or in_CAN_Wire_Optical_Flow_Sensor == ERR or in_CAN_Wire_GPS_Receiver == ERR) and not (in_CAN_Wire_LIDAR_Altimeter == LOST or in_CAN_Wire_Optical_Flow_Sensor == LOST or in_CAN_Wire_GPS_Receiver == LOST) then in_CAN_sensors_flows := ERR ;
|
||||||
|
|
||||||
|
MON_can_sensor.in1 := in_CAN_sensors_flows;
|
||||||
|
out_CAN_Wire_LIDAR_Altimeter:= MON_can_sensor.out2;
|
||||||
|
out_CAN_Wire_Optical_Flow_Sensor:= MON_can_sensor.out2;
|
||||||
|
out_CAN_Wire_GPS_Receiver:= MON_can_sensor.out2;
|
||||||
|
|
||||||
|
//WIFI ACQ
|
||||||
|
MON_wifi_acquisition.in := in_WIFI_Serial_Bus;
|
||||||
|
//RC ACQ
|
||||||
|
MON_rc_acquisition.in := in_RC_Serial_Bus;
|
||||||
|
//WIFI driver
|
||||||
|
out_WIFI_Serial_Bus := MON_wifi_driver.out;
|
||||||
|
|
||||||
|
//CCDL
|
||||||
|
MON_ccdl_behavior.in1 := in_WSL_Cross_channel_data_link;
|
||||||
|
out_WSL_Cross_channel_data_link := MON_ccdl_behavior.out2;
|
||||||
|
|
||||||
|
|
||||||
|
MON_ccdl_behavior.in2 := MON_global_flight_control_board.out;
|
||||||
|
|
||||||
|
//CAN WIRE motor
|
||||||
|
out_CAN_Wire_motor1 := MON_CAN_motor_driver.out2 ;
|
||||||
|
out_CAN_Wire_motor2 := MON_CAN_motor_driver.out2 ;
|
||||||
|
out_CAN_Wire_motor3 := MON_CAN_motor_driver.out2 ;
|
||||||
|
out_CAN_Wire_motor4 := MON_CAN_motor_driver.out2 ;
|
||||||
|
if (in_CAN_Wire_motor1 == OK and in_CAN_Wire_motor2 == OK and in_CAN_Wire_motor3 == OK and in_CAN_Wire_motor4 == OK) then MON_CAN_motor_driver.in1 := OK;
|
||||||
|
if (in_CAN_Wire_motor1== ERR or in_CAN_Wire_motor2== ERR or in_CAN_Wire_motor3== ERR or in_CAN_Wire_motor4== ERR) and not (in_CAN_Wire_motor1== LOST or in_CAN_Wire_motor2== LOST or in_CAN_Wire_motor3== LOST or in_CAN_Wire_motor4== LOST) then MON_CAN_motor_driver.in1 := ERR;
|
||||||
|
|
||||||
|
// Global in
|
||||||
|
if (MON_can_sensor.out1== OK and MON_wifi_acquisition.out== OK and MON_rc_acquisition.out== OK and MON_ccdl_behavior.out1== OK and MON_CAN_motor_driver.out1 == OK and in_PowerSupply== OK and in_Inertial_reference_sensors_behavior== OK and in_Magnetometer_behavior== OK and in_Pressure_sensor_behavior== OK) then in_local_flow := OK;
|
||||||
|
if (MON_can_sensor.out1== ERR or MON_wifi_acquisition.out== ERR or MON_rc_acquisition.out== ERR or MON_ccdl_behavior.out1== ERR or MON_CAN_motor_driver.out1 == ERR or in_PowerSupply== ERR or in_Inertial_reference_sensors_behavior== ERR or in_Magnetometer_behavior== ERR or in_Pressure_sensor_behavior== ERR) and not (MON_can_sensor.out1== LOST or MON_wifi_acquisition.out== LOST or MON_rc_acquisition.out== LOST or MON_ccdl_behavior.out1== LOST or MON_CAN_motor_driver.out1 == LOST or in_PowerSupply== LOST or in_Inertial_reference_sensors_behavior== LOST or in_Magnetometer_behavior== LOST or in_Pressure_sensor_behavior== LOST) then in_local_flow := ERR;
|
||||||
|
MON_global_flight_control_board.in := in_local_flow;
|
||||||
|
|
||||||
|
// Global out
|
||||||
|
//Global Out CAN SENSOR
|
||||||
|
// pour d<>boucler le loop de controle entre MONITORING et CAN SENSOR
|
||||||
|
if (/*MON_ccdl_behavior.out1== OK and*/ in_PowerSupply== OK and in_Inertial_reference_sensors_behavior== OK and in_Magnetometer_behavior== OK and in_Pressure_sensor_behavior== OK) then MON_can_sensor.in2 := MON_global_flight_control_board.vsWorking;
|
||||||
|
if (/*MON_ccdl_behavior.out1== ERR or */in_PowerSupply== ERR or in_Inertial_reference_sensors_behavior== ERR or in_Magnetometer_behavior== ERR or in_Pressure_sensor_behavior== ERR) or MON_global_flight_control_board.vsWorking == ERR then MON_can_sensor.in2 := ERR;
|
||||||
|
|
||||||
|
//Global Out Wifi
|
||||||
|
// pour d<>boucler le loop de controle entre MONITORING et Wifi
|
||||||
|
if (/*MON_ccdl_behavior.out1== OK and */in_PowerSupply== OK and in_Inertial_reference_sensors_behavior== OK and in_Magnetometer_behavior== OK and in_Pressure_sensor_behavior== OK) then MON_wifi_driver.in := MON_global_flight_control_board.vsWorking;
|
||||||
|
if (/*MON_ccdl_behavior.out1== ERR or */in_PowerSupply== ERR or in_Inertial_reference_sensors_behavior== ERR or in_Magnetometer_behavior== ERR or in_Pressure_sensor_behavior== ERR) or MON_global_flight_control_board.vsWorking == ERR then MON_wifi_driver.in := ERR;
|
||||||
|
|
||||||
|
//Global Out CAN MOTOR
|
||||||
|
// pour d<>boucler le loop de controle entre MONITORING et CAN MOTOR
|
||||||
|
if (/*MON_ccdl_behavior.out1== OK and */in_PowerSupply== OK and in_Inertial_reference_sensors_behavior== OK and in_Magnetometer_behavior== OK and in_Pressure_sensor_behavior== OK) then MON_CAN_motor_driver.in2 := MON_global_flight_control_board.vsWorking;
|
||||||
|
if (/*MON_ccdl_behavior.out1== ERR or */in_PowerSupply== ERR or in_Inertial_reference_sensors_behavior== ERR or in_Magnetometer_behavior== ERR or in_Pressure_sensor_behavior== ERR) or MON_global_flight_control_board.vsWorking == ERR then MON_CAN_motor_driver.in2 := ERR;
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
class sensors_behavior
|
||||||
|
extends FM_Erroneous_Loss_Behaviour;
|
||||||
|
//flow variables
|
||||||
|
Status in_PowerSupply (reset = LOST);
|
||||||
|
Status out_cmd (reset = LOST);
|
||||||
|
//local flow variables
|
||||||
|
Status in_local_flow (reset = LOST);
|
||||||
|
|
||||||
|
assertion
|
||||||
|
if (in_PowerSupply == OK) then in_local_flow := OK;
|
||||||
|
if (in_PowerSupply == ERR) and not (in_PowerSupply == LOST) then in_local_flow := ERR ;
|
||||||
|
|
||||||
|
if (vsWorking==OK and in_local_flow == OK) then out_cmd := in_local_flow;
|
||||||
|
if (vsWorking==ERR or in_local_flow == ERR) and not (vsWorking==LOST or in_local_flow ==LOST) then out_cmd := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Flight_control_main_channel_behavior
|
||||||
|
//class instances
|
||||||
|
Main_flight_control_board main_flight_control_board;
|
||||||
|
sensors_behavior inertial_reference_sensors_behavior(lambda_ERR = 1.483e-07, lambda_Loss = 3.017e-05);
|
||||||
|
sensors_behavior magnetometer_behavior(lambda_ERR = 2.559e-07, lambda_Loss = 3.077e-06);
|
||||||
|
sensors_behavior pressure_sensor_behavior(lambda_ERR = 3.302e-06, lambda_Loss = 1.116e-05);
|
||||||
|
|
||||||
|
//flow variables
|
||||||
|
Status in_PowerSupply (reset = LOST);
|
||||||
|
|
||||||
|
assertion
|
||||||
|
inertial_reference_sensors_behavior.in_PowerSupply:= in_PowerSupply;
|
||||||
|
magnetometer_behavior.in_PowerSupply:= in_PowerSupply;
|
||||||
|
pressure_sensor_behavior.in_PowerSupply:= in_PowerSupply;
|
||||||
|
main_flight_control_board.in_PowerSupply:= in_PowerSupply;
|
||||||
|
main_flight_control_board.in_Inertial_reference_sensors_behavior := inertial_reference_sensors_behavior.out_cmd;
|
||||||
|
main_flight_control_board.in_Magnetometer_behavior := magnetometer_behavior.out_cmd;
|
||||||
|
main_flight_control_board.in_Pressure_sensor_behavior := pressure_sensor_behavior.out_cmd;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Flight_control_monitoring_channel_behavior
|
||||||
|
//class instances
|
||||||
|
Monitoring_flight_control_board monitoring_flight_control_board;
|
||||||
|
sensors_behavior inertial_reference_sensors_MON_behavior(lambda_ERR = 2.628e-06, lambda_Loss = 1.419e-06);
|
||||||
|
sensors_behavior magnetometer_MON_behavior(lambda_ERR = 1.901e-07, lambda_Loss = 1.286e-05);
|
||||||
|
sensors_behavior pressure_sensor_MON_behavior(lambda_ERR = 4.594e-07, lambda_Loss = 3.949e-05);
|
||||||
|
|
||||||
|
//flow variables
|
||||||
|
Status in_PowerSupply (reset = LOST);
|
||||||
|
|
||||||
|
assertion
|
||||||
|
inertial_reference_sensors_MON_behavior.in_PowerSupply:= in_PowerSupply;
|
||||||
|
magnetometer_MON_behavior.in_PowerSupply:= in_PowerSupply;
|
||||||
|
pressure_sensor_MON_behavior.in_PowerSupply:= in_PowerSupply;
|
||||||
|
monitoring_flight_control_board.in_PowerSupply:= in_PowerSupply;
|
||||||
|
monitoring_flight_control_board.in_Inertial_reference_sensors_behavior := inertial_reference_sensors_MON_behavior.out_cmd;
|
||||||
|
monitoring_flight_control_board.in_Magnetometer_behavior := magnetometer_MON_behavior.out_cmd;
|
||||||
|
monitoring_flight_control_board.in_Pressure_sensor_behavior := pressure_sensor_MON_behavior.out_cmd;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Motor_controller_behavior
|
||||||
|
extends FM_Erroneous_Loss_Behaviour;
|
||||||
|
//flow variables
|
||||||
|
Status in_EPL_Power_Supply (reset = LOST);
|
||||||
|
Status in_WSL_Motor_voltage_feedback (reset = LOST);
|
||||||
|
Status in_PWM (reset = LOST);
|
||||||
|
Status out_Command (reset = LOST);
|
||||||
|
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
//assertion avec la boucle
|
||||||
|
// if (in_EPL_Power_Supply == OK and in_WSL_Motor_voltage_feedback == OK and in_PWM == OK and vsWorking==OK) then out_Command := OK ;
|
||||||
|
// if (in_EPL_Power_Supply == ERR or in_WSL_Motor_voltage_feedback == ERR or in_PWM == ERR or vsWorking==ERR) and not (in_EPL_Power_Supply == LOST or in_WSL_Motor_voltage_feedback == LOST or in_PWM == LOST or vsWorking==LOST) then out_Command := ERR ;
|
||||||
|
//assertion sans la boucle
|
||||||
|
if (in_EPL_Power_Supply == OK and in_PWM == OK and vsWorking==OK) then out_Command := OK ;
|
||||||
|
if (in_EPL_Power_Supply == ERR or in_PWM == ERR and vsWorking==ERR) and not (in_EPL_Power_Supply == LOST or in_PWM == LOST or vsWorking==LOST) then out_Command := ERR ;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Motor_protection_behavior
|
||||||
|
extends FM_Erroneous_Loss_Behaviour;
|
||||||
|
//flow variables
|
||||||
|
Status in_EPL_Power_Supply (reset = LOST);
|
||||||
|
Status in_Command (reset = LOST);
|
||||||
|
Status in_Speed_measure (reset = LOST);
|
||||||
|
Status in_Can_transmission (reset = LOST);
|
||||||
|
Status out_Can_transmission (reset = LOST);
|
||||||
|
Status out_Command (reset = LOST);
|
||||||
|
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
if (in_EPL_Power_Supply == OK and in_Command == OK and in_Can_transmission == OK and vsWorking==OK) then out_Command := OK ;
|
||||||
|
if (in_EPL_Power_Supply == ERR or in_Command == ERR or in_Can_transmission == ERR or vsWorking==ERR) and not (in_EPL_Power_Supply == LOST or in_Command == LOST or in_Can_transmission == LOST or vsWorking==LOST) then out_Command := ERR ;
|
||||||
|
|
||||||
|
if (in_EPL_Power_Supply == OK and in_Speed_measure == OK) then out_Can_transmission := OK ;
|
||||||
|
if (in_EPL_Power_Supply == ERR or in_Speed_measure == ERR) and not (in_EPL_Power_Supply == LOST or in_Speed_measure == LOST) then out_Can_transmission := ERR ;
|
||||||
|
end
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 3. Class concrete_component
|
||||||
|
* -------------------
|
||||||
|
* 3.1 Classes for system level 3
|
||||||
|
* -------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
//concrete class for system level 3
|
||||||
|
class Propeller
|
||||||
|
extends FM_Erroneous_Loss_Behaviour;
|
||||||
|
//flow variables
|
||||||
|
Status out_ML_Propeller_thrust_and_torque (reset = LOST);
|
||||||
|
Status in_ML_rotation (reset = LOST);
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
if (vsWorking == OK) then out_ML_Propeller_thrust_and_torque := in_ML_rotation ;
|
||||||
|
if (vsWorking == ERR) and not(vsWorking == LOST) then out_ML_Propeller_thrust_and_torque := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Motor
|
||||||
|
extends FM_Loss_Behaviour;
|
||||||
|
//class instances
|
||||||
|
flow1_behavior rotation_generation (lambda_ERR = 8.648e-06, lambda_Loss = 6.409e-05);
|
||||||
|
flow1_behavior speed_measurement (lambda_ERR = 1.154e-07, lambda_Loss = 1.332e-06);
|
||||||
|
|
||||||
|
//flow variables
|
||||||
|
Status in_ML (reset = LOST);
|
||||||
|
Status in_command (reset = LOST);
|
||||||
|
Status out_Speed_measure (reset = LOST);
|
||||||
|
Status out_WSL_Motor_voltage_feedback (reset = LOST);
|
||||||
|
Status out_ML_rotation (reset = LOST);
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
if (in_ML == OK and vsWorking==OK) then rotation_generation.in := in_command;
|
||||||
|
if (in_ML == ERR) then rotation_generation.in := ERR;
|
||||||
|
if (in_ML == OK and vsWorking==OK) then out_WSL_Motor_voltage_feedback := rotation_generation.out;
|
||||||
|
if (in_ML == ERR) then out_WSL_Motor_voltage_feedback := ERR;
|
||||||
|
if (in_ML == OK and vsWorking==OK) then out_ML_rotation := rotation_generation.out;
|
||||||
|
if (in_ML == ERR) then out_ML_rotation := ERR;
|
||||||
|
|
||||||
|
if (in_ML == OK and vsWorking==OK) then speed_measurement.in := in_command;
|
||||||
|
if (in_ML == ERR) then speed_measurement.in := ERR;
|
||||||
|
if (in_ML == OK) then out_Speed_measure := speed_measurement.vsWorking; // debouclage des motors et du bus can motor
|
||||||
|
end
|
||||||
|
|
||||||
|
class Motor_Control_Protection
|
||||||
|
//class instances
|
||||||
|
Motor_controller_behavior motor_controller_behavior (lambda_ERR = 1.089e-07, lambda_Loss = 1.218e-05);
|
||||||
|
Motor_protection_behavior motor_protection_behavior (lambda_ERR = 1.301e-06, lambda_Loss = 1.425e-06);
|
||||||
|
flow2_behavior can_motor_driver (lambda_ERR = 4.501e-07, lambda_Loss = 1.121e-05);
|
||||||
|
|
||||||
|
//flow variables
|
||||||
|
Status in_ML (reset = LOST);
|
||||||
|
Status in_CAN_Wire_motor (reset = LOST);
|
||||||
|
Status in_PWM (reset = LOST);
|
||||||
|
Status in_EPL_Power_Supply (reset = LOST);
|
||||||
|
Status in_WSL_Motor_voltage_feedback (reset = LOST);
|
||||||
|
Status in_Speed_measure (reset = LOST);
|
||||||
|
|
||||||
|
Status out_CAN_Wire_motor (reset = LOST);
|
||||||
|
Status out_command (reset = LOST);
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
if (in_ML==OK) then motor_protection_behavior.in_EPL_Power_Supply:= in_EPL_Power_Supply;
|
||||||
|
if (in_ML==OK) then motor_protection_behavior.in_Can_transmission := can_motor_driver.out1 ;
|
||||||
|
if (in_ML==OK) then motor_controller_behavior.in_WSL_Motor_voltage_feedback := in_WSL_Motor_voltage_feedback;
|
||||||
|
if (in_ML==OK) then motor_controller_behavior.in_EPL_Power_Supply:= in_EPL_Power_Supply;
|
||||||
|
if (in_ML==OK) then motor_controller_behavior.in_PWM := in_PWM;
|
||||||
|
|
||||||
|
if (in_ML==OK) then can_motor_driver.in1 := in_CAN_Wire_motor;
|
||||||
|
if (in_ML==OK) then can_motor_driver.in2 := motor_protection_behavior.out_Can_transmission ;
|
||||||
|
|
||||||
|
if (in_ML==OK) then out_CAN_Wire_motor := can_motor_driver.out2 ;
|
||||||
|
if (in_ML==OK) then motor_protection_behavior.in_Command := motor_controller_behavior.out_Command;
|
||||||
|
if (in_ML==OK) then out_command := motor_protection_behavior.out_Command;
|
||||||
|
if (in_ML==OK) then motor_protection_behavior.in_Speed_measure := in_Speed_measure;
|
||||||
|
end
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 3.2 Classes for system level 2
|
||||||
|
* -------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
class Propulsion_Unit
|
||||||
|
//class instances
|
||||||
|
Motor motor (lambda_Loss = 2.392e-06);
|
||||||
|
Propeller propeller (lambda_ERR = 3.326e-07, lambda_Loss = 1.918e-05);
|
||||||
|
Motor_Control_Protection motor_Control_Protection;
|
||||||
|
|
||||||
|
//flow variables
|
||||||
|
Status in_ML (reset = LOST);
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
motor_Control_Protection.in_ML:=in_ML;
|
||||||
|
motor.in_ML:=in_ML;
|
||||||
|
motor_Control_Protection.in_WSL_Motor_voltage_feedback := motor.out_WSL_Motor_voltage_feedback ;
|
||||||
|
motor_Control_Protection.in_Speed_measure := motor.out_Speed_measure ;
|
||||||
|
motor.in_command := motor_Control_Protection.out_command ;
|
||||||
|
propeller.in_ML_rotation := motor.out_ML_rotation ;
|
||||||
|
end
|
||||||
|
|
||||||
|
class RC_Receiver
|
||||||
|
extends FM_Erroneous_Loss_Behaviour;
|
||||||
|
//flow variables
|
||||||
|
Status in_USL_Remote_Control (reset = LOST);
|
||||||
|
Status in_ML (reset = LOST);
|
||||||
|
Status in_RC_Serial_Bus_Supply (reset = LOST);
|
||||||
|
Status out_RC_serial_Bus (reset = LOST);
|
||||||
|
|
||||||
|
//local flow variables
|
||||||
|
Status in_local_flow (reset = LOST);
|
||||||
|
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
if (in_USL_Remote_Control == OK and in_ML == OK and in_RC_Serial_Bus_Supply == OK) then in_local_flow := OK ;
|
||||||
|
if (in_USL_Remote_Control == ERR or in_ML == ERR or in_RC_Serial_Bus_Supply == ERR) and not (in_USL_Remote_Control == LOST or in_ML == LOST or in_RC_Serial_Bus_Supply == LOST) then in_local_flow := ERR ;
|
||||||
|
|
||||||
|
if (vsWorking==OK and in_local_flow == OK) then out_RC_serial_Bus := in_local_flow;
|
||||||
|
if (vsWorking==ERR or in_local_flow == ERR) and not (vsWorking==LOST or in_local_flow ==LOST) then out_RC_serial_Bus := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Wifi_Controller
|
||||||
|
extends FM_Erroneous_Loss_Behaviour;
|
||||||
|
//flow variables
|
||||||
|
Status in_USL_Mission_Data (reset = LOST);
|
||||||
|
Status in_ML (reset = LOST);
|
||||||
|
Status in_WIFI_Serial_Bus (reset = LOST);
|
||||||
|
Status in_WIFI_Serial_Bus_Supply (reset = LOST);
|
||||||
|
Status out_WIFI_Serial_Bus (reset = LOST);
|
||||||
|
Status out_USL_Mission_Data (reset = LOST);
|
||||||
|
//local flow variables
|
||||||
|
Status in_local_flow (reset = LOST);
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
if (in_USL_Mission_Data == OK and in_ML == OK and in_WIFI_Serial_Bus == OK and in_WIFI_Serial_Bus_Supply == OK) then in_local_flow := OK ;
|
||||||
|
if (in_USL_Mission_Data == ERR or in_ML == ERR or in_WIFI_Serial_Bus == ERR or in_WIFI_Serial_Bus_Supply == ERR) and not (in_USL_Mission_Data == LOST or in_ML == LOST or in_WIFI_Serial_Bus == LOST or in_WIFI_Serial_Bus_Supply == LOST) then in_local_flow := ERR ;
|
||||||
|
|
||||||
|
if (vsWorking==OK) then out_WIFI_Serial_Bus := in_local_flow;
|
||||||
|
if (vsWorking==OK) then out_USL_Mission_Data := in_local_flow;
|
||||||
|
if (vsWorking==ERR or in_local_flow == ERR) and not (vsWorking==LOST or in_local_flow ==LOST) then out_WIFI_Serial_Bus := ERR;
|
||||||
|
if (vsWorking==ERR or in_local_flow == ERR) and not (vsWorking==LOST or in_local_flow ==LOST) then out_USL_Mission_Data := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class LIDAR_Altimeter
|
||||||
|
extends FM_Erroneous_Loss_CANbus_Behaviour;
|
||||||
|
|
||||||
|
//flow variables
|
||||||
|
Status in_ML (reset = LOST);
|
||||||
|
Status in_CAN_Wire (reset = LOST);
|
||||||
|
Status out_CAN_Wire (reset = LOST);
|
||||||
|
//local flow variables
|
||||||
|
Status in_local_flow (reset = LOST);
|
||||||
|
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
if (in_ML == OK and in_CAN_Wire == OK) then in_local_flow := OK;
|
||||||
|
if (in_ML == ERR or in_CAN_Wire == ERR) and not (in_ML == LOST or in_CAN_Wire == LOST) then in_local_flow := ERR ;
|
||||||
|
|
||||||
|
if (vsWorking==OK and in_local_flow == OK) then out_CAN_Wire := in_local_flow;
|
||||||
|
if (vsWorking==ERR or in_local_flow == ERR) and not (vsWorking==LOST or in_local_flow ==LOST) then out_CAN_Wire := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class GPS_Receiver
|
||||||
|
extends FM_Erroneous_Loss_Behaviour;
|
||||||
|
//flow variables
|
||||||
|
// Status in_USL_Positioning_Signal (reset = LOST); //inutile car aucune d<>faillance d<>finis pour Positioning system
|
||||||
|
Status in_ML (reset = LOST);
|
||||||
|
Status in_CAN_Wire (reset = LOST);
|
||||||
|
Status out_CAN_Wire (reset = LOST);
|
||||||
|
//local flow variables
|
||||||
|
Status in_local_flow (reset = LOST);
|
||||||
|
|
||||||
|
parameter Real lambda_CANbus_Loss = 0.0003;
|
||||||
|
parameter Real lambda_CANbus_ERR = 0.00003;
|
||||||
|
//event
|
||||||
|
event ev_CANbus_Loss_Failure (delay = exponential(lambda_CANbus_Loss));
|
||||||
|
event ev_CANbus_ERR_Failure (delay = exponential(lambda_CANbus_ERR));
|
||||||
|
//transition
|
||||||
|
transition
|
||||||
|
ev_CANbus_Loss_Failure: vsWorking==OK -> vsWorking := LOST;
|
||||||
|
ev_CANbus_ERR_Failure: vsWorking==OK -> vsWorking := ERR;
|
||||||
|
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
|
||||||
|
if (in_ML == OK and in_CAN_Wire == OK) then in_local_flow := OK ;
|
||||||
|
if (in_CAN_Wire == ERR) and not (in_ML == LOST) then in_local_flow := ERR ;
|
||||||
|
|
||||||
|
if (vsWorking==OK and in_local_flow == OK) then out_CAN_Wire := in_local_flow;
|
||||||
|
if (vsWorking==ERR or in_local_flow == ERR) and not (vsWorking==LOST or in_local_flow ==LOST) then out_CAN_Wire := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Optical_Flow_Sensor
|
||||||
|
extends FM_Erroneous_Loss_CANbus_Behaviour;
|
||||||
|
|
||||||
|
//flow variables
|
||||||
|
Status in_ML (reset = LOST);
|
||||||
|
Status in_CAN_Wire (reset = LOST);
|
||||||
|
Status out_CAN_Wire (reset = LOST);
|
||||||
|
//local flow variables
|
||||||
|
Status in_local_flow (reset = LOST);
|
||||||
|
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
if (in_ML == OK and in_CAN_Wire == OK) then in_local_flow := OK;
|
||||||
|
if (in_ML == ERR or in_CAN_Wire == ERR) and not (in_ML == LOST or in_CAN_Wire == LOST) then in_local_flow := ERR ;
|
||||||
|
|
||||||
|
if (vsWorking==OK and in_local_flow == OK) then out_CAN_Wire := in_local_flow;
|
||||||
|
if (vsWorking==ERR or in_local_flow == ERR) and not (vsWorking==LOST or in_local_flow ==LOST) then out_CAN_Wire := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Flight_Controller
|
||||||
|
extends FM_Loss_Behaviour;
|
||||||
|
//class instances
|
||||||
|
Flight_control_main_channel_behavior Flight_control_main_channel_behavior_AIDA;
|
||||||
|
Flight_control_monitoring_channel_behavior Flight_control_monitoring_channel_behavior_AIDA;
|
||||||
|
|
||||||
|
//flow variables
|
||||||
|
Status in_ML (reset = LOST);
|
||||||
|
Status in_PowerSupply (reset = LOST);
|
||||||
|
|
||||||
|
Status in_CAN_Wire_LIDAR_Altimeter (reset = LOST);
|
||||||
|
Status in_CAN_Wire_Optical_Flow_Sensor (reset = LOST);
|
||||||
|
Status in_CAN_Wire_GPS_Receiver (reset = LOST);
|
||||||
|
|
||||||
|
Status in_RC_Serial_Bus (reset = LOST);
|
||||||
|
Status in_WIFI_Serial_Bus (reset = LOST);
|
||||||
|
|
||||||
|
Status in_CAN_Wire_motor1 (reset = LOST);
|
||||||
|
Status in_CAN_Wire_motor2 (reset = LOST);
|
||||||
|
Status in_CAN_Wire_motor3 (reset = LOST);
|
||||||
|
Status in_CAN_Wire_motor4 (reset = LOST);
|
||||||
|
|
||||||
|
Status out_WIFI_Serial_Bus_Supply (reset = LOST);
|
||||||
|
Status out_RC_Serial_Bus_Supply (reset = LOST);
|
||||||
|
|
||||||
|
Status out_WIFI_Serial_Bus (reset = LOST);
|
||||||
|
|
||||||
|
Status out_CAN_Wire_LIDAR_Altimeter (reset = LOST);
|
||||||
|
Status out_CAN_Wire_Optical_Flow_Sensor (reset = LOST);
|
||||||
|
Status out_CAN_Wire_GPS_Receiver (reset = LOST);
|
||||||
|
|
||||||
|
Status out_CAN_Wire_motor1 (reset = LOST);
|
||||||
|
Status out_CAN_Wire_motor2 (reset = LOST);
|
||||||
|
Status out_CAN_Wire_motor3 (reset = LOST);
|
||||||
|
Status out_CAN_Wire_motor4 (reset = LOST);
|
||||||
|
|
||||||
|
Status out_PWM1 (reset = LOST);
|
||||||
|
Status out_PWM2 (reset = LOST);
|
||||||
|
Status out_PWM3 (reset = LOST);
|
||||||
|
Status out_PWM4 (reset = LOST);
|
||||||
|
//local flow variables
|
||||||
|
Status in_local_flow (reset = LOST);
|
||||||
|
|
||||||
|
//assertion
|
||||||
|
assertion
|
||||||
|
//in distribution
|
||||||
|
//energy distribution
|
||||||
|
if (in_PowerSupply == OK and in_ML == OK) then in_local_flow := OK;
|
||||||
|
if (in_PowerSupply == ERR or in_ML == ERR) and not (in_PowerSupply == LOST or in_ML == LOST) then in_local_flow := ERR;
|
||||||
|
|
||||||
|
if (vsWorking==OK) then out_RC_Serial_Bus_Supply := in_local_flow;
|
||||||
|
if (vsWorking==ERR) then out_RC_Serial_Bus_Supply := ERR;
|
||||||
|
|
||||||
|
if (vsWorking==OK) then out_WIFI_Serial_Bus_Supply := in_local_flow;
|
||||||
|
if (vsWorking==ERR) then out_WIFI_Serial_Bus_Supply := ERR;
|
||||||
|
|
||||||
|
if (vsWorking==OK) then Flight_control_main_channel_behavior_AIDA.in_PowerSupply := in_local_flow;
|
||||||
|
if (vsWorking==ERR) then Flight_control_main_channel_behavior_AIDA.in_PowerSupply := ERR;
|
||||||
|
|
||||||
|
if (vsWorking==OK) then Flight_control_monitoring_channel_behavior_AIDA.in_PowerSupply := in_local_flow;
|
||||||
|
if (vsWorking==ERR) then Flight_control_monitoring_channel_behavior_AIDA.in_PowerSupply := ERR;
|
||||||
|
|
||||||
|
if (in_ML == OK) then Flight_control_main_channel_behavior_AIDA.main_flight_control_board.in_CAN_Wire_LIDAR_Altimeter:= in_CAN_Wire_LIDAR_Altimeter;
|
||||||
|
if (in_ML == OK) then Flight_control_main_channel_behavior_AIDA.main_flight_control_board.in_CAN_Wire_Optical_Flow_Sensor:= in_CAN_Wire_Optical_Flow_Sensor;
|
||||||
|
if (in_ML == OK) then Flight_control_main_channel_behavior_AIDA.main_flight_control_board.in_CAN_Wire_GPS_Receiver:= in_CAN_Wire_GPS_Receiver;
|
||||||
|
if (in_ML == OK) then Flight_control_main_channel_behavior_AIDA.main_flight_control_board.in_RC_Serial_Bus:= in_RC_Serial_Bus;
|
||||||
|
if (in_ML == OK) then Flight_control_main_channel_behavior_AIDA.main_flight_control_board.in_WIFI_Serial_Bus:= in_WIFI_Serial_Bus;
|
||||||
|
|
||||||
|
if (in_ML == OK) then Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.in_CAN_Wire_LIDAR_Altimeter:= in_CAN_Wire_LIDAR_Altimeter;
|
||||||
|
if (in_ML == OK) then Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.in_CAN_Wire_Optical_Flow_Sensor:= in_CAN_Wire_Optical_Flow_Sensor;
|
||||||
|
if (in_ML == OK) then Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.in_CAN_Wire_GPS_Receiver:= in_CAN_Wire_GPS_Receiver;
|
||||||
|
if (in_ML == OK) then Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.in_RC_Serial_Bus:= in_RC_Serial_Bus;
|
||||||
|
if (in_ML == OK) then Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.in_WIFI_Serial_Bus:= in_WIFI_Serial_Bus;
|
||||||
|
|
||||||
|
if (in_ML == OK) then Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.in_CAN_Wire_motor1:=in_CAN_Wire_motor1;
|
||||||
|
if (in_ML == OK) then Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.in_CAN_Wire_motor2:=in_CAN_Wire_motor2;
|
||||||
|
if (in_ML == OK) then Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.in_CAN_Wire_motor3:=in_CAN_Wire_motor3;
|
||||||
|
if (in_ML == OK) then Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.in_CAN_Wire_motor4:=in_CAN_Wire_motor4;
|
||||||
|
|
||||||
|
//out distribution
|
||||||
|
//QUESTION : test a modifier plus tard - en fonction de la question 8 pour le porjet S2C - si il faut prendre en compte le retour du monitoring
|
||||||
|
if (in_ML == OK and Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_WIFI_Serial_Bus==OK and Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_WIFI_Serial_Bus==OK) then out_WIFI_Serial_Bus :=OK;
|
||||||
|
if (Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_WIFI_Serial_Bus==ERR or Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_WIFI_Serial_Bus==ERR) and not (in_ML == LOST or Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_WIFI_Serial_Bus==LOST or Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_WIFI_Serial_Bus==LOST) then out_WIFI_Serial_Bus :=ERR;
|
||||||
|
|
||||||
|
if (in_ML == OK and Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_LIDAR_Altimeter==OK and Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_LIDAR_Altimeter==OK) then out_CAN_Wire_LIDAR_Altimeter :=OK;
|
||||||
|
if (Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_LIDAR_Altimeter==ERR or Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_LIDAR_Altimeter==ERR) and not (in_ML == LOST or Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_LIDAR_Altimeter==LOST or Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_LIDAR_Altimeter==LOST) then out_CAN_Wire_LIDAR_Altimeter :=ERR;
|
||||||
|
|
||||||
|
if (in_ML == OK and Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_Optical_Flow_Sensor==OK and Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_Optical_Flow_Sensor==OK) then out_CAN_Wire_Optical_Flow_Sensor :=OK;
|
||||||
|
if (Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_Optical_Flow_Sensor==ERR or Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_Optical_Flow_Sensor==ERR) and not (in_ML == LOST or Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_Optical_Flow_Sensor==LOST or Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_Optical_Flow_Sensor==LOST) then out_CAN_Wire_Optical_Flow_Sensor :=ERR;
|
||||||
|
|
||||||
|
if (in_ML == OK and Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_GPS_Receiver==OK and Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_GPS_Receiver==OK) then out_CAN_Wire_GPS_Receiver :=OK;
|
||||||
|
if (Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_GPS_Receiver==ERR or Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_GPS_Receiver==ERR) and not (in_ML == LOST or Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_GPS_Receiver==LOST or Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_GPS_Receiver==LOST) then out_CAN_Wire_GPS_Receiver :=ERR;
|
||||||
|
|
||||||
|
// if (in_ML == OK) then out_WIFI_Serial_Bus := Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_WIFI_Serial_Bus;
|
||||||
|
// if (in_ML == OK) then out_CAN_Wire_LIDAR_Altimeter := Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_LIDAR_Altimeter;
|
||||||
|
// if (in_ML == OK) then out_CAN_Wire_Optical_Flow_Sensor := Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_Optical_Flow_Sensor;
|
||||||
|
// if (in_ML == OK) then out_CAN_Wire_GPS_Receiver := Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_CAN_Wire_GPS_Receiver;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (in_ML == OK) then out_PWM1 := Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_PWM1;
|
||||||
|
if (in_ML == OK) then out_PWM2 := Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_PWM2;
|
||||||
|
if (in_ML == OK) then out_PWM3 := Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_PWM3;
|
||||||
|
if (in_ML == OK) then out_PWM4 := Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_PWM4;
|
||||||
|
|
||||||
|
if (in_ML == OK) then out_CAN_Wire_motor1 := Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_motor1;
|
||||||
|
if (in_ML == OK) then out_CAN_Wire_motor2 := Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_motor2;
|
||||||
|
if (in_ML == OK) then out_CAN_Wire_motor3 := Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_motor3;
|
||||||
|
if (in_ML == OK) then out_CAN_Wire_motor4 := Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_CAN_Wire_motor4;
|
||||||
|
|
||||||
|
// WSL Connection main and monitoring
|
||||||
|
if (in_ML == OK) then Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.in_WSL_Cross_channel_data_link := Flight_control_main_channel_behavior_AIDA.main_flight_control_board.out_WSL_Cross_channel_data_link ;
|
||||||
|
if (in_ML == OK) then Flight_control_main_channel_behavior_AIDA.main_flight_control_board.in_WSL_Cross_channel_data_link := Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.out_WSL_Cross_channel_data_link ;
|
||||||
|
end
|
||||||
|
|
||||||
|
/*class Payload_Control extends component_flowInOut; // a mettre <20> jour en fonction des In et Out
|
||||||
|
end
|
||||||
|
class Camera_Rotary_Support extends component_flowInOut; // a mettre <20> jour en fonction des In et Out
|
||||||
|
end
|
||||||
|
class Camera_Sensor extends component_flowInOut; // a mettre <20> jour en fonction des In et Out
|
||||||
|
end*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 3.3 Classes for system level 1
|
||||||
|
* -------------------
|
||||||
|
*/
|
||||||
|
class Flight_Control_System
|
||||||
|
//class instances
|
||||||
|
RC_Receiver RC_Receiver_AIDA (lambda_ERR = 1e-09, lambda_Loss = 1.338e-05);
|
||||||
|
Wifi_Controller Wifi_Controller_AIDA (lambda_ERR = 1.744e-05, lambda_Loss = 1.338e-07);
|
||||||
|
GPS_Receiver GPS_Receiver_AIDA (lambda_ERR = 4.846e-07, lambda_Loss = 6.546e-06, lambda_CANbus_ERR = 4.501e-07, lambda_CANbus_Loss = 1.121e-05);
|
||||||
|
FM_Erroneous_Behaviour GPS_Receiver_ERR (lambda_ERR = 4.846e-07);
|
||||||
|
FM_Erroneous_Behaviour GPS_Receiver_CANBus_ERR (lambda_ERR = 4.501e-07);
|
||||||
|
Optical_Flow_Sensor Optical_Flow_Sensor_AIDA (lambda_ERR = 9.468e-07, lambda_Loss = 8.244e-05, lambda_CANbus_ERR = 4.501e-07,lambda_CANbus_Loss = 1.121e-05);
|
||||||
|
LIDAR_Altimeter LIDAR_Altimeter_AIDA (lambda_ERR = 4.501e-07, lambda_Loss = 1.121e-05, lambda_CANbus_ERR = 4.501e-07,lambda_CANbus_Loss = 1.121e-05);
|
||||||
|
Flight_Controller Flight_Controller_AIDA (lambda_Loss = 9.660e-05);
|
||||||
|
|
||||||
|
// assertion
|
||||||
|
assertion
|
||||||
|
//energy distribution
|
||||||
|
RC_Receiver_AIDA.in_RC_Serial_Bus_Supply := Flight_Controller_AIDA.out_RC_Serial_Bus_Supply;
|
||||||
|
Wifi_Controller_AIDA.in_WIFI_Serial_Bus_Supply := Flight_Controller_AIDA.out_WIFI_Serial_Bus_Supply;
|
||||||
|
|
||||||
|
// RC serieal bus
|
||||||
|
Flight_Controller_AIDA.in_RC_Serial_Bus := RC_Receiver_AIDA.out_RC_serial_Bus;
|
||||||
|
|
||||||
|
// WIFI serial bus
|
||||||
|
Wifi_Controller_AIDA.in_WIFI_Serial_Bus := Flight_Controller_AIDA.out_WIFI_Serial_Bus;
|
||||||
|
Flight_Controller_AIDA.in_WIFI_Serial_Bus := Wifi_Controller_AIDA.out_WIFI_Serial_Bus;
|
||||||
|
|
||||||
|
//CAN WIRE SENSOR
|
||||||
|
LIDAR_Altimeter_AIDA.in_CAN_Wire := Flight_Controller_AIDA.out_CAN_Wire_LIDAR_Altimeter;
|
||||||
|
Flight_Controller_AIDA.in_CAN_Wire_LIDAR_Altimeter := LIDAR_Altimeter_AIDA.out_CAN_Wire;
|
||||||
|
|
||||||
|
Optical_Flow_Sensor_AIDA.in_CAN_Wire := Flight_Controller_AIDA.out_CAN_Wire_Optical_Flow_Sensor;
|
||||||
|
Flight_Controller_AIDA.in_CAN_Wire_Optical_Flow_Sensor := Optical_Flow_Sensor_AIDA.out_CAN_Wire;
|
||||||
|
|
||||||
|
GPS_Receiver_AIDA.in_CAN_Wire := Flight_Controller_AIDA.out_CAN_Wire_GPS_Receiver;
|
||||||
|
Flight_Controller_AIDA.in_CAN_Wire_GPS_Receiver := GPS_Receiver_AIDA.out_CAN_Wire;
|
||||||
|
|
||||||
|
end
|
||||||
|
/*class Payload //Out of the scope
|
||||||
|
end*/
|
||||||
|
class Power_Supply_System
|
||||||
|
extends FM_Loss_Behaviour; //commun Loss
|
||||||
|
//class instances
|
||||||
|
Power_Supply_behavior flightControlSupply_behavior (lambda_Loss = 8.363e-08);
|
||||||
|
Power_Supply_behavior propulsionSupply_1_behavior (lambda_Loss = 8.041e-11);
|
||||||
|
Power_Supply_behavior propulsionSupply_2_behavior (lambda_Loss = 8.041e-11);
|
||||||
|
Power_Supply_behavior propulsionSupply_3_behavior (lambda_Loss = 8.041e-11);
|
||||||
|
Power_Supply_behavior propulsionSupply_4_behavior (lambda_Loss = 8.041e-11);
|
||||||
|
|
||||||
|
//flow variables
|
||||||
|
Status in_ML_power_supply (reset = LOST);
|
||||||
|
Status out_EPL_Power_supply_flight_control_system (reset = LOST);
|
||||||
|
Status out_EPL_Power_supply_PU1 (reset = LOST);
|
||||||
|
Status out_EPL_Power_supply_PU2 (reset = LOST);
|
||||||
|
Status out_EPL_Power_supply_PU3 (reset = LOST);
|
||||||
|
Status out_EPL_Power_supply_PU4 (reset = LOST);
|
||||||
|
|
||||||
|
// assertion
|
||||||
|
assertion
|
||||||
|
if (vsWorking==OK and in_ML_power_supply == OK) then out_EPL_Power_supply_flight_control_system := flightControlSupply_behavior.out_EPL_Power_supply;
|
||||||
|
if (vsWorking==OK and in_ML_power_supply == OK) then out_EPL_Power_supply_PU1 := propulsionSupply_1_behavior.out_EPL_Power_supply;
|
||||||
|
if (vsWorking==OK and in_ML_power_supply == OK) then out_EPL_Power_supply_PU2 := propulsionSupply_2_behavior.out_EPL_Power_supply;
|
||||||
|
if (vsWorking==OK and in_ML_power_supply == OK) then out_EPL_Power_supply_PU3 := propulsionSupply_3_behavior.out_EPL_Power_supply;
|
||||||
|
if (vsWorking==OK and in_ML_power_supply == OK) then out_EPL_Power_supply_PU4 := propulsionSupply_4_behavior.out_EPL_Power_supply;
|
||||||
|
|
||||||
|
if (vsWorking==OK and in_ML_power_supply == ERR) then out_EPL_Power_supply_flight_control_system := ERR;
|
||||||
|
if (vsWorking==OK and in_ML_power_supply == ERR) then out_EPL_Power_supply_PU1 := ERR;
|
||||||
|
if (vsWorking==OK and in_ML_power_supply == ERR) then out_EPL_Power_supply_PU2 := ERR;
|
||||||
|
if (vsWorking==OK and in_ML_power_supply == ERR) then out_EPL_Power_supply_PU3 := ERR;
|
||||||
|
if (vsWorking==OK and in_ML_power_supply == ERR) then out_EPL_Power_supply_PU4 := ERR;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Structure
|
||||||
|
extends FM_Loss_Behaviour;
|
||||||
|
//flow variables Flight control system
|
||||||
|
Status out_ML_RC_Receiver (reset = LOST);
|
||||||
|
Status out_ML_Wifi_Controller (reset = LOST);
|
||||||
|
Status out_ML_LIDAR_Altimeter (reset = LOST);
|
||||||
|
Status out_ML_GPS_Recerver (reset = LOST);
|
||||||
|
Status out_ML_Optical_Flow_Sensor (reset = LOST);
|
||||||
|
Status out_ML_Flight_Controller (reset = LOST);
|
||||||
|
|
||||||
|
//flow variables Propulsion system
|
||||||
|
// Status in_ML_Propeller_1_thrust_and_torque (reset = LOST);
|
||||||
|
// Status in_ML_Propeller_2_thrust_and_torque (reset = LOST);
|
||||||
|
// Status in_ML_Propeller_3_thrust_and_torque (reset = LOST);
|
||||||
|
// Status in_ML_Propeller_4_thrust_and_torque (reset = LOST);
|
||||||
|
|
||||||
|
Status out_ML_Propulsion_Unit1 (reset = LOST);
|
||||||
|
Status out_ML_Propulsion_Unit2 (reset = LOST);
|
||||||
|
Status out_ML_Propulsion_Unit3 (reset = LOST);
|
||||||
|
Status out_ML_Propulsion_Unit4 (reset = LOST);
|
||||||
|
|
||||||
|
//flow variables Flight control system
|
||||||
|
Status out_ML_power_supply (reset = LOST);
|
||||||
|
|
||||||
|
//local flow variables
|
||||||
|
Status in_local_flow (reset = LOST);
|
||||||
|
|
||||||
|
// assertion
|
||||||
|
assertion
|
||||||
|
// if (in_ML_Propeller_1_thrust_and_torque == OK and in_ML_Propeller_2_thrust_and_torque == OK and in_ML_Propeller_3_thrust_and_torque == OK and in_ML_Propeller_4_thrust_and_torque == OK) then in_local_flow := OK ;
|
||||||
|
// if (in_ML_Propeller_1_thrust_and_torque == ERR or in_ML_Propeller_2_thrust_and_torque == ERR or in_ML_Propeller_3_thrust_and_torque == ERR or in_ML_Propeller_4_thrust_and_torque == ERR) then in_local_flow := ERR ;
|
||||||
|
in_local_flow := OK;
|
||||||
|
|
||||||
|
if (vsWorking==OK) then out_ML_RC_Receiver := in_local_flow;
|
||||||
|
if (vsWorking==OK) then out_ML_Wifi_Controller := in_local_flow;
|
||||||
|
if (vsWorking==OK) then out_ML_LIDAR_Altimeter := in_local_flow;
|
||||||
|
if (vsWorking==OK) then out_ML_GPS_Recerver := in_local_flow;
|
||||||
|
if (vsWorking==OK) then out_ML_Optical_Flow_Sensor := in_local_flow;
|
||||||
|
if (vsWorking==OK) then out_ML_Flight_Controller := in_local_flow;
|
||||||
|
if (vsWorking==OK) then out_ML_Propulsion_Unit1 := in_local_flow;
|
||||||
|
if (vsWorking==OK) then out_ML_Propulsion_Unit2 := in_local_flow;
|
||||||
|
if (vsWorking==OK) then out_ML_Propulsion_Unit3 := in_local_flow;
|
||||||
|
if (vsWorking==OK) then out_ML_Propulsion_Unit4 := in_local_flow;
|
||||||
|
if (vsWorking==OK) then out_ML_power_supply := in_local_flow;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Propulsion_System
|
||||||
|
//class instances
|
||||||
|
Propulsion_Unit propulsion_Unit1;
|
||||||
|
Propulsion_Unit propulsion_Unit2;
|
||||||
|
Propulsion_Unit propulsion_Unit3;
|
||||||
|
Propulsion_Unit propulsion_Unit4;
|
||||||
|
|
||||||
|
end
|
||||||
|
/*------------------------------
|
||||||
|
//concrete class for system level 0
|
||||||
|
-----------------------------*/
|
||||||
|
|
||||||
|
class Drone
|
||||||
|
//class instances
|
||||||
|
Flight_Control_System Flight_Control_System_AIDA;
|
||||||
|
Power_Supply_System Power_Supply_System_AIDA (lambda_Loss = 1.415e-08);
|
||||||
|
Structure Structure_AIDA(lambda_Loss = 1.744e-05);
|
||||||
|
Propulsion_System Propulsion_System_AIDA;
|
||||||
|
|
||||||
|
//flow variables
|
||||||
|
Status in_USL_Remote_Control (reset = LOST);
|
||||||
|
// Status in_USL_Positioning_Signal (reset = LOST);
|
||||||
|
Status in_USL_Mission_Data (reset = LOST);
|
||||||
|
|
||||||
|
// assertion
|
||||||
|
assertion
|
||||||
|
|
||||||
|
// ML assertion
|
||||||
|
// Structure_AIDA.in_ML_Propeller_1_thrust_and_torque := Propulsion_System_AIDA.propulsion_Unit1.propeller.out_ML_Propeller_thrust_and_torque;
|
||||||
|
// Structure_AIDA.in_ML_Propeller_2_thrust_and_torque := Propulsion_System_AIDA.propulsion_Unit2.propeller.out_ML_Propeller_thrust_and_torque;
|
||||||
|
// Structure_AIDA.in_ML_Propeller_3_thrust_and_torque := Propulsion_System_AIDA.propulsion_Unit3.propeller.out_ML_Propeller_thrust_and_torque;
|
||||||
|
// Structure_AIDA.in_ML_Propeller_4_thrust_and_torque := Propulsion_System_AIDA.propulsion_Unit4.propeller.out_ML_Propeller_thrust_and_torque;
|
||||||
|
|
||||||
|
Flight_Control_System_AIDA.RC_Receiver_AIDA.in_ML := Structure_AIDA.out_ML_RC_Receiver;
|
||||||
|
Flight_Control_System_AIDA.Wifi_Controller_AIDA.in_ML := Structure_AIDA.out_ML_Wifi_Controller;
|
||||||
|
Flight_Control_System_AIDA.LIDAR_Altimeter_AIDA.in_ML := Structure_AIDA.out_ML_LIDAR_Altimeter;
|
||||||
|
Flight_Control_System_AIDA.Optical_Flow_Sensor_AIDA.in_ML := Structure_AIDA.out_ML_Optical_Flow_Sensor;
|
||||||
|
Flight_Control_System_AIDA.GPS_Receiver_AIDA.in_ML := Structure_AIDA.out_ML_GPS_Recerver;
|
||||||
|
Flight_Control_System_AIDA.Flight_Controller_AIDA.in_ML := Structure_AIDA.out_ML_Flight_Controller;
|
||||||
|
|
||||||
|
Power_Supply_System_AIDA.in_ML_power_supply := Structure_AIDA.out_ML_power_supply;
|
||||||
|
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit1.in_ML := Structure_AIDA.out_ML_Propulsion_Unit1;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit2.in_ML := Structure_AIDA.out_ML_Propulsion_Unit2;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit3.in_ML := Structure_AIDA.out_ML_Propulsion_Unit3;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit4.in_ML := Structure_AIDA.out_ML_Propulsion_Unit4;
|
||||||
|
|
||||||
|
// USL assertion
|
||||||
|
Flight_Control_System_AIDA.RC_Receiver_AIDA.in_USL_Remote_Control := in_USL_Remote_Control;
|
||||||
|
Flight_Control_System_AIDA.Wifi_Controller_AIDA.in_USL_Mission_Data := in_USL_Mission_Data;
|
||||||
|
// Flight_Control_System_AIDA.GPS_Receiver_AIDA.in_USL_Positioning_Signal := in_USL_Positioning_Signal;
|
||||||
|
|
||||||
|
//CAN MOTOR
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.in_CAN_Wire_motor := Flight_Control_System_AIDA.Flight_Controller_AIDA.out_CAN_Wire_motor1;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.in_CAN_Wire_motor := Flight_Control_System_AIDA.Flight_Controller_AIDA.out_CAN_Wire_motor2;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.in_CAN_Wire_motor := Flight_Control_System_AIDA.Flight_Controller_AIDA.out_CAN_Wire_motor3;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.in_CAN_Wire_motor := Flight_Control_System_AIDA.Flight_Controller_AIDA.out_CAN_Wire_motor4;
|
||||||
|
Flight_Control_System_AIDA.Flight_Controller_AIDA.in_CAN_Wire_motor1 := Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.out_CAN_Wire_motor;
|
||||||
|
Flight_Control_System_AIDA.Flight_Controller_AIDA.in_CAN_Wire_motor2 := Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.out_CAN_Wire_motor;
|
||||||
|
Flight_Control_System_AIDA.Flight_Controller_AIDA.in_CAN_Wire_motor3 := Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.out_CAN_Wire_motor;
|
||||||
|
Flight_Control_System_AIDA.Flight_Controller_AIDA.in_CAN_Wire_motor4 := Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.out_CAN_Wire_motor;
|
||||||
|
|
||||||
|
//PWM MOTOR
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.in_PWM := Flight_Control_System_AIDA.Flight_Controller_AIDA.out_PWM1;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.in_PWM := Flight_Control_System_AIDA.Flight_Controller_AIDA.out_PWM2;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.in_PWM := Flight_Control_System_AIDA.Flight_Controller_AIDA.out_PWM3;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.in_PWM := Flight_Control_System_AIDA.Flight_Controller_AIDA.out_PWM4;
|
||||||
|
|
||||||
|
//Energy Distribution
|
||||||
|
Flight_Control_System_AIDA.Flight_Controller_AIDA.in_PowerSupply := Power_Supply_System_AIDA.out_EPL_Power_supply_flight_control_system;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.in_EPL_Power_Supply := Power_Supply_System_AIDA.out_EPL_Power_supply_PU1;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.in_EPL_Power_Supply := Power_Supply_System_AIDA.out_EPL_Power_supply_PU2;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.in_EPL_Power_Supply := Power_Supply_System_AIDA.out_EPL_Power_supply_PU3;
|
||||||
|
Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.in_EPL_Power_Supply := Power_Supply_System_AIDA.out_EPL_Power_supply_PU4;
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
class Remote_Battery
|
||||||
|
extends FM_Loss_Behaviour;
|
||||||
|
//flow variables
|
||||||
|
Status out_energy_flow (reset = LOST);
|
||||||
|
// assertion
|
||||||
|
assertion
|
||||||
|
if (vsWorking==OK) then out_energy_flow := OK;
|
||||||
|
end
|
||||||
|
|
||||||
|
class Remote_Communication
|
||||||
|
extends FM_Erroneous_Loss_Behaviour;
|
||||||
|
//flow variables
|
||||||
|
Status in_energy_flow (reset = LOST);
|
||||||
|
Status out_USL_Remote_Control (reset = LOST);
|
||||||
|
assertion
|
||||||
|
if (vsWorking==OK) then out_USL_Remote_Control := in_energy_flow;
|
||||||
|
if (vsWorking==ERR) then out_USL_Remote_Control := ERR;
|
||||||
|
end
|
||||||
|
//TODO : placer des observers pour chaque SF (suivant l'allocation avec les composants)
|
||||||
154
models/AltaRicaWizzard_AIDA_Model/AIDA/AIDA_model.alt
Normal file
@@ -0,0 +1,154 @@
|
|||||||
|
/*
|
||||||
|
// * AltaRica 3.0 model
|
||||||
|
// * System of interest : AIDA Model
|
||||||
|
// * by Anthony Legendre - Fractus
|
||||||
|
// * This file is part of the S2C project.
|
||||||
|
// * Copyright (c) 2021-2022 Fractus - All Rights Reserved.
|
||||||
|
// */
|
||||||
|
|
||||||
|
/* Table of Contents
|
||||||
|
* --------------
|
||||||
|
* 0. Import
|
||||||
|
* 1. AIDASystem & Environment
|
||||||
|
* 2. AIDASystem
|
||||||
|
* 3. Drone
|
||||||
|
* 4. RemoteControl
|
||||||
|
* 5. ControlDesk
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 0. Import
|
||||||
|
* -------------------
|
||||||
|
*/
|
||||||
|
include "AIDA_library.alt"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 1. AIDASystem & Environment
|
||||||
|
* -------------------
|
||||||
|
*/
|
||||||
|
block AIDASystem_andEnv
|
||||||
|
// observer deterministe
|
||||||
|
Boolean obs_FC10 (reset = false);
|
||||||
|
Boolean obs_FC11 (reset = false);
|
||||||
|
Boolean obs_FC12 (reset = false);
|
||||||
|
Boolean obs_FC13 (reset = false);
|
||||||
|
Boolean obs_FC14 (reset = false);
|
||||||
|
Boolean obs_FC15 (reset = false);
|
||||||
|
Boolean obs_FC16 (reset = false);
|
||||||
|
Boolean obs_FC17 (reset = false);
|
||||||
|
Boolean obs_FC18 (reset = false);
|
||||||
|
Boolean obs_FC19 (reset = false);
|
||||||
|
Boolean obs_FC110 (reset = false);
|
||||||
|
Boolean obs_FC111 (reset = false);
|
||||||
|
Boolean obs_FC112 (reset = false);
|
||||||
|
Boolean obs_FC113 (reset = false);
|
||||||
|
Boolean obs_FC114 (reset = false);
|
||||||
|
Boolean obs_FC115 (reset = false);
|
||||||
|
Boolean obs_FC116 (reset = false);
|
||||||
|
observer Boolean obs_FC1_deterministe = obs_FC115 or obs_FC116;
|
||||||
|
observer Boolean obs_FC11_deterministe = obs_FC115;
|
||||||
|
observer Boolean obs_FC12_deterministe = obs_FC116;
|
||||||
|
Boolean obsGPS (reset = false);
|
||||||
|
Boolean obs_FC20 (reset = false);
|
||||||
|
Boolean obs_FC21 (reset = false);
|
||||||
|
Boolean obs_FC22 (reset = false);
|
||||||
|
Boolean obs_FC23 (reset = false);
|
||||||
|
Boolean obs_FC24 (reset = false);
|
||||||
|
Boolean obs_FC25 (reset = false);
|
||||||
|
observer Boolean obs_FC2_deterministe = obs_FC20 or obs_FC21 or obs_FC22 or obs_FC23 or obs_FC24 or obs_FC25;
|
||||||
|
|
||||||
|
Boolean obs_FC31 (reset = false);
|
||||||
|
Boolean obs_FC32 (reset = false);
|
||||||
|
Boolean obs_FC33 (reset = false);
|
||||||
|
observer Boolean obs_FC3_deterministe = obs_FC31 or obs_FC32 or obs_FC33;
|
||||||
|
|
||||||
|
observer Boolean obs_FC4_deterministe = (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm3_driver.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm3_driver.vsWorking==ERR) or (AIDA_System.Remote_Control.remote_Communication.vsWorking==LOST);
|
||||||
|
|
||||||
|
block AIDA_System
|
||||||
|
//class instances
|
||||||
|
Drone drone_AIDA;
|
||||||
|
//flow variables
|
||||||
|
// Status in_USL_Positioning_signal (reset = LOST);
|
||||||
|
|
||||||
|
block Remote_Control
|
||||||
|
//flow variables
|
||||||
|
Status out_USL_Remote_Control (reset = LOST);
|
||||||
|
//class instances
|
||||||
|
Remote_Battery remote_Battery (lambda_Loss = 2.702e-05);
|
||||||
|
Remote_Communication remote_Communication (lambda_ERR = 1e-09, lambda_Loss = 8.430e-05);
|
||||||
|
// assertion
|
||||||
|
assertion
|
||||||
|
remote_Communication.in_energy_flow := remote_Battery.out_energy_flow;
|
||||||
|
out_USL_Remote_Control := remote_Communication.out_USL_Remote_Control;
|
||||||
|
end
|
||||||
|
block Drone_control_desk
|
||||||
|
extends ObjetState;
|
||||||
|
Status out_USL_Mission_Data (reset = LOST);
|
||||||
|
Status in_USL_Mission_Data (reset = LOST);
|
||||||
|
// assertion
|
||||||
|
assertion
|
||||||
|
if (vsWorking==OK) then out_USL_Mission_Data := OK ;
|
||||||
|
end
|
||||||
|
// assertion
|
||||||
|
assertion
|
||||||
|
drone_AIDA.in_USL_Remote_Control := Remote_Control.out_USL_Remote_Control;
|
||||||
|
// drone_AIDA.in_USL_Positioning_Signal := in_USL_Positioning_signal;
|
||||||
|
drone_AIDA.in_USL_Mission_Data := Drone_control_desk.out_USL_Mission_Data;
|
||||||
|
end
|
||||||
|
|
||||||
|
/* block Positioning_System
|
||||||
|
extends ObjetState;
|
||||||
|
//flow variables
|
||||||
|
Status out_USL_Positioning_signal (reset = LOST);
|
||||||
|
assertion
|
||||||
|
out_USL_Positioning_signal := vsWorking;
|
||||||
|
end*/
|
||||||
|
//out of scope
|
||||||
|
/* block Drone_Environment
|
||||||
|
end
|
||||||
|
block Drone_Operator
|
||||||
|
end
|
||||||
|
block Air_Traffic_Management_Authorities
|
||||||
|
end
|
||||||
|
block Aircraft
|
||||||
|
end
|
||||||
|
block Airline_database
|
||||||
|
end
|
||||||
|
block Aircraft_flight_crew
|
||||||
|
end*/
|
||||||
|
// assertion
|
||||||
|
assertion
|
||||||
|
// AIDA_System.in_USL_Positioning_signal := Positioning_System.out_USL_Positioning_signal;
|
||||||
|
// observeur setting definition obs_FC10 ... obs_FC116
|
||||||
|
obs_FC10 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.can_motor_driver.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.can_motor_driver.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_controller_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_controller_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_protection_behavior.vsWorking == LOST);
|
||||||
|
obs_FC11 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_protection_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.can_motor_driver.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.can_motor_driver.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_controller_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_controller_behavior.vsWorking == ERR);
|
||||||
|
obs_FC12 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_protection_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_protection_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.can_motor_driver.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.can_motor_driver.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_controller_behavior.vsWorking == LOST);
|
||||||
|
obs_FC13 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_controller_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_protection_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_protection_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.can_motor_driver.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.can_motor_driver.vsWorking == ERR);
|
||||||
|
obs_FC14 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_controller_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_controller_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_protection_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_protection_behavior.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.vsWorking == LOST) ;
|
||||||
|
obs_FC15 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.rotation_generation.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.rotation_generation.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.speed_measurement.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.speed_measurement.vsWorking == ERR)or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.vsWorking == LOST);
|
||||||
|
obs_FC16 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.rotation_generation.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.rotation_generation.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.speed_measurement.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.speed_measurement.vsWorking == ERR)or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.vsWorking == LOST);
|
||||||
|
obs_FC17 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.rotation_generation.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.rotation_generation.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.speed_measurement.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.speed_measurement.vsWorking == ERR)or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.vsWorking == LOST);
|
||||||
|
obs_FC18 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.rotation_generation.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.rotation_generation.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.speed_measurement.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.speed_measurement.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.propeller.vsWorking == LOST);
|
||||||
|
obs_FC19 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.propeller.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.propeller.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.propeller.vsWorking == ERR) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.propeller.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.propeller.vsWorking == ERR);
|
||||||
|
obs_FC110 := (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.propeller.vsWorking == LOST) or (AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.propeller.vsWorking == ERR) or (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_1_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_2_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_3_behavior.vsWorking == LOST);
|
||||||
|
obs_FC111 := (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_4_behavior.vsWorking == LOST) or (AIDA_System.drone_AIDA.Structure_AIDA.vsWorking == LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.RC_Receiver_AIDA.vsWorking == LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.RC_Receiver_AIDA.vsWorking == ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.LIDAR_Altimeter_AIDA.vsWorking==ERR);
|
||||||
|
obs_FC112 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Optical_Flow_Sensor_AIDA.vsWorking==ERR) /*or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_AIDA.vsWorking==ERR) change here*/ or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.magnetometer_MON_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.magnetometer_MON_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.global_flight_control_board.vsWorking==LOST);
|
||||||
|
obs_FC113 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.global_flight_control_board.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm1_driver.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm1_driver.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm2_driver.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm2_driver.vsWorking==ERR);
|
||||||
|
obs_FC114 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.can_sensor.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_can_sensor.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_ccdl_behavior.vsWorking==ERR);
|
||||||
|
obsGPS := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_ERR.vsWorking==ERR)or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_CANBus_ERR.vsWorking==ERR);
|
||||||
|
obs_FC115 := obs_FC10 or obs_FC11 or obs_FC12 or obs_FC13 or obs_FC14 or obs_FC15 or obs_FC16 or obs_FC17 or obs_FC18 or obs_FC19 ;
|
||||||
|
obs_FC116 := obs_FC110 or obs_FC111 or obs_FC112 or obs_FC113 or obs_FC114 or obsGPS;
|
||||||
|
|
||||||
|
// observeur setting definition obs_FC21 ... obs_FC25
|
||||||
|
obs_FC20 := (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.flightControlSupply_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Power_Supply_System_AIDA.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.LIDAR_Altimeter_AIDA.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Optical_Flow_Sensor_AIDA.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_AIDA.vsWorking==LOST);
|
||||||
|
obs_FC21 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.inertial_reference_sensors_behavior.vsWorking==LOST)or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.inertial_reference_sensors_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.inertial_reference_sensors_MON_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.inertial_reference_sensors_MON_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.pressure_sensor_behavior.vsWorking==LOST);
|
||||||
|
obs_FC22 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.pressure_sensor_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.pressure_sensor_MON_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.pressure_sensor_MON_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.magnetometer_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.magnetometer_behavior.vsWorking==ERR);
|
||||||
|
obs_FC23 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_acquisition.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_acquisition.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_driver.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_driver.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.can_sensor.vsWorking==LOST);
|
||||||
|
obs_FC24 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.ccdl_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.ccdl_behavior.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_acquisition.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_acquisition.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_driver.vsWorking==LOST);
|
||||||
|
obs_FC25 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_driver.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_can_sensor.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_ccdl_behavior.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_CAN_motor_driver.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_CAN_motor_driver.vsWorking==ERR);
|
||||||
|
|
||||||
|
// observeur setting definition obs_FC31, obs_FC32, obs_FC33
|
||||||
|
obs_FC31 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Wifi_Controller_AIDA.vsWorking==LOST)or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Wifi_Controller_AIDA.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm4_driver.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm4_driver.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.rc_acquisition.vsWorking==LOST) ;
|
||||||
|
obs_FC32 := (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.rc_acquisition.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_global_flight_control_board.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_global_flight_control_board.vsWorking==ERR) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_rc_acquisition.vsWorking==LOST) or (AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_rc_acquisition.vsWorking==ERR);
|
||||||
|
obs_FC33 := (AIDA_System.Remote_Control.remote_Communication.vsWorking==ERR) or (AIDA_System.Remote_Control.remote_Battery.vsWorking==LOST);
|
||||||
|
end
|
||||||
BIN
models/AltaRicaWizzard_AIDA_Model/AIDA/libgcc_s_seh-1.dll
Normal file
BIN
models/AltaRicaWizzard_AIDA_Model/AIDA/libstdc++-6.dll
Normal file
BIN
models/AltaRicaWizzard_AIDA_Model/AIDA/libwinpthread-1.dll
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
1 1 6.40879e-05 0.106272 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.rotation_generation.ev_Loss_Failure
|
||||||
|
2 1 6.40879e-05 0.106272 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.rotation_generation.ev_Loss_Failure
|
||||||
|
3 1 6.40879e-05 0.106272 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.rotation_generation.ev_Loss_Failure
|
||||||
|
4 1 6.40879e-05 0.106272 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.rotation_generation.ev_Loss_Failure
|
||||||
|
5 1 3.32194e-05 0.0550851 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm1_driver.ev_Loss_Failure
|
||||||
|
6 1 1.91798e-05 0.0318043 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.propeller.ev_Loss_Failure
|
||||||
|
7 1 1.91798e-05 0.0318043 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.propeller.ev_Loss_Failure
|
||||||
|
8 1 1.91798e-05 0.0318043 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.propeller.ev_Loss_Failure
|
||||||
|
9 1 1.91798e-05 0.0318043 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.propeller.ev_Loss_Failure
|
||||||
|
10 1 1.74398e-05 0.0289191 AIDA_System.drone_AIDA.Structure_AIDA.ev_Loss_Failure
|
||||||
|
11 1 1.55899e-05 0.0258514 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm2_driver.ev_Loss_Failure
|
||||||
|
12 1 1.33799e-05 0.0221868 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.RC_Receiver_AIDA.ev_Loss_Failure
|
||||||
|
13 1 1.28599e-05 0.0213246 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.magnetometer_MON_behavior.ev_Loss_Failure
|
||||||
|
14 1 1.21799e-05 0.020197 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_controller_behavior.ev_Loss_Failure
|
||||||
|
15 1 1.21799e-05 0.020197 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_controller_behavior.ev_Loss_Failure
|
||||||
|
16 1 1.21799e-05 0.020197 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_controller_behavior.ev_Loss_Failure
|
||||||
|
17 1 1.21799e-05 0.020197 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_controller_behavior.ev_Loss_Failure
|
||||||
|
18 1 1.12099e-05 0.0185885 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.can_motor_driver.ev_Loss_Failure
|
||||||
|
19 1 1.12099e-05 0.0185885 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.can_motor_driver.ev_Loss_Failure
|
||||||
|
20 1 1.12099e-05 0.0185885 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.can_motor_driver.ev_Loss_Failure
|
||||||
|
21 1 1.12099e-05 0.0185885 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.can_motor_driver.ev_Loss_Failure
|
||||||
|
22 1 8.64796e-06 0.0143402 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.rotation_generation.ev_ERR_Failure
|
||||||
|
23 1 8.64796e-06 0.0143402 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.rotation_generation.ev_ERR_Failure
|
||||||
|
24 1 8.64796e-06 0.0143402 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.rotation_generation.ev_ERR_Failure
|
||||||
|
25 1 8.64796e-06 0.0143402 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.rotation_generation.ev_ERR_Failure
|
||||||
|
26 1 5.48198e-06 0.00909033 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_ccdl_behavior.ev_ERR_Failure
|
||||||
|
27 1 4.91999e-06 0.00815842 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.global_flight_control_board.ev_Loss_Failure
|
||||||
|
28 1 2.961e-06 0.00490998 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm1_driver.ev_ERR_Failure
|
||||||
|
29 1 2.392e-06 0.00396645 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.ev_Loss_Failure
|
||||||
|
30 1 2.392e-06 0.00396645 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.ev_Loss_Failure
|
||||||
|
31 1 2.392e-06 0.00396645 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.ev_Loss_Failure
|
||||||
|
32 1 2.392e-06 0.00396645 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.ev_Loss_Failure
|
||||||
|
33 1 1.83e-06 0.00303454 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm2_driver.ev_ERR_Failure
|
||||||
|
34 1 1.425e-06 0.00236296 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_protection_behavior.ev_Loss_Failure
|
||||||
|
35 1 1.425e-06 0.00236296 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_protection_behavior.ev_Loss_Failure
|
||||||
|
36 1 1.425e-06 0.00236296 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_protection_behavior.ev_Loss_Failure
|
||||||
|
37 1 1.425e-06 0.00236296 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_protection_behavior.ev_Loss_Failure
|
||||||
|
38 1 1.332e-06 0.00220875 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.speed_measurement.ev_Loss_Failure
|
||||||
|
39 1 1.332e-06 0.00220875 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.speed_measurement.ev_Loss_Failure
|
||||||
|
40 1 1.332e-06 0.00220875 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.speed_measurement.ev_Loss_Failure
|
||||||
|
41 1 1.332e-06 0.00220875 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.speed_measurement.ev_Loss_Failure
|
||||||
|
42 1 1.301e-06 0.00215734 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_protection_behavior.ev_ERR_Failure
|
||||||
|
43 1 1.301e-06 0.00215734 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_protection_behavior.ev_ERR_Failure
|
||||||
|
44 1 1.301e-06 0.00215734 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_protection_behavior.ev_ERR_Failure
|
||||||
|
45 1 1.301e-06 0.00215734 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_protection_behavior.ev_ERR_Failure
|
||||||
|
46 1 9.468e-07 0.00157 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Optical_Flow_Sensor_AIDA.ev_ERR_Failure
|
||||||
|
47 1 4.846e-07 0.000803573 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_ERR.ev_ERR_Failure
|
||||||
|
48 1 4.501e-07 0.000746364 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.can_motor_driver.ev_ERR_Failure
|
||||||
|
49 1 4.501e-07 0.000746364 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.can_motor_driver.ev_ERR_Failure
|
||||||
|
50 1 4.501e-07 0.000746364 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.can_motor_driver.ev_ERR_Failure
|
||||||
|
51 1 4.501e-07 0.000746364 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.can_motor_driver.ev_ERR_Failure
|
||||||
|
52 1 4.501e-07 0.000746364 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.LIDAR_Altimeter_AIDA.ev_ERR_Failure
|
||||||
|
53 1 4.501e-07 0.000746364 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.LIDAR_Altimeter_AIDA.ev_CANbus_ERR_Failure
|
||||||
|
54 1 4.501e-07 0.000746364 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Optical_Flow_Sensor_AIDA.ev_CANbus_ERR_Failure
|
||||||
|
55 1 4.501e-07 0.000746364 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_CANBus_ERR.ev_ERR_Failure
|
||||||
|
56 1 4.501e-07 0.000746364 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.can_sensor.ev_ERR_Failure
|
||||||
|
57 1 4.501e-07 0.000746364 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_can_sensor.ev_ERR_Failure
|
||||||
|
58 1 3.326e-07 0.000551523 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.propeller.ev_ERR_Failure
|
||||||
|
59 1 3.326e-07 0.000551523 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.propeller.ev_ERR_Failure
|
||||||
|
60 1 3.326e-07 0.000551523 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.propeller.ev_ERR_Failure
|
||||||
|
61 1 3.326e-07 0.000551523 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.propeller.ev_ERR_Failure
|
||||||
|
62 1 1.901e-07 0.000315227 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.magnetometer_MON_behavior.ev_ERR_Failure
|
||||||
|
63 1 1.154e-07 0.000191358 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor.speed_measurement.ev_ERR_Failure
|
||||||
|
64 1 1.154e-07 0.000191358 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor.speed_measurement.ev_ERR_Failure
|
||||||
|
65 1 1.154e-07 0.000191358 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor.speed_measurement.ev_ERR_Failure
|
||||||
|
66 1 1.154e-07 0.000191358 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor.speed_measurement.ev_ERR_Failure
|
||||||
|
67 1 1.089e-07 0.00018058 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit1.motor_Control_Protection.motor_controller_behavior.ev_ERR_Failure
|
||||||
|
68 1 1.089e-07 0.00018058 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit2.motor_Control_Protection.motor_controller_behavior.ev_ERR_Failure
|
||||||
|
69 1 1.089e-07 0.00018058 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit3.motor_Control_Protection.motor_controller_behavior.ev_ERR_Failure
|
||||||
|
70 1 1.089e-07 0.00018058 AIDA_System.drone_AIDA.Propulsion_System_AIDA.propulsion_Unit4.motor_Control_Protection.motor_controller_behavior.ev_ERR_Failure
|
||||||
|
71 1 1e-09 1.65822e-06 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.RC_Receiver_AIDA.ev_ERR_Failure
|
||||||
|
72 1 1e-09 1.65822e-06 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.global_flight_control_board.ev_ERR_Failure
|
||||||
|
73 1 8.041e-11 1.33337e-07 AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_3_behavior.ev_Loss_Failure
|
||||||
|
74 1 8.041e-11 1.33337e-07 AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_2_behavior.ev_Loss_Failure
|
||||||
|
75 1 8.041e-11 1.33337e-07 AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_1_behavior.ev_Loss_Failure
|
||||||
|
76 1 8.041e-11 1.33337e-07 AIDA_System.drone_AIDA.Power_Supply_System_AIDA.propulsionSupply_4_behavior.ev_Loss_Failure
|
||||||
|
@@ -0,0 +1,33 @@
|
|||||||
|
1 1 8.24366e-05 0.270281 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Optical_Flow_Sensor_AIDA.ev_Loss_Failure
|
||||||
|
2 1 3.94892e-05 0.129472 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.pressure_sensor_MON_behavior.ev_Loss_Failure
|
||||||
|
3 1 3.01695e-05 0.0989156 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.inertial_reference_sensors_behavior.ev_Loss_Failure
|
||||||
|
4 1 1.12099e-05 0.0367535 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_AIDA.ev_CANbus_Loss_Failure
|
||||||
|
5 1 1.12099e-05 0.0367535 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Optical_Flow_Sensor_AIDA.ev_CANbus_Loss_Failure
|
||||||
|
6 1 1.12099e-05 0.0367535 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.LIDAR_Altimeter_AIDA.ev_Loss_Failure
|
||||||
|
7 1 1.12099e-05 0.0367535 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.LIDAR_Altimeter_AIDA.ev_CANbus_Loss_Failure
|
||||||
|
8 1 1.12099e-05 0.0367535 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.can_sensor.ev_Loss_Failure
|
||||||
|
9 1 1.12099e-05 0.0367535 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_CAN_motor_driver.ev_ERR_Failure
|
||||||
|
10 1 1.12099e-05 0.0367535 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_can_sensor.ev_Loss_Failure
|
||||||
|
11 1 1.11599e-05 0.0365896 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.pressure_sensor_behavior.ev_Loss_Failure
|
||||||
|
12 1 9.61295e-06 0.0315176 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_acquisition.ev_Loss_Failure
|
||||||
|
13 1 7.37897e-06 0.0241931 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_acquisition.ev_ERR_Failure
|
||||||
|
14 1 6.54598e-06 0.021462 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.GPS_Receiver_AIDA.ev_Loss_Failure
|
||||||
|
15 1 6.24098e-06 0.020462 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_acquisition.ev_ERR_Failure
|
||||||
|
16 1 5.76698e-06 0.018908 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_driver.ev_ERR_Failure
|
||||||
|
17 1 5.21299e-06 0.0170916 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.ccdl_behavior.ev_Loss_Failure
|
||||||
|
18 1 3.73399e-06 0.0122425 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_driver.ev_ERR_Failure
|
||||||
|
19 1 3.30799e-06 0.0108458 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_driver.ev_Loss_Failure
|
||||||
|
20 1 3.30199e-06 0.0108261 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.pressure_sensor_behavior.ev_ERR_Failure
|
||||||
|
21 1 3.077e-06 0.0100884 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.magnetometer_behavior.ev_Loss_Failure
|
||||||
|
22 1 2.628e-06 0.0086163 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.inertial_reference_sensors_MON_behavior.ev_ERR_Failure
|
||||||
|
23 1 2.28e-06 0.00747533 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_wifi_acquisition.ev_Loss_Failure
|
||||||
|
24 1 1.419e-06 0.00465241 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.inertial_reference_sensors_MON_behavior.ev_Loss_Failure
|
||||||
|
25 1 1.059e-06 0.0034721 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_ccdl_behavior.ev_Loss_Failure
|
||||||
|
26 1 4.594e-07 0.00150621 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.pressure_sensor_MON_behavior.ev_ERR_Failure
|
||||||
|
27 1 4.501e-07 0.00147572 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_CAN_motor_driver.ev_Loss_Failure
|
||||||
|
28 1 2.559e-07 0.000839008 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.magnetometer_behavior.ev_ERR_Failure
|
||||||
|
29 1 1.713e-07 0.000561634 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.ccdl_behavior.ev_ERR_Failure
|
||||||
|
30 1 1.483e-07 0.000486225 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.inertial_reference_sensors_behavior.ev_ERR_Failure
|
||||||
|
31 1 1.294e-07 0.000424258 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.wifi_driver.ev_Loss_Failure
|
||||||
|
32 1 8.363e-08 0.000274194 AIDA_System.drone_AIDA.Power_Supply_System_AIDA.flightControlSupply_behavior.ev_Loss_Failure
|
||||||
|
33 1 1.415e-08 4.6393e-05 AIDA_System.drone_AIDA.Power_Supply_System_AIDA.ev_Loss_Failure
|
||||||
|
@@ -0,0 +1,12 @@
|
|||||||
|
1 1 4.23691e-05 0.249995 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_global_flight_control_board.ev_Loss_Failure
|
||||||
|
2 1 2.93596e-05 0.173234 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_rc_acquisition.ev_Loss_Failure
|
||||||
|
3 1 2.70196e-05 0.159427 AIDA_System.Remote_Control.remote_Battery.ev_Loss_Failure
|
||||||
|
4 1 2.66996e-05 0.157539 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.rc_acquisition.ev_Loss_Failure
|
||||||
|
5 1 2.45097e-05 0.144617 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm4_driver.ev_Loss_Failure
|
||||||
|
6 1 1.74398e-05 0.102902 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Wifi_Controller_AIDA.ev_ERR_Failure
|
||||||
|
7 1 1.273e-06 0.00751122 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.rc_acquisition.ev_ERR_Failure
|
||||||
|
8 1 3.497e-07 0.00206337 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_rc_acquisition.ev_ERR_Failure
|
||||||
|
9 1 3.236e-07 0.00190937 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm4_driver.ev_ERR_Failure
|
||||||
|
10 1 1.338e-07 0.000789476 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Wifi_Controller_AIDA.ev_Loss_Failure
|
||||||
|
11 1 1e-09 5.90042e-06 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_monitoring_channel_behavior_AIDA.monitoring_flight_control_board.MON_global_flight_control_board.ev_ERR_Failure
|
||||||
|
12 1 1e-09 5.90042e-06 AIDA_System.Remote_Control.remote_Communication.ev_ERR_Failure
|
||||||
|
@@ -0,0 +1,3 @@
|
|||||||
|
1 1 8.42964e-05 0.730223 AIDA_System.Remote_Control.remote_Communication.ev_Loss_Failure
|
||||||
|
2 1 3.01595e-05 0.261259 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm3_driver.ev_Loss_Failure
|
||||||
|
3 1 9.833e-07 0.00851789 AIDA_System.drone_AIDA.Flight_Control_System_AIDA.Flight_Controller_AIDA.Flight_control_main_channel_behavior_AIDA.main_flight_control_board.pwm3_driver.ev_ERR_Failure
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<projectDescription>
|
<projectDescription>
|
||||||
<name>AIDASystem_SimfiaNeoModel_443_Safety3</name>
|
<name>AIDASystem_SimfiaNeoModel</name>
|
||||||
<comment></comment>
|
<comment></comment>
|
||||||
<projects>
|
<projects>
|
||||||
</projects>
|
</projects>
|
||||||
|
Before Width: | Height: | Size: 711 B After Width: | Height: | Size: 711 B |
|
Before Width: | Height: | Size: 640 B After Width: | Height: | Size: 640 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 169 B After Width: | Height: | Size: 169 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 670 B After Width: | Height: | Size: 670 B |
|
Before Width: | Height: | Size: 658 B After Width: | Height: | Size: 658 B |
|
Before Width: | Height: | Size: 579 B After Width: | Height: | Size: 579 B |
|
Before Width: | Height: | Size: 588 B After Width: | Height: | Size: 588 B |
|
Before Width: | Height: | Size: 327 B After Width: | Height: | Size: 327 B |
|
Before Width: | Height: | Size: 322 B After Width: | Height: | Size: 322 B |
|
Before Width: | Height: | Size: 483 B After Width: | Height: | Size: 483 B |
|
Before Width: | Height: | Size: 899 B After Width: | Height: | Size: 899 B |
|
Before Width: | Height: | Size: 898 B After Width: | Height: | Size: 898 B |
|
Before Width: | Height: | Size: 898 B After Width: | Height: | Size: 898 B |
|
Before Width: | Height: | Size: 901 B After Width: | Height: | Size: 901 B |
|
Before Width: | Height: | Size: 905 B After Width: | Height: | Size: 905 B |
|
Before Width: | Height: | Size: 905 B After Width: | Height: | Size: 905 B |
|
Before Width: | Height: | Size: 905 B After Width: | Height: | Size: 905 B |
|
Before Width: | Height: | Size: 540 B After Width: | Height: | Size: 540 B |
|
Before Width: | Height: | Size: 533 B After Width: | Height: | Size: 533 B |
|
Before Width: | Height: | Size: 541 B After Width: | Height: | Size: 541 B |
|
Before Width: | Height: | Size: 557 B After Width: | Height: | Size: 557 B |
|
Before Width: | Height: | Size: 563 B After Width: | Height: | Size: 563 B |
|
Before Width: | Height: | Size: 563 B After Width: | Height: | Size: 563 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 866 B After Width: | Height: | Size: 866 B |
|
Before Width: | Height: | Size: 875 B After Width: | Height: | Size: 875 B |
|
Before Width: | Height: | Size: 883 B After Width: | Height: | Size: 883 B |
|
Before Width: | Height: | Size: 864 B After Width: | Height: | Size: 864 B |
|
Before Width: | Height: | Size: 875 B After Width: | Height: | Size: 875 B |
|
Before Width: | Height: | Size: 875 B After Width: | Height: | Size: 875 B |
|
Before Width: | Height: | Size: 667 B After Width: | Height: | Size: 667 B |
|
Before Width: | Height: | Size: 872 B After Width: | Height: | Size: 872 B |
|
Before Width: | Height: | Size: 884 B After Width: | Height: | Size: 884 B |
|
Before Width: | Height: | Size: 884 B After Width: | Height: | Size: 884 B |
|
Before Width: | Height: | Size: 666 B After Width: | Height: | Size: 666 B |
|
Before Width: | Height: | Size: 325 B After Width: | Height: | Size: 325 B |
|
Before Width: | Height: | Size: 314 B After Width: | Height: | Size: 314 B |
23
models/SimfiaNeoproject - functional model/Copyrights.txt
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
|
||||||
|
************************************************************************
|
||||||
|
Copyrights and license
|
||||||
|
************************************************************************
|
||||||
|
|
||||||
|
The whole model is provided under the following terms
|
||||||
|
|
||||||
|
Copyright (c) 2016-2022 IRT AESE (IRT Saint Exup<75>ry).
|
||||||
|
|
||||||
|
All rights reserved. This program and the accompanying materials are made available under the terms of the
|
||||||
|
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) which accompanies this distribution,
|
||||||
|
and is available at https://creativecommons.org/licenses/by-sa/4.0/
|
||||||
|
|
||||||
|
Third party components:
|
||||||
|
|
||||||
|
The nodes Functions/BasicOperators/AND, Functions/BasicOperators/Comparator, Functions/BasicFunctions/InOutFunction and
|
||||||
|
Functions/BasicFunctions/SourceFunction are provided under the following terms:
|
||||||
|
|
||||||
|
Copyright (c) 2007-2022 ONERA.
|
||||||
|
|
||||||
|
All rights reserved. This program and the accompanying materials
|
||||||
|
are made available under the terms of the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
|
||||||
|
which accompanies this distribution, and is available at https://creativecommons.org/licenses/by-sa/4.0/
|
||||||
56
models/SimfiaNeoproject - functional model/README.txt
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
|
||||||
|
*******************
|
||||||
|
*** README AIDA ***
|
||||||
|
*******************
|
||||||
|
|
||||||
|
This repository contains the safety model of the study case AIDA.
|
||||||
|
It is provided by IRT Saint Exup<75>ry under a Creative Commons BY-SA licence.
|
||||||
|
This repository is managed in versioning throught git, with the following url
|
||||||
|
|
||||||
|
https://sahara.pf.irt-saintexupery.com/
|
||||||
|
project AIDA
|
||||||
|
|
||||||
|
|
||||||
|
1. AIDA description
|
||||||
|
|
||||||
|
2. Motivation and intended use
|
||||||
|
|
||||||
|
3. List of files and how to use them
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
************************************************************************
|
||||||
|
* 1. AIDA description
|
||||||
|
************************************************************************
|
||||||
|
The AIDA (Aircraft Inspection by Drone Assistant) system, is a Remotely Piloted Aircraft System (RPAS).
|
||||||
|
It is composed of a quadcopter drone, a control computer and a remote control.
|
||||||
|
The mission of this system is to help the pilot to inspect the aircraft before flight.
|
||||||
|
The quadcopter drone can be piloted in automated or manual mode. In manual mode,
|
||||||
|
the pilot guides the inspection of the aircraft by the drone.
|
||||||
|
In automated mode, the drone follows a flight plan and records the video of the inspected zone.
|
||||||
|
|
||||||
|
************************************************************************
|
||||||
|
* 2. Motivation and intended use
|
||||||
|
************************************************************************
|
||||||
|
AIDA provides a reference study case representative of the complexity and criticity found in aeronautical
|
||||||
|
systems.
|
||||||
|
Our intent is to provide a repository to gather all AIDA modellings in order to share different approaches and tools.
|
||||||
|
|
||||||
|
If you plan to use AIDA as a study case it would be kind to inform the IRT Saint-Exupery contacts below. We would be pleased to answer your questions.
|
||||||
|
systems-engineering@irt-saintexupery.com
|
||||||
|
|
||||||
|
Currently, the following works use this use case :
|
||||||
|
Prosvirnova, T., Saez, E., Seguin, C., Virelizier, P.: Handling consistency between safety and system models.
|
||||||
|
In: Bozzano, M., Papadopoulos, Y. (eds.) Model-Based Safety and Assessment - 5th International Symposium, IMBSA 2017, Trento, Italy, September 11-13, 2017, Proceedings.
|
||||||
|
Lecture Notes in Computer Science, vol. 10437, pp. 19-34. Springer (2017),
|
||||||
|
https://doi.org/10.1007/978-3-319-64119-5_2
|
||||||
|
|
||||||
|
************************************************************************
|
||||||
|
* 3. List of files and how to use them
|
||||||
|
************************************************************************
|
||||||
|
|
||||||
|
AIDASystem-SimfiaNeoModel_System***_Safety*.zip: to be imported in SimfiaNeo (*** replaced by version number)
|
||||||
|
Current version of SimfiaNeo 1.4.2
|
||||||
|
|
||||||
BIN
models/SimfiaNeoproject - functional model/Thumbs.db
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>AIDA_V4_5_physical</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.sirius.nature.modelingproject</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
||||||
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 894 B |
|
After Width: | Height: | Size: 894 B |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 27 KiB |