Add wasm tacle-bench targets
This commit is contained in:
+1047
File diff suppressed because it is too large
Load Diff
+1037
File diff suppressed because it is too large
Load Diff
+1048
File diff suppressed because it is too large
Load Diff
+1038
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,677 @@
|
||||
-- le projet paprazzi s'interesse a la realisation
|
||||
-- d'un micro-drone autonome a bas cout.
|
||||
-- le systeme embarque est constitue de
|
||||
-- 1.recepteurs (HF(pour radio commande)
|
||||
-- 2.capteurs infrarouge et GPS
|
||||
-- 3.camera video
|
||||
-- 4.modem
|
||||
-- 5.emetteur
|
||||
-- 6.deux microcontroleurs (MCU0, MCU1)
|
||||
|
||||
--voir le fichier listes des taches pour corriger ce fichier AADL
|
||||
|
||||
---------------------------------------------------------------
|
||||
-- We model a bus that connects our devices to the processor
|
||||
bus Device_Bus
|
||||
end Device_Bus;
|
||||
|
||||
bus implementation Device_Bus.MCU0
|
||||
end Device_Bus.MCU0;
|
||||
|
||||
bus implementation Device_Bus.MCU1
|
||||
end Device_Bus.MCU1;
|
||||
|
||||
device Compteur
|
||||
features
|
||||
Cde_Input : in data port Data_Types::Tableau.Generic;
|
||||
Data_Gaz_Output : out data port Data_Types::Integer;
|
||||
Data_Elev_Output : out data port Data_Types::Integer;
|
||||
Data_AilL_Output : out data port Data_Types::Integer;
|
||||
Data_AilR_Output : out data port Data_Types::Integer;
|
||||
Dev_Bus : requires bus access Device_Bus.MCU1;
|
||||
end Compteur;
|
||||
|
||||
device Servo
|
||||
features
|
||||
Data_Input : in data port Data_Types::Integer;
|
||||
--Cde_Output : out event data port; -- new data type?
|
||||
Dev_bus : requires bus access Device_Bus.MCU1;
|
||||
end Servo;
|
||||
|
||||
device Recepteur
|
||||
features
|
||||
--RC_Input : in event data port;
|
||||
--RC_Output : out event data port;
|
||||
RC_Data_Input : in data port ; -- new data type?
|
||||
RC_Evt_Input : in event port; -- -- -- -- -- -- -- -- -- new
|
||||
Cdes_Output : out data port; -- new data type?
|
||||
Error_Evt_Output : out event port;
|
||||
Dev_Bus : requires bus access Device_Bus.MCU1;
|
||||
end Recepteur;
|
||||
|
||||
|
||||
--this thread gets the data from the Radio Commande (RC)
|
||||
--il definit les interruptions provenant de la RC
|
||||
thread Reception_Decodage
|
||||
features
|
||||
Data_RC_Input : in data port;-- -- -- new data type?
|
||||
Data_Decoded_Output: out data port Data_Types::Tableau.Generic;
|
||||
properties
|
||||
Dispatch_Protocol => periodic;
|
||||
end Reception_Decodage;
|
||||
|
||||
thread implementation Reception_Decodage.Impl
|
||||
--properties
|
||||
--Period =>
|
||||
end Reception_Decodage.Impl;
|
||||
|
||||
--this thread gets the flight parameters and transmit them to the Counter
|
||||
thread Pilotage_Servo_Cdes
|
||||
features
|
||||
Data_Cp_Output : out data port Data_Types::Tableau.Generic;--Cp :Compteur
|
||||
Param_Vol_Input : in data port Data_Types::Tableau.Generic;
|
||||
end Pilotage_Servo_Cdes;
|
||||
|
||||
thread implementation Pilotage_Servo_Cdes.Impl
|
||||
--properties
|
||||
--Period => ??????????????????
|
||||
end Pilotage_Servo_Cdes.Impl;
|
||||
|
||||
--this thread sends data to and receives data from MCU0
|
||||
thread Receive_Send_Data_MCU0
|
||||
features
|
||||
MCU1_Data_Input : in data port Data_Types::Tableau.Generic;
|
||||
MCU1_Send_Output : out event data port Data_Types::Inter_mcu_msg.Generic;--updated
|
||||
AP_Data_Input : in event data port Data_Types::Inter_mcu_msg.Generic;--updated
|
||||
AP_Evt_Output : out event port;--updated
|
||||
AP_Rec_Output : out data port Data_Types::Tableau.Generic;
|
||||
end Receive_Send_Data_MCU0;
|
||||
|
||||
thread implementation Receive_Send_Data_MCU0.Impl
|
||||
--properties
|
||||
--Period =>
|
||||
end Receive_Send_Data_MCU0.Impl;
|
||||
|
||||
process RecepteurCde_PilotageServo
|
||||
features
|
||||
Radio_Cdes_Input : in data port;
|
||||
AP_Cdes_Input : in event data port Data_Types::Inter_mcu_msg.Generic;--Autopilot Input --updated
|
||||
Radio_Evt_Input : in event port;--RC erreur
|
||||
--AP_Evt_Input : in event port;
|
||||
Cdes_Vol_Output : out event data port Data_Types::Inter_mcu_msg.Generic;--updated --data transmission to MCU0
|
||||
Cde_Serv_Output : out data port Data_Types::Tableau.Generic;
|
||||
end RecepteurCde_PilotageServo;
|
||||
|
||||
process implementation RecepteurCde_PilotageServo.Impl
|
||||
subcomponents
|
||||
Rec_Dec_Th : thread Reception_Decodage.Impl;
|
||||
Rec_Send_Th : thread Receive_Send_Data_MCU0.Impl;
|
||||
Pilot_Serv_Th : thread Pilotage_Servo_Cdes.Impl;
|
||||
|
||||
connections
|
||||
data port Radio_Cdes_Input->Rec_Dec_Th.Data_RC_Input in modes(manual);
|
||||
event data port AP_Cdes_Input->Rec_Send_Th.AP_Data_Input in modes (auto,manual);--new --updated
|
||||
data port Rec_Send_Th.AP_Rec_Output->Pilot_Serv_Th.Param_Vol_Input in modes(auto,manual);--new
|
||||
--on annule ce lien car les parametres de la Radio commande
|
||||
--doivent etre transmis a MCU0 pour obtenir en retour les
|
||||
--parametres de vol
|
||||
--data port Rec_Dec_Th.Data_Decoded_Output->Pilot_Serv_Th.Param_Vol_Input in modes(manual);
|
||||
data port Pilot_Serv_Th.Data_Cp_Output->Cde_SerV_Output in modes(manual,auto);
|
||||
data port Rec_Dec_Th.Data_Decoded_Output->Rec_Send_Th.MCU1_Data_Input in modes(manual);
|
||||
event data port Rec_Send_Th.MCU1_Send_Output->Cdes_Vol_Output in modes(manual); --updated
|
||||
modes
|
||||
manual : initial mode;
|
||||
auto : mode;
|
||||
failsafe: mode;
|
||||
-- Transitions
|
||||
-- Specify the transitions between modes, use the following syntax:
|
||||
-- <INITIAL_MODE> -[ <EVENT> ]-> <FINAL_MODE>
|
||||
manual-[Radio_Evt_Input]->auto;
|
||||
auto-[Rec_Send_Th.AP_Evt_Output]->manual;
|
||||
manual-[Radio_Evt_Input,Rec_Send_Th.AP_Evt_Output]->Failsafe;
|
||||
end RecepteurCde_PilotageServo.Impl;
|
||||
|
||||
processor Proc_MCU1
|
||||
features
|
||||
Mem_Bus : requires bus access Mem_Bus_MCU1;
|
||||
Dev_Bus : requires bus access Device_Bus.MCU1;
|
||||
end Proc_MCU1;
|
||||
|
||||
-- AADL processor = microprocessor + scheduler
|
||||
processor implementation Proc_MCU1.Impl
|
||||
properties
|
||||
Scheduling_Protocol => RMS;
|
||||
--RMS (Rate Monotonic Scheduling) est un FPS
|
||||
--(Fixed Priority Scheduling)
|
||||
--chaque tache a une priorite fixe
|
||||
end Proc_MCU1.Impl;
|
||||
|
||||
-- We model the RAM to bind our processes and threads
|
||||
memory Ram_MCU1
|
||||
features
|
||||
Mem_Bus : requires bus access Mem_Bus_MCU1;
|
||||
end Ram_MCU1;
|
||||
|
||||
-- We model a data bus that links processors and memories
|
||||
bus Mem_Bus_MCU1
|
||||
end Mem_Bus_MCU1;
|
||||
|
||||
-- MCU1 est charge de la Reception des ordres de la radio-commande,
|
||||
-- la communication avec MCU0 et le pilotage des servos commandes
|
||||
|
||||
system MCU1
|
||||
features
|
||||
RC_Data_Input : in data port;---------------new
|
||||
RC_Evt_Input : in event port; --------new
|
||||
AP_Data_Input : in event data port Data_Types::Inter_mcu_msg.Generic;--AP: autopilot --updated
|
||||
--AP_Evt_Input : in event port;--Erreur Autopilot --updated
|
||||
--RC_Evt_Output : out event port;--Erreur Radio Cde --updated
|
||||
D_MCU1_Output : out event data port Data_Types::Inter_mcu_msg.Generic;-- updated
|
||||
Bus_Con : requires bus access SPI;
|
||||
end MCU1;
|
||||
|
||||
system implementation MCU1.Impl
|
||||
subcomponents
|
||||
--declare all the needed subcomponents to the system
|
||||
MCU1_P : processor Proc_MCU1.Impl;
|
||||
Ram : memory Ram_MCU1;
|
||||
Mem_Bus : bus Mem_Bus_MCU1;
|
||||
Dev_Bus : bus Device_Bus.MCU1;
|
||||
Recpt_dv : device Recepteur;
|
||||
Cpt_dv : device Compteur;
|
||||
Ser_Gaz_dv : device Servo;
|
||||
Ser_Elevator_dv : device Servo;
|
||||
Ser_AileronL_dv : device Servo;--Aileron Left
|
||||
Ser_AileronR_dv : device Servo;--Aileron Right
|
||||
Proc_RcptCde_PilotServ : process RecepteurCde_PilotageServo.Impl;
|
||||
connections
|
||||
--bus connections
|
||||
bus access Mem_Bus -> MCU1_P.Mem_Bus;
|
||||
bus access Dev_Bus -> MCU1_P.Dev_Bus;
|
||||
bus access Mem_Bus -> Ram.Mem_Bus;
|
||||
bus access Dev_Bus -> Recpt_dv.Dev_Bus;
|
||||
bus access Dev_Bus -> Cpt_dv.Dev_Bus;
|
||||
bus access Dev_Bus -> Ser_Gaz_dv.Dev_Bus;
|
||||
bus access Dev_Bus -> Ser_Elevator_dv.Dev_Bus;
|
||||
bus access Dev_Bus -> Ser_AileronL_dv.Dev_Bus;
|
||||
bus access Dev_Bus -> Ser_AileronR_dv.Dev_Bus;
|
||||
|
||||
--port connections
|
||||
data port RC_Data_Input->Recpt_dv.RC_Data_Input;
|
||||
event port RC_Evt_Input->Recpt_dv.RC_Evt_Input;
|
||||
data port Recpt_dv.Cdes_Output->Proc_RcptCde_PilotServ.Radio_Cdes_Input;
|
||||
event data port AP_Data_Input->Proc_RcptCde_PilotServ.AP_Cdes_Input; --updated
|
||||
event port Recpt_dv.Error_Evt_Output->Proc_RcptCde_PilotServ.Radio_Evt_Input;
|
||||
--event port AP_Evt_Input->Proc_RcptCde_PilotServ.AP_Evt_Input;--updated
|
||||
data port Proc_RcptCde_PilotServ.Cde_Serv_Output->Cpt_dv.Cde_Input;
|
||||
data port Cpt_dv.Data_Gaz_Output->Ser_Gaz_dv.Data_Input;
|
||||
data port Cpt_dv.Data_Elev_Output->Ser_Elevator_dv.Data_Input;
|
||||
data port Cpt_dv.Data_AilL_Output->Ser_AileronL_dv.Data_Input;
|
||||
data port Cpt_dv.Data_AilR_Output->Ser_AileronR_dv.Data_Input;
|
||||
--event port Recpt_dv.Error_Evt_Output->RC_Evt_Output;--updated
|
||||
|
||||
properties
|
||||
--to bind the Proc_RcptCde_PilotServ to the memory Ram and the processor MCU1_P
|
||||
--using predeclared properties
|
||||
Actual_Processor_Binding =>reference MCU1_P applies to Proc_RcptCde_PilotServ;
|
||||
Actual_Memory_Binding =>reference Ram applies to Proc_RcptCde_PilotServ;
|
||||
end MCU1.Impl;
|
||||
-----------------------------------------------------------------
|
||||
--determine la pression
|
||||
device Pression
|
||||
features
|
||||
P_Output : out data port Data_Types::Integer;
|
||||
Dev_Bus : requires bus access Device_Bus.MCU0;
|
||||
end Pression;
|
||||
|
||||
--determine la tension
|
||||
device Tension -- Alimentation
|
||||
features
|
||||
T_Output : out data port Data_Types::Integer;
|
||||
Dev_Bus : requires bus access Device_Bus.MCU0;
|
||||
end Tension;
|
||||
|
||||
device Compas
|
||||
features
|
||||
Compas_Output : out data port Data_Types::Float;-- new data type?
|
||||
Dev_Bus : requires bus access Device_Bus.MCU0;
|
||||
end compas;
|
||||
|
||||
--determine la vitesse de l'air
|
||||
device Vitesse_Air
|
||||
features
|
||||
V_Air_Output : out data port Data_Types::Integer;
|
||||
Dev_Bus : requires bus access Device_Bus.MCU0;
|
||||
end Vitesse_Air;
|
||||
|
||||
--filme le trajet de la mission
|
||||
device Camera_Video
|
||||
features
|
||||
Video_Output : out data port; -- new data type?
|
||||
Dev_Bus : requires bus access Device_bus.MCU0;
|
||||
end Camera_Video;
|
||||
|
||||
-- transmet les donnees a la station sol
|
||||
device Emetteur
|
||||
features
|
||||
Video_Input : in data port;--data type?
|
||||
Trans_Data_Input : in event data port Data_Types::Inter_mcu_msg.Generic; --new --updated
|
||||
Trans_Data_Output : out data port;
|
||||
Video_Output : out data port;
|
||||
Modem_Bus : requires bus access Modem;
|
||||
Dev_Bus : requires bus access Device_Bus.MCU0;
|
||||
end Emetteur;
|
||||
|
||||
-- determine la position du drone
|
||||
device GPS
|
||||
features
|
||||
Error_Output : out event port;
|
||||
GPS_Output : out data port Data_Types::Stream_Element.Generic;
|
||||
Dev_Bus : requires bus access Device_Bus.MCU0;
|
||||
end GPS;
|
||||
|
||||
device InfraRed
|
||||
features
|
||||
Error_Output : out event port;
|
||||
IR_Output : out data port Data_Types::Stream_Element.Generic;
|
||||
Dev_Bus : requires bus access Device_Bus.MCU0;
|
||||
end InfraRed;
|
||||
|
||||
-- relie le systeme MCU0 a la station sol
|
||||
--ce qui permit la transmission de donnes
|
||||
bus Modem
|
||||
end Modem;
|
||||
|
||||
-- Ce thread recoit les sigaux GPS et les transforme
|
||||
-- en donnees utilisables
|
||||
thread Data_Acquisition_GPS
|
||||
features
|
||||
GPS_Input : in data port Data_Types::Stream_Element.Generic;
|
||||
GPS_Output : out data port Data_Types::Position.GPS;
|
||||
end Data_Acquisition_GPS;
|
||||
|
||||
thread implementation Data_Acquisition_GPS.Impl
|
||||
properties
|
||||
period => 250ms; --4hz
|
||||
end Data_Acquisition_GPS.Impl;
|
||||
|
||||
-- recoit les parametres
|
||||
-- des differents composants et prepare la mission
|
||||
thread Simple_Mission
|
||||
features
|
||||
--new
|
||||
--RC_Data_Input : in data port Data_Types::Tableau.Generic;--RC : Radio Commande
|
||||
GPS_Input : in data port Data_Types::Position.GPS;
|
||||
T_Input : in data port Data_Types::Integer;-- T : Tension
|
||||
P_Input : in data port Data_Types::Integer;-- P: Pression
|
||||
Compas_Input : in data port Data_Types::Float;
|
||||
V_Air_Input : in data port Data_Types::Integer;--V : Vitesse
|
||||
Cap_Output : out data port Data_Types::Integer;
|
||||
Alt_Output : out data port Data_Types::Integer;-- Att : Attitude
|
||||
--RC_Data_Output : out data port Data_Types::Tableau.Generic;--utilisee en mode manual voir p.34 article
|
||||
end Simple_Mission;
|
||||
|
||||
thread implementation Simple_Mission.Impl
|
||||
properties
|
||||
Period => 50ms; --20 hertz;
|
||||
end Simple_Mission.Impl;
|
||||
|
||||
--Controle l'altitude
|
||||
thread Altitude_Control
|
||||
features
|
||||
S_Miss_Alt_Input : in data port Data_Types::Integer;--Attitude transmie par Simple mission pour controle
|
||||
GPS_Input : in data port Data_Types::Position.GPS;
|
||||
S_Miss_Cap_Input : in data port Data_Types::Integer;
|
||||
Cap_Output : out data port Data_Types::Integer;
|
||||
Alt_Output : out data port Data_Types::Integer;
|
||||
end Altitude_Control;
|
||||
|
||||
--controle la montee
|
||||
thread Climb_Control
|
||||
features
|
||||
--new
|
||||
GPS_Input : in data port Data_Types::Position.GPS;
|
||||
Montee_Input : in data port Data_Types::Float;-- data fournie par le thread Navigation en mode auto et par Control by RC en mode manuel
|
||||
Montee_Output : out data port Data_Types::Float;
|
||||
end Climb_Control;
|
||||
|
||||
--controle la navigation de l'avion
|
||||
thread Navigation
|
||||
features
|
||||
AC_Cap_Input: in data port Data_Types::Integer;--AC: Attitude_Control
|
||||
AC_Alt_Input: in data port Data_Types::Integer;--AC: Attitude_Control
|
||||
Angle_Roulis_Output : out data port Data_Types::Float;
|
||||
Angle_Tangage_Output : out data port Data_Types::Float;
|
||||
Taux_Montee_Output: out data port Data_Types::Float; --fourni par le GPS
|
||||
end Navigation;
|
||||
|
||||
--Ce thread est declenche a la frequence des informations delivrees
|
||||
--par le GPS
|
||||
thread implementation Navigation.Impl
|
||||
properties
|
||||
Period => 250 ms;--4 hertz;
|
||||
end Navigation.Impl;
|
||||
|
||||
-- Controle la stabilisation et transmet les donnees a MCU1
|
||||
thread Stabilisation -- + Data transmission to MCU1
|
||||
features
|
||||
--new
|
||||
Roulis_Input : in data port Data_Types::Float;--(fourni par la nav en mode auto et par Ctrl_By_RC en mode manuel)
|
||||
Tangage_Input : in data port Data_Types::Float;--fourni par la nav en mode auto et par Ctrl_By_RC en mode manuel)
|
||||
CC_Montee_Input : in data port Data_Types::Float;--Taux de montee fourni par le Th Climb Control
|
||||
IR_Input : in data port;-- IR: Infra red
|
||||
-- Param_Vol : Gaz_Output ,Prof_Output,AileronL_Output,AileronR_Output
|
||||
Param_Vol_Output : out data port Data_Types::Tableau.Generic;
|
||||
end Stabilisation;
|
||||
|
||||
thread implementation Stabilisation.Impl
|
||||
properties
|
||||
Period => 50 ms;--20 hertz;
|
||||
end Stabilisation.Impl;
|
||||
|
||||
--this thread recoit les donnees de MCU1 en mode manuel
|
||||
thread Receive_Send_Data_MCU1
|
||||
features
|
||||
RC_Data_Input : in event data port Data_Types::Inter_mcu_msg.Generic;-- updated
|
||||
RC_Rec_Output : out data port Data_Types::Tableau.Generic;
|
||||
RC_Evt_Output : out event port;--updated (juste pour le changement de mode)
|
||||
MCU0_Data_Input : in data port Data_Types::Tableau.Generic;
|
||||
MCU0_Send_Output : out event data port Data_Types::Inter_mcu_msg.Generic;-- updated
|
||||
end Receive_Send_Data_MCU1;
|
||||
|
||||
thread implementation Receive_Send_Data_MCU1.Impl
|
||||
--properties
|
||||
--Period => ??????
|
||||
end Receive_Send_Data_MCU1.Impl;
|
||||
|
||||
thread Control_By_Radio_Cde
|
||||
features
|
||||
RC_Data_Input : in data port Data_Types::Tableau.Generic;
|
||||
Angle_Roulis_Output : out data port Data_Types::Float;
|
||||
Angle_Tangage_Output : out data port Data_Types::Float;
|
||||
Gaz_Output : out data port Data_Types::Float;
|
||||
end Control_By_Radio_Cde;
|
||||
|
||||
process Nav_Stab_Control_Proc
|
||||
features
|
||||
--MCU1_Evt_Input : in event port;--Erreur Radio Cde --updated
|
||||
MCU1_Data_Input : in event data port Data_Types::Inter_mcu_msg.Generic;--updated --Param Radio_Cde (mode manuel)
|
||||
GPS_Input : in data port Data_Types::Stream_Element.Generic;
|
||||
GPS_Evt_Input : in event port;
|
||||
IR_Input : in data port; -- new data type
|
||||
P_Input : in data port Data_Types::Integer;
|
||||
T_Input : in data port Data_Types :: Integer;
|
||||
Compas_Input : in data port Data_Types::Float; -- new data types
|
||||
V_Air_Input : in data port Data_Types:: Integer;
|
||||
-- donnees transmies a MCU1
|
||||
Trans_MCU0_Output: out event data port Data_Types::Inter_mcu_msg.Generic;-- updated
|
||||
-- donnees transmies a la station sol
|
||||
Trans_Sol_Output : out event data port Data_Types::Inter_mcu_msg.Generic;--updated
|
||||
end Nav_Stab_Control_Proc;
|
||||
|
||||
process implementation Nav_Stab_Control_Proc.Impl
|
||||
--new
|
||||
subcomponents
|
||||
Data_Acq_Filt_Th : thread Data_Acquisition_GPS;
|
||||
S_Mission_Th : thread Simple_Mission.Impl;
|
||||
Alt_Ctrl_Th : thread Altitude_Control;
|
||||
Nav_Th : thread Navigation.Impl;
|
||||
Climb_Ctrl_Th : thread Climb_Control;
|
||||
Stab_Th : thread Stabilisation.Impl;
|
||||
Rec_Send_Th : thread Receive_Send_Data_MCU1.Impl;
|
||||
Ctrl_By_RC_Th: thread Control_By_Radio_Cde;
|
||||
|
||||
--the internal data that will store the autopilot settings
|
||||
D_AP_Destination : data Data_Types::Position.Simple;
|
||||
D_AP_Airspeed : data Data_Types::Integer;
|
||||
D_AP_Altitude : data Data_Types::Integer;
|
||||
connections
|
||||
data port Rec_Send_Th.RC_Rec_Output->Ctrl_By_RC_Th.RC_Data_Input in modes (manual);
|
||||
data port Ctrl_By_RC_Th.Angle_Roulis_Output->Stab_Th.Roulis_Input in modes (manual);
|
||||
data port Ctrl_By_RC_Th.Angle_Tangage_Output->Stab_Th.Tangage_Input in modes (manual);
|
||||
data port Ctrl_By_RC_Th.Gaz_Output->Climb_Ctrl_Th.Montee_Input in modes (manual);
|
||||
|
||||
data port Data_Acq_Filt_Th.GPS_Output->S_Mission_Th.GPS_Input in modes(auto,home);
|
||||
data port Data_Acq_Filt_Th.GPS_Output->Alt_Ctrl_Th.GPS_Input in modes(auto,home);
|
||||
data port Data_Acq_Filt_Th.GPS_Output->Climb_Ctrl_Th.GPS_Input in modes(auto,home);
|
||||
|
||||
data port S_Mission_Th.Cap_Output->Alt_Ctrl_Th.S_Miss_Cap_Input in modes(auto,home);
|
||||
data port S_Mission_Th.Alt_Output->Alt_Ctrl_Th.S_Miss_Alt_Input in modes(auto,home);
|
||||
--en mode manuel c'est le thread Control by radio commande qui fournit les donnees
|
||||
--au thread stabilisation
|
||||
--data port S_Mission_Th.RC_Data_Output->Stab_Th.RC_Data_Input in modes(manual);
|
||||
--data port Rec_Send_Th.RC_Rec_Output->S_Mission_Th.RC_Data_Input in modes(manual);
|
||||
|
||||
data port Alt_Ctrl_Th.Cap_Output->Nav_Th.AC_Cap_Input in modes(auto,home);
|
||||
data port Alt_Ctrl_Th.Alt_Output->Nav_Th.AC_Alt_Input in modes(auto,home);
|
||||
|
||||
data port Nav_Th.Taux_Montee_Output->Climb_Ctrl_Th.Montee_Input in modes(auto,home);
|
||||
data port Climb_Ctrl_Th.Montee_Output->Stab_Th.CC_Montee_Input in modes (auto, home, manual);
|
||||
data port Nav_Th.Angle_Roulis_Output->Stab_Th.Roulis_Input in modes(auto, home);
|
||||
data port Nav_Th.Angle_Tangage_Output->Stab_Th.Tangage_Input in modes(auto, home);
|
||||
data port IR_Input->Stab_Th.IR_Input in modes(manual, auto, home);
|
||||
|
||||
data port Stab_Th.Param_Vol_Output->Rec_Send_Th.MCU0_Data_Input in modes(auto,home,manual);
|
||||
event data port Rec_Send_Th.MCU0_Send_Output->Trans_MCU0_Output in modes(auto,home,manual);--updated
|
||||
event data port Rec_Send_Th.MCU0_Send_Output->Trans_Sol_Output in modes(auto,home,manual);--new--updated
|
||||
event data port MCU1_Data_Input->Rec_Send_Th.RC_Data_Input in modes(manual);--updated
|
||||
|
||||
data port P_Input->S_Mission_Th.P_Input in modes(manual, auto, home);
|
||||
data port T_Input->S_Mission_Th.T_input in modes(manual, auto, home);
|
||||
data port Compas_Input->S_Mission_Th.Compas_Input in modes(manual, auto, home);
|
||||
data port V_Air_Input->S_Mission_Th.V_Air_Input in modes(manual, auto, home);
|
||||
data port GPS_Input->Data_Acq_Filt_Th.GPS_Input in modes(manual, auto, home);
|
||||
modes
|
||||
manual : initial mode;
|
||||
auto : mode;
|
||||
home : mode;
|
||||
--Transition entre les modes
|
||||
manual-[Rec_Send_Th.RC_Evt_Output]->auto;--updated
|
||||
auto-[GPS_Evt_Input]->manual;
|
||||
manual-[Rec_Send_Th.RC_Evt_Output,GPS_Evt_Input]->home;--updated
|
||||
end Nav_Stab_Control_Proc.Impl;
|
||||
|
||||
processor Proc_MCU0
|
||||
features
|
||||
Mem_Bus : requires bus access Mem_Bus_MCU0;
|
||||
Dev_Bus : requires bus access Device_Bus.MCU0;
|
||||
end Proc_MCU0;
|
||||
|
||||
processor implementation Proc_MCU0.Impl
|
||||
properties
|
||||
Scheduling_Protocol => RMS;
|
||||
--RMS (Rate Monotonic Scheduling) est un FPS (Fixed Priority Scheduling)
|
||||
--chaque tache a une priorite fixe
|
||||
end Proc_MCU0.Impl;
|
||||
|
||||
memory Ram_MCU0
|
||||
features
|
||||
Mem_Bus : requires bus access Mem_Bus_MCU0;
|
||||
end Ram_MCU0;
|
||||
|
||||
bus Mem_Bus_MCU0
|
||||
end Mem_Bus_MCU0;
|
||||
|
||||
-- MCU0 est charge de la Stabilisation,
|
||||
-- la navigation, la communication avec MCU1
|
||||
-- et la transmission des parametres de vol
|
||||
|
||||
system MCU0
|
||||
features
|
||||
D_MCU1_Input : in event data port Data_Types::Inter_mcu_msg.Generic;--updated
|
||||
--E_MCU1_Input : in event port;--updated
|
||||
D_MCU0_Output : out event data port Data_Types::Inter_mcu_msg.Generic;--updated
|
||||
--E_MCU0_Output : out event port;--updated
|
||||
Bus_Con : requires bus access SPI;
|
||||
end MCU0;
|
||||
|
||||
system implementation MCU0.Impl
|
||||
subcomponents
|
||||
Proc_0 : processor Proc_MCU0.Impl;
|
||||
Ram : memory Ram_MCU0;
|
||||
Mem_Bus: bus Mem_Bus_MCU0;
|
||||
P_dv : device Pression;
|
||||
T_dv : device Tension;
|
||||
Compas_dv : device Compas;
|
||||
V_Air_dv : device Vitesse_Air;
|
||||
Cam_dv : device Camera_Video;
|
||||
Emet_dv : device Emetteur;
|
||||
GPS_dv : device GPS;
|
||||
IR_dv : device InfraRed;
|
||||
Dev_Bus : bus Device_Bus.MCU0;
|
||||
Modem_Bus : bus Modem;
|
||||
N_S_C_proc : process Nav_Stab_Control_Proc.Impl;
|
||||
connections
|
||||
-- bus connections
|
||||
bus access Mem_Bus->Proc_0.Mem_Bus;
|
||||
bus access Mem_Bus->Ram.Mem_Bus;
|
||||
|
||||
bus access Dev_Bus->Proc_0.Dev_Bus;
|
||||
bus access Dev_Bus->P_dv.Dev_Bus;
|
||||
bus access Dev_Bus->T_dv.Dev_Bus;
|
||||
bus access Dev_Bus->Compas_dv.Dev_Bus;
|
||||
bus access Dev_Bus->V_Air_dv.Dev_Bus;
|
||||
bus access Dev_Bus->Cam_dv.Dev_Bus;
|
||||
bus access Dev_Bus->Emet_dv.Dev_Bus;
|
||||
bus access Modem_Bus->Emet_dv.Modem_Bus;
|
||||
bus access Dev_Bus->GPS_dv.Dev_Bus;
|
||||
bus access Dev_Bus->IR_dv.Dev_Bus;
|
||||
|
||||
--ports connections
|
||||
data port P_dv.P_Output->N_S_C_proc.P_Input;
|
||||
data port T_dv.T_Output->N_S_C_proc.T_Input;
|
||||
data port Compas_dv.Compas_Output->N_S_C_proc.Compas_Input;
|
||||
data port V_Air_dv.V_Air_Output->N_S_C_proc.V_Air_Input;
|
||||
data port GPS_dv.GPS_Output->N_S_C_proc.GPS_Input;
|
||||
event port GPS_dv.Error_Output->N_S_C_proc.GPS_Evt_Input;
|
||||
|
||||
event data port N_S_C_proc.Trans_Sol_Output->Emet_dv.Trans_Data_Input;--updated
|
||||
data port Cam_dv.Video_Output->Emet_dv.Video_Input;
|
||||
|
||||
event data port D_MCU1_Input->N_S_C_proc.MCU1_Data_Input;--updated
|
||||
--event port E_MCU1_Input->N_S_C_proc.MCU1_Evt_Input; --updated
|
||||
|
||||
event data port N_S_C_proc.Trans_MCU0_Output->D_MCU0_Output;--updated
|
||||
--event port GPS_dv.Error_Output->E_MCU0_Output; --updated
|
||||
|
||||
properties
|
||||
-- pour relier le processus a la memeoire et au processeur
|
||||
Actual_Processor_Binding => reference Proc_0 applies to N_S_C_Proc;
|
||||
Actual_Memory_Binding => reference Ram applies to N_S_C_Proc;
|
||||
end MCU0.Impl;
|
||||
----------------------------------------------------------------
|
||||
-- we model a bus to link the systems
|
||||
bus SPI
|
||||
end SPI;
|
||||
|
||||
--the embedded system
|
||||
system Systeme_Paparazzi
|
||||
features
|
||||
RC_Data_Input : in data port;
|
||||
RC_Evt_Input : in event port;
|
||||
end Systeme_Paparazzi;
|
||||
|
||||
system implementation Systeme_Paparazzi.Impl
|
||||
subcomponents
|
||||
MCU0_sys : system MCU0.Impl;
|
||||
MCU1_sys : system MCU1.Impl;
|
||||
Dev_Bus : bus SPI;
|
||||
connections
|
||||
bus access Dev_Bus->MCU0_Sys.Bus_Con;
|
||||
bus access Dev_Bus->MCU1_Sys.Bus_Con;
|
||||
|
||||
data port RC_Data_Input->MCU1_sys.RC_Data_Input;
|
||||
event port RC_Evt_Input->MCU1_sys.RC_Evt_Input;
|
||||
|
||||
event data port MCU0_sys.D_MCU0_Output->MCU1_sys.AP_Data_Input;--updated
|
||||
--event port MCU0_sys.E_MCU0_Output->MCU1_sys.AP_Evt_Input;--updated
|
||||
|
||||
event data port MCU1_sys.D_MCU1_Output->MCU0_sys.D_MCU1_Input;--updated
|
||||
--event port MCU1_sys.RC_Evt_Output->MCU0_sys.E_MCU1_Input;--updated
|
||||
end Systeme_Paparazzi.Impl;
|
||||
|
||||
------------------------------------------------------------
|
||||
------------------------------------------------------------
|
||||
------------------------------------------------------------
|
||||
------------------------------------------------------------
|
||||
-- Satation Sol
|
||||
--bus Device_Bus_Sol
|
||||
--end Device_Bus_Sol;
|
||||
|
||||
--device Radio_Cde
|
||||
--features
|
||||
-- PA_Evt_Output : out event port;
|
||||
-- Cde_Output : out data port; -- le type de donnees??
|
||||
-- Connecteur_Bus : requires bus access Device_Bus_Sol; -- ? juste ? faux?
|
||||
--end Radio_Cde;
|
||||
|
||||
-- Magnetoscope
|
||||
--device Magnetoscope
|
||||
--features
|
||||
-- Video_Input : in data port;
|
||||
-- Connection_Bus : requires bus access Device_Bus_Sol;
|
||||
--end Magnetoscope;
|
||||
|
||||
-- Laptop
|
||||
--processor Laptop_Proc
|
||||
--end Laptop_Proc;
|
||||
|
||||
--thread Affichage_Param_Vol_Th
|
||||
--end Affichage_Param_Vol_Th;
|
||||
|
||||
--thread Affichage_Mission_Trajet_Th
|
||||
--end Affichage_Mission_Trajet_Th;
|
||||
|
||||
--thread Affichage_Mes_Aeronef_Th
|
||||
--end Affichage_Mes_Aeronef_Th;
|
||||
|
||||
--process Affichage_Resultats
|
||||
--end Affichage_Resultats;
|
||||
|
||||
--processor Proc_Lap
|
||||
--end Proc_Lap;
|
||||
|
||||
--memory Ram_Lap
|
||||
--end Ram_Lap;
|
||||
|
||||
--bus Mem_Bus_Lap
|
||||
--end Mem_Bus_Lap;
|
||||
|
||||
---process implementation Affichage_Resultats.Impl
|
||||
--end Affichage_Resultats.Impl;
|
||||
|
||||
--system Laptop_Sys
|
||||
--end Laptop_Sys;
|
||||
|
||||
--system implementation Laptop_Sys.Impl
|
||||
--end Laptop_Sys.Impl;
|
||||
|
||||
-- Satation Sol
|
||||
--system Station_Sol_Sys
|
||||
--features
|
||||
-- PA_Evt_Output : out event port;
|
||||
-- Radio_Cde_Output : out data port;
|
||||
-- Mission_Trajet_Input : in data port;
|
||||
-- Mes_Aeronef_Input : in data port;
|
||||
-- Param_Vol_Input : in data port;
|
||||
-- Video_Input : in data port;
|
||||
-- Connection_Network : requires bus access Network;
|
||||
--end Station_Sol_Sys;
|
||||
|
||||
--system implementation Station_Sol_Sys.Impl
|
||||
--subcomponents
|
||||
-- Lap_Sys : system Laptop_Sys;
|
||||
-- Mag_dv : device Magnetoscope;
|
||||
-- Radio_dv : device Radio_Cde;
|
||||
-- Dev_Bus : bus Device_Bus_Sol;
|
||||
|
||||
--end Station_Sol_Sys.Impl;
|
||||
|
||||
-- Systeme complet
|
||||
--bus Network
|
||||
--end Network;
|
||||
|
||||
--system Paparazzi_System
|
||||
|
||||
--end Paparazzi_System;
|
||||
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
property set Thread_Properties is
|
||||
|
||||
Non_Preemptive : constant aadlinteger =>0;
|
||||
System_Preemption : constant aadlinteger =>1;
|
||||
Time_Sharing_Preemption : constant aadlinteger => 2;
|
||||
|
||||
Preemption : enumeration (Non_Preemptive,System_Preemption,Time_Sharing_Preemption)
|
||||
applies to (thread);
|
||||
Entrypoints: list of Compute_Entrypoint applies to (thread);
|
||||
end Thread_Properties;
|
||||
@@ -0,0 +1,185 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<core:AadlSpec xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://core" xmlns:property="http://property">
|
||||
<packageSpec name="Data_Types">
|
||||
<aadlPublic>
|
||||
<dataType name="Integer">
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Source_Data_Size]">
|
||||
<propertyValue xsi:type="property:IntegerValue" unitLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Size_Units]/unitLiteral[@name=Bits]" valueString="8" value="8" base="10"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
</dataType>
|
||||
<dataType name="Boolean">
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Source_Data_Size]">
|
||||
<propertyValue xsi:type="property:IntegerValue" unitLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Size_Units]/unitLiteral[@name=Bits]" valueString="8" value="8" base="10"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
</dataType>
|
||||
<dataType name="Integer_16">
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Source_Data_Size]">
|
||||
<propertyValue xsi:type="property:IntegerValue" unitLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Size_Units]/unitLiteral[@name=Bits]" valueString="16" value="16" base="10"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
</dataType>
|
||||
<dataType name="Float">
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Source_Data_Size]">
|
||||
<propertyValue xsi:type="property:IntegerValue" unitLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Size_Units]/unitLiteral[@name=Bits]" valueString="32" value="32" base="10"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
</dataType>
|
||||
<subprogramType name="Get_Integer">
|
||||
<features>
|
||||
<parameter name="Result" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
</features>
|
||||
</subprogramType>
|
||||
<subprogramType name="Set_Integer">
|
||||
<features>
|
||||
<parameter name="Int" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
</features>
|
||||
</subprogramType>
|
||||
<subprogramType name="Get_Integer16">
|
||||
<features>
|
||||
<parameter name="Result" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
</features>
|
||||
</subprogramType>
|
||||
<subprogramType name="Set_Integer16">
|
||||
<features>
|
||||
<parameter name="Int" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
</features>
|
||||
</subprogramType>
|
||||
<dataType name="Lat_Long">
|
||||
<comment>-- le type Lat_long est une structure de donnees pour stocker les </comment>
|
||||
<comment>-- longitudes et latitudes</comment>
|
||||
<features>
|
||||
<subprogram name="Get_Degs" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer]"/>
|
||||
<subprogram name="Set_Degs" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer]"/>
|
||||
<subprogram name="Get_Mins" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer]"/>
|
||||
<subprogram name="Set_Mins" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer]"/>
|
||||
<subprogram name="Get_Secs" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer]"/>
|
||||
<subprogram name="Set_Secs" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer]"/>
|
||||
</features>
|
||||
</dataType>
|
||||
<dataImpl name="Lat_Long.Generic" compType="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Lat_Long]">
|
||||
<subcomponents>
|
||||
<dataSubcomponent name="Degs" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataSubcomponent name="Mins" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataSubcomponent name="Secs" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
</subcomponents>
|
||||
</dataImpl>
|
||||
<dataType name="Position">
|
||||
<comment>-- The Position type specifies a position</comment>
|
||||
</dataType>
|
||||
<dataImpl name="Position.simple" compType="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Position]">
|
||||
<comment>-- This data type represents the position</comment>
|
||||
<subcomponents>
|
||||
<dataSubcomponent name="Latitude" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Lat_Long.Generic]"/>
|
||||
<dataSubcomponent name="Longitude" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Lat_Long.Generic]"/>
|
||||
</subcomponents>
|
||||
</dataImpl>
|
||||
<dataImpl name="Position.GPS" compType="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Position]" extend="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Position.simple]">
|
||||
<comment>-- The data type that represents GPS sensor data</comment>
|
||||
<subcomponents>
|
||||
<dataSubcomponent name="Altitude" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataSubcomponent name="Cap" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
</subcomponents>
|
||||
</dataImpl>
|
||||
<dataType name="Stream_Element"/>
|
||||
<dataImpl name="Stream_Element.Generic" compType="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Stream_Element]">
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Source_Data_Size]">
|
||||
<propertyValue xsi:type="property:IntegerValue" unitLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Size_Units]/unitLiteral[@name=Bits]" valueString="8" value="8" base="10"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
</dataImpl>
|
||||
<dataType name="Tab"/>
|
||||
<dataType name="Tableau" extend="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Tab]">
|
||||
<features>
|
||||
<subprogram name="Get_Data0" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_Data0" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_Data1" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_Data1" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_Data2" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_Data2" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_Data3" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_Data3" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_Data4" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_Data4" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_Data5" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_Data5" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_Data6" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_Data6" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_Data7" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_Data7" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_Data8" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_Data8" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
</features>
|
||||
</dataType>
|
||||
<dataImpl name="Tableau.Generic" compType="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Tableau]">
|
||||
<comment>--etc selon le parametre RADIO_CTL_NB = 9 du fichier link_autopilot.h</comment>
|
||||
<comment>--Valeur de RADIO_CTL_NB se trouve dans radio.h</comment>
|
||||
<comment>--qui est egale a PPM_NB_OF_PULSE de ppm.h</comment>
|
||||
<subcomponents>
|
||||
<dataSubcomponent name="data_0" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="data_1" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="data_2" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="data_3" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="data_4" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="data_5" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="data_6" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="data_7" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="data_8" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
</subcomponents>
|
||||
</dataImpl>
|
||||
<dataType name="TabServos" extend="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Tab]">
|
||||
<features>
|
||||
<subprogram name="Get_MotorL" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_MotorL" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_MotorR" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_MotorR" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_AileronL" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_AileronL" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_AileronR" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_AileronR" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_Rudder" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_Rudder" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
<subprogram name="Get_Elevator" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer16]"/>
|
||||
<subprogram name="Set_Elevator" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer16]"/>
|
||||
</features>
|
||||
</dataType>
|
||||
<dataImpl name="TabServos.Impl" compType="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=TabServos]">
|
||||
<subcomponents>
|
||||
<dataSubcomponent name="MotorL" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="MotorR" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="AileronL" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="AileronR" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="Rudder" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
<dataSubcomponent name="Elevator" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer_16]"/>
|
||||
</subcomponents>
|
||||
</dataImpl>
|
||||
<dataType name="inter_mcu_msg">
|
||||
<features>
|
||||
<subprogram name="Set_Ppm" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer]"/>
|
||||
<subprogram name="Get_Ppm" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer]"/>
|
||||
<subprogram name="Set_Status" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer]"/>
|
||||
<subprogram name="Get_Status" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer]"/>
|
||||
<subprogram name="Set_NbErr" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer]"/>
|
||||
<subprogram name="Get_NbErr" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer]"/>
|
||||
<subprogram name="Set_Vsupply" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Set_Integer]"/>
|
||||
<subprogram name="Get_Vsupply" subprogramClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/subprogramType[@name=Get_Integer]"/>
|
||||
</features>
|
||||
</dataType>
|
||||
<dataImpl name="Inter_mcu_msg.Generic" compType="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=inter_mcu_msg]">
|
||||
<subcomponents>
|
||||
<dataSubcomponent name="channels" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]"/>
|
||||
<dataSubcomponent name="ppm_cpt" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataSubcomponent name="satus" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataSubcomponent name="nb_err" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataSubcomponent name="vsupply" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
</subcomponents>
|
||||
</dataImpl>
|
||||
</aadlPublic>
|
||||
</packageSpec>
|
||||
</core:AadlSpec>
|
||||
+1365
File diff suppressed because it is too large
Load Diff
+1325
File diff suppressed because it is too large
Load Diff
+1365
File diff suppressed because it is too large
Load Diff
+1329
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,722 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<core:AadlSpec xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://core" xmlns:property="http://property" name="paparazzi_Old Version">
|
||||
<busType name="Device_Bus">
|
||||
<comment>-- le projet paprazzi s'interesse a la realisation </comment>
|
||||
<comment>-- d'un micro-drone autonome a bas cout.</comment>
|
||||
<comment>-- le systeme embarque est constitue de</comment>
|
||||
<comment>-- 1.recepteurs (HF(pour radio commande)</comment>
|
||||
<comment>-- 2.capteurs infrarouge et GPS</comment>
|
||||
<comment>-- 3.camera video</comment>
|
||||
<comment>-- 4.modem</comment>
|
||||
<comment>-- 5.emetteur</comment>
|
||||
<comment>-- 6.deux microcontroleurs (MCU0, MCU1)</comment>
|
||||
<comment>--voir le fichier listes des taches pour corriger ce fichier AADL</comment>
|
||||
<comment>---------------------------------------------------------------</comment>
|
||||
<comment>-- We model a bus that connects our devices to the processor</comment>
|
||||
</busType>
|
||||
<busImpl name="Device_Bus.MCU0" compType="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=Device_Bus]"/>
|
||||
<busImpl name="Device_Bus.MCU1" compType="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=Device_Bus]"/>
|
||||
<deviceType name="Compteur">
|
||||
<features>
|
||||
<dataPort name="Cde_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]"/>
|
||||
<dataPort name="Data_Gaz_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataPort name="Data_Elev_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataPort name="Data_AilL_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataPort name="Data_AilR_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU1]"/>
|
||||
</features>
|
||||
</deviceType>
|
||||
<deviceType name="Servo">
|
||||
<features>
|
||||
<dataPort name="Data_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<busAccess name="Dev_bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU1]">
|
||||
<comment>--Cde_Output : out event data port; -- new data type?</comment>
|
||||
</busAccess>
|
||||
</features>
|
||||
</deviceType>
|
||||
<deviceType name="Recepteur">
|
||||
<features>
|
||||
<dataPort name="RC_Data_Input">
|
||||
<comment>--RC_Input : in event data port;</comment>
|
||||
<comment>--RC_Output : out event data port;</comment>
|
||||
</dataPort>
|
||||
<eventPort name="RC_Evt_Input">
|
||||
<comment>-- new data type?</comment>
|
||||
</eventPort>
|
||||
<dataPort name="Cdes_Output" direction="out">
|
||||
<comment>-- -- -- -- -- -- -- -- -- new</comment>
|
||||
</dataPort>
|
||||
<eventPort name="Error_Evt_Output" direction="out">
|
||||
<comment>-- new data type?</comment>
|
||||
</eventPort>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU1]"/>
|
||||
</features>
|
||||
</deviceType>
|
||||
<threadType name="Reception_Decodage">
|
||||
<comment>--this thread gets the data from the Radio Commande (RC)</comment>
|
||||
<comment>--il definit les interruptions provenant de la RC</comment>
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Dispatch_Protocol]">
|
||||
<propertyValue xsi:type="property:EnumValue" enumLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Supported_Dispatch_Protocols]/enumLiteral[@name=Periodic]"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
<features>
|
||||
<dataPort name="Data_RC_Input"/>
|
||||
<dataPort name="Data_Decoded_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]">
|
||||
<comment>-- -- -- new data type?</comment>
|
||||
</dataPort>
|
||||
</features>
|
||||
</threadType>
|
||||
<threadImpl name="Reception_Decodage.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Reception_Decodage]">
|
||||
<comment>--properties</comment>
|
||||
<comment>--Period =></comment>
|
||||
</threadImpl>
|
||||
<threadType name="Pilotage_Servo_Cdes">
|
||||
<comment>--this thread gets the flight parameters and transmit them to the Counter </comment>
|
||||
<features>
|
||||
<dataPort name="Data_Cp_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]"/>
|
||||
<dataPort name="Param_Vol_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]">
|
||||
<comment>--Cp :Compteur</comment>
|
||||
</dataPort>
|
||||
</features>
|
||||
</threadType>
|
||||
<threadImpl name="Pilotage_Servo_Cdes.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Pilotage_Servo_Cdes]">
|
||||
<comment>--properties</comment>
|
||||
<comment>--Period => ??????????????????</comment>
|
||||
</threadImpl>
|
||||
<threadType name="Receive_Send_Data_MCU0">
|
||||
<comment>--this thread sends data to and receives data from MCU0</comment>
|
||||
<features>
|
||||
<dataPort name="MCU1_Data_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]"/>
|
||||
<eventDataPort name="MCU1_Send_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]"/>
|
||||
<eventDataPort name="AP_Data_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]">
|
||||
<comment>--updated</comment>
|
||||
</eventDataPort>
|
||||
<eventPort name="AP_Evt_Output" direction="out">
|
||||
<comment>--updated</comment>
|
||||
</eventPort>
|
||||
<dataPort name="AP_Rec_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]">
|
||||
<comment>--updated</comment>
|
||||
</dataPort>
|
||||
</features>
|
||||
</threadType>
|
||||
<threadImpl name="Receive_Send_Data_MCU0.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU0]">
|
||||
<comment>--properties </comment>
|
||||
<comment>--Period =></comment>
|
||||
</threadImpl>
|
||||
<processType name="RecepteurCde_PilotageServo">
|
||||
<features>
|
||||
<dataPort name="Radio_Cdes_Input"/>
|
||||
<eventDataPort name="AP_Cdes_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]"/>
|
||||
<eventPort name="Radio_Evt_Input">
|
||||
<comment>--Autopilot Input --updated</comment>
|
||||
</eventPort>
|
||||
<eventDataPort name="Cdes_Vol_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]">
|
||||
<comment>--RC erreur</comment>
|
||||
<comment>--AP_Evt_Input : in event port;</comment>
|
||||
</eventDataPort>
|
||||
<dataPort name="Cde_Serv_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]">
|
||||
<comment>--updated --data transmission to MCU0</comment>
|
||||
</dataPort>
|
||||
</features>
|
||||
</processType>
|
||||
<processImpl name="RecepteurCde_PilotageServo.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=RecepteurCde_PilotageServo]">
|
||||
<connections>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/subcomponents/threadSubcomponent[@name=Rec_Dec_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=RecepteurCde_PilotageServo]/features/dataPort[@name=Radio_Cdes_Input]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Reception_Decodage]/features/dataPort[@name=Data_RC_Input]"/>
|
||||
<eventDataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU0]/features/eventDataPort[@name=AP_Data_Input]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=RecepteurCde_PilotageServo]/features/eventDataPort[@name=AP_Cdes_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/subcomponents/threadSubcomponent[@name=Pilot_Serv_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU0]/features/dataPort[@name=AP_Rec_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Pilotage_Servo_Cdes]/features/dataPort[@name=Param_Vol_Input]">
|
||||
<comment>--new --updated</comment>
|
||||
</dataConnection>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=manual] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=auto]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/subcomponents/threadSubcomponent[@name=Pilot_Serv_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Pilotage_Servo_Cdes]/features/dataPort[@name=Data_Cp_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=RecepteurCde_PilotageServo]/features/dataPort[@name=Cde_Serv_Output]">
|
||||
<comment>--new</comment>
|
||||
<comment>--on annule ce lien car les parametres de la Radio commande</comment>
|
||||
<comment>--doivent etre transmis a MCU0 pour obtenir en retour les </comment>
|
||||
<comment>--parametres de vol</comment>
|
||||
<comment>--data port Rec_Dec_Th.Data_Decoded_Output->Pilot_Serv_Th.Param_Vol_Input in modes(manual);</comment>
|
||||
</dataConnection>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/subcomponents/threadSubcomponent[@name=Rec_Dec_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Reception_Decodage]/features/dataPort[@name=Data_Decoded_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU0]/features/dataPort[@name=MCU1_Data_Input]"/>
|
||||
<eventDataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=RecepteurCde_PilotageServo]/features/eventDataPort[@name=Cdes_Vol_Output]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU0]/features/eventDataPort[@name=MCU1_Send_Output]"/>
|
||||
</connections>
|
||||
<modes>
|
||||
<comment>--updated</comment>
|
||||
<mode name="manual" state="INITIAL"/>
|
||||
<mode name="auto"/>
|
||||
<mode name="failsafe"/>
|
||||
<modeTransition srcMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=manual]" dstMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=auto]" triggerEventPort="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=RecepteurCde_PilotageServo]/features/eventPort[@name=Radio_Evt_Input]" triggerEventPortContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]">
|
||||
<comment>-- Transitions</comment>
|
||||
<comment>-- Specify the transitions between modes, use the following syntax:</comment>
|
||||
<comment>-- <INITIAL_MODE> -[ <EVENT> ]-> <FINAL_MODE></comment>
|
||||
</modeTransition>
|
||||
<modeTransition srcMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=auto]" dstMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=manual]" triggerEventPort="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU0]/features/eventPort[@name=AP_Evt_Output]" triggerEventPortContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]"/>
|
||||
<modeTransition srcMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=manual]" dstMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/modes/mode[@name=failsafe]" triggerEventPort="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=RecepteurCde_PilotageServo]/features/eventPort[@name=Radio_Evt_Input] /aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU0]/features/eventPort[@name=AP_Evt_Output]" triggerEventPortContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]"/>
|
||||
</modes>
|
||||
<subcomponents>
|
||||
<threadSubcomponent name="Rec_Dec_Th" classifier="/aadlSpec[@name=paparazzi_Old Version]/threadImpl[@name=Reception_Decodage.Impl]"/>
|
||||
<threadSubcomponent name="Rec_Send_Th" classifier="/aadlSpec[@name=paparazzi_Old Version]/threadImpl[@name=Receive_Send_Data_MCU0.Impl]"/>
|
||||
<threadSubcomponent name="Pilot_Serv_Th" classifier="/aadlSpec[@name=paparazzi_Old Version]/threadImpl[@name=Pilotage_Servo_Cdes.Impl]"/>
|
||||
</subcomponents>
|
||||
</processImpl>
|
||||
<processorType name="Proc_MCU1">
|
||||
<features>
|
||||
<busAccess name="Mem_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=Mem_Bus_MCU1]"/>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU1]"/>
|
||||
</features>
|
||||
</processorType>
|
||||
<processorImpl name="Proc_MCU1.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/processorType[@name=Proc_MCU1]">
|
||||
<comment>-- AADL processor = microprocessor + scheduler</comment>
|
||||
<comment>--RMS (Rate Monotonic Scheduling) est un FPS </comment>
|
||||
<comment>--(Fixed Priority Scheduling) </comment>
|
||||
<comment>--chaque tache a une priorite fixe</comment>
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Scheduling_Protocol]">
|
||||
<propertyValue xsi:type="property:EnumValue" enumLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Supported_Scheduling_Protocols]/enumLiteral[@name=RMS]"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
</processorImpl>
|
||||
<memoryType name="Ram_MCU1">
|
||||
<comment>-- We model the RAM to bind our processes and threads</comment>
|
||||
<features>
|
||||
<busAccess name="Mem_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=Mem_Bus_MCU1]"/>
|
||||
</features>
|
||||
</memoryType>
|
||||
<busType name="Mem_Bus_MCU1">
|
||||
<comment>-- We model a data bus that links processors and memories</comment>
|
||||
</busType>
|
||||
<systemType name="MCU1">
|
||||
<comment>-- MCU1 est charge de la Reception des ordres de la radio-commande,</comment>
|
||||
<comment>-- la communication avec MCU0 et le pilotage des servos commandes</comment>
|
||||
<features>
|
||||
<dataPort name="RC_Data_Input"/>
|
||||
<eventPort name="RC_Evt_Input">
|
||||
<comment>---------------new</comment>
|
||||
</eventPort>
|
||||
<eventDataPort name="AP_Data_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]">
|
||||
<comment>--------new</comment>
|
||||
</eventDataPort>
|
||||
<eventDataPort name="D_MCU1_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]">
|
||||
<comment>--AP: autopilot --updated</comment>
|
||||
<comment>--AP_Evt_Input : in event port;--Erreur Autopilot --updated</comment>
|
||||
<comment>--RC_Evt_Output : out event port;--Erreur Radio Cde --updated</comment>
|
||||
</eventDataPort>
|
||||
<busAccess name="Bus_Con" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=SPI]">
|
||||
<comment>-- updated</comment>
|
||||
</busAccess>
|
||||
</features>
|
||||
</systemType>
|
||||
<systemImpl name="MCU1.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU1]">
|
||||
<properties>
|
||||
<comment>--event port Recpt_dv.Error_Evt_Output->RC_Evt_Output;--updated</comment>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Actual_Processor_Binding]" appliesTo="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/processSubcomponent[@name=Proc_RcptCde_PilotServ]">
|
||||
<comment>--to bind the Proc_RcptCde_PilotServ to the memory Ram and the processor MCU1_P</comment>
|
||||
<comment>--using predeclared properties</comment>
|
||||
<propertyValue xsi:type="property:ReferenceValue" referenceElement="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/processorSubcomponent[@name=MCU1_P]"/>
|
||||
</propertyAssociation>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Actual_Memory_Binding]" appliesTo="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/processSubcomponent[@name=Proc_RcptCde_PilotServ]">
|
||||
<propertyValue xsi:type="property:ReferenceValue" referenceElement="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/memorySubcomponent[@name=Ram]"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
<connections>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Mem_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/processorSubcomponent[@name=MCU1_P]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Mem_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/processorType[@name=Proc_MCU1]/features/busAccess[@name=Mem_Bus]">
|
||||
<comment>--bus connections </comment>
|
||||
</busAccessConnection>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/processorSubcomponent[@name=MCU1_P]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/processorType[@name=Proc_MCU1]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Mem_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/memorySubcomponent[@name=Ram]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Mem_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/memoryType[@name=Ram_MCU1]/features/busAccess[@name=Mem_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Recpt_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Recepteur]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Cpt_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Compteur]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Ser_Gaz_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]/features/busAccess[@name=Dev_bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Ser_Elevator_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]/features/busAccess[@name=Dev_bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Ser_AileronL_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]/features/busAccess[@name=Dev_bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Ser_AileronR_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]/features/busAccess[@name=Dev_bus]"/>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Recpt_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU1]/features/dataPort[@name=RC_Data_Input]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Recepteur]/features/dataPort[@name=RC_Data_Input]">
|
||||
<comment>--port connections</comment>
|
||||
</dataConnection>
|
||||
<eventConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Recpt_dv]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Recepteur]/features/eventPort[@name=RC_Evt_Input]" src="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU1]/features/eventPort[@name=RC_Evt_Input]"/>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Recpt_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/processSubcomponent[@name=Proc_RcptCde_PilotServ]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Recepteur]/features/dataPort[@name=Cdes_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=RecepteurCde_PilotageServo]/features/dataPort[@name=Radio_Cdes_Input]"/>
|
||||
<eventDataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/processSubcomponent[@name=Proc_RcptCde_PilotServ]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=RecepteurCde_PilotageServo]/features/eventDataPort[@name=AP_Cdes_Input]" src="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU1]/features/eventDataPort[@name=AP_Data_Input]"/>
|
||||
<eventConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Recpt_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/processSubcomponent[@name=Proc_RcptCde_PilotServ]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=RecepteurCde_PilotageServo]/features/eventPort[@name=Radio_Evt_Input]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Recepteur]/features/eventPort[@name=Error_Evt_Output]">
|
||||
<comment>--updated</comment>
|
||||
</eventConnection>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/processSubcomponent[@name=Proc_RcptCde_PilotServ]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Cpt_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=RecepteurCde_PilotageServo]/features/dataPort[@name=Cde_Serv_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Compteur]/features/dataPort[@name=Cde_Input]">
|
||||
<comment>--event port AP_Evt_Input->Proc_RcptCde_PilotServ.AP_Evt_Input;--updated</comment>
|
||||
</dataConnection>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Cpt_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Ser_Gaz_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Compteur]/features/dataPort[@name=Data_Gaz_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]/features/dataPort[@name=Data_Input]"/>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Cpt_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Ser_Elevator_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Compteur]/features/dataPort[@name=Data_Elev_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]/features/dataPort[@name=Data_Input]"/>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Cpt_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Ser_AileronL_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Compteur]/features/dataPort[@name=Data_AilL_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]/features/dataPort[@name=Data_Input]"/>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Cpt_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]/subcomponents/deviceSubcomponent[@name=Ser_AileronR_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Compteur]/features/dataPort[@name=Data_AilR_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]/features/dataPort[@name=Data_Input]"/>
|
||||
</connections>
|
||||
<subcomponents>
|
||||
<processorSubcomponent name="MCU1_P" classifier="/aadlSpec[@name=paparazzi_Old Version]/processorImpl[@name=Proc_MCU1.Impl]">
|
||||
<comment>--declare all the needed subcomponents to the system</comment>
|
||||
</processorSubcomponent>
|
||||
<memorySubcomponent name="Ram" classifier="/aadlSpec[@name=paparazzi_Old Version]/memoryType[@name=Ram_MCU1]"/>
|
||||
<busSubcomponent name="Mem_Bus" classifier="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=Mem_Bus_MCU1]"/>
|
||||
<busSubcomponent name="Dev_Bus" classifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU1]"/>
|
||||
<deviceSubcomponent name="Recpt_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Recepteur]"/>
|
||||
<deviceSubcomponent name="Cpt_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Compteur]"/>
|
||||
<deviceSubcomponent name="Ser_Gaz_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]"/>
|
||||
<deviceSubcomponent name="Ser_Elevator_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]"/>
|
||||
<deviceSubcomponent name="Ser_AileronL_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]"/>
|
||||
<deviceSubcomponent name="Ser_AileronR_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Servo]">
|
||||
<comment>--Aileron Left</comment>
|
||||
</deviceSubcomponent>
|
||||
<processSubcomponent name="Proc_RcptCde_PilotServ" classifier="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=RecepteurCde_PilotageServo.Impl]">
|
||||
<comment>--Aileron Right</comment>
|
||||
</processSubcomponent>
|
||||
</subcomponents>
|
||||
</systemImpl>
|
||||
<deviceType name="Pression">
|
||||
<comment>-----------------------------------------------------------------</comment>
|
||||
<comment>--determine la pression </comment>
|
||||
<features>
|
||||
<dataPort name="P_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU0]"/>
|
||||
</features>
|
||||
</deviceType>
|
||||
<deviceType name="Tension">
|
||||
<comment>--determine la tension</comment>
|
||||
<features>
|
||||
<comment>-- Alimentation</comment>
|
||||
<dataPort name="T_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU0]"/>
|
||||
</features>
|
||||
</deviceType>
|
||||
<deviceType name="Compas">
|
||||
<features>
|
||||
<dataPort name="Compas_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]"/>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU0]">
|
||||
<comment>-- new data type?</comment>
|
||||
</busAccess>
|
||||
</features>
|
||||
</deviceType>
|
||||
<deviceType name="Vitesse_Air">
|
||||
<comment>--determine la vitesse de l'air</comment>
|
||||
<features>
|
||||
<dataPort name="V_Air_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU0]"/>
|
||||
</features>
|
||||
</deviceType>
|
||||
<deviceType name="Camera_Video">
|
||||
<comment>--filme le trajet de la mission</comment>
|
||||
<features>
|
||||
<dataPort name="Video_Output" direction="out"/>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU0]">
|
||||
<comment>-- new data type?</comment>
|
||||
</busAccess>
|
||||
</features>
|
||||
</deviceType>
|
||||
<deviceType name="Emetteur">
|
||||
<comment>-- transmet les donnees a la station sol</comment>
|
||||
<features>
|
||||
<dataPort name="Video_Input"/>
|
||||
<eventDataPort name="Trans_Data_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]">
|
||||
<comment>--data type?</comment>
|
||||
</eventDataPort>
|
||||
<dataPort name="Trans_Data_Output" direction="out">
|
||||
<comment>--new --updated</comment>
|
||||
</dataPort>
|
||||
<dataPort name="Video_Output" direction="out"/>
|
||||
<busAccess name="Modem_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=Modem]"/>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU0]"/>
|
||||
</features>
|
||||
</deviceType>
|
||||
<deviceType name="GPS">
|
||||
<comment>-- determine la position du drone </comment>
|
||||
<features>
|
||||
<eventPort name="Error_Output" direction="out"/>
|
||||
<dataPort name="GPS_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Stream_Element.Generic]"/>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU0]"/>
|
||||
</features>
|
||||
</deviceType>
|
||||
<deviceType name="InfraRed">
|
||||
<features>
|
||||
<eventPort name="Error_Output" direction="out"/>
|
||||
<dataPort name="IR_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Stream_Element.Generic]"/>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU0]"/>
|
||||
</features>
|
||||
</deviceType>
|
||||
<busType name="Modem">
|
||||
<comment>-- relie le systeme MCU0 a la station sol</comment>
|
||||
<comment>--ce qui permit la transmission de donnes</comment>
|
||||
</busType>
|
||||
<threadType name="Data_Acquisition_GPS">
|
||||
<comment>-- Ce thread recoit les sigaux GPS et les transforme </comment>
|
||||
<comment>-- en donnees utilisables</comment>
|
||||
<features>
|
||||
<dataPort name="GPS_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Stream_Element.Generic]"/>
|
||||
<dataPort name="GPS_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Position.GPS]"/>
|
||||
</features>
|
||||
</threadType>
|
||||
<threadImpl name="Data_Acquisition_GPS.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Data_Acquisition_GPS]">
|
||||
<comment>--4hz </comment>
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Period]">
|
||||
<propertyValue xsi:type="property:IntegerValue" unitLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Time_Units]/unitLiteral[@name=Ms]" valueString="250" value="250" base="10"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
</threadImpl>
|
||||
<threadType name="Simple_Mission">
|
||||
<comment>-- recoit les parametres </comment>
|
||||
<comment>-- des differents composants et prepare la mission</comment>
|
||||
<comment>-- Att : Attitude</comment>
|
||||
<comment>--RC_Data_Output : out data port Data_Types::Tableau.Generic;--utilisee en mode manual voir p.34 article</comment>
|
||||
<features>
|
||||
<dataPort name="GPS_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Position.GPS]">
|
||||
<comment>--new</comment>
|
||||
<comment>--RC_Data_Input : in data port Data_Types::Tableau.Generic;--RC : Radio Commande</comment>
|
||||
</dataPort>
|
||||
<dataPort name="T_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataPort name="P_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]">
|
||||
<comment>-- T : Tension</comment>
|
||||
</dataPort>
|
||||
<dataPort name="Compas_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]">
|
||||
<comment>-- P: Pression</comment>
|
||||
</dataPort>
|
||||
<dataPort name="V_Air_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataPort name="Cap_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]">
|
||||
<comment>--V : Vitesse</comment>
|
||||
</dataPort>
|
||||
<dataPort name="Alt_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
</features>
|
||||
</threadType>
|
||||
<threadImpl name="Simple_Mission.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Simple_Mission]">
|
||||
<comment>--20 hertz;</comment>
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Period]">
|
||||
<propertyValue xsi:type="property:IntegerValue" unitLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Time_Units]/unitLiteral[@name=Ms]" valueString="50" value="50" base="10"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
</threadImpl>
|
||||
<threadType name="Altitude_Control">
|
||||
<comment>--Controle l'altitude</comment>
|
||||
<features>
|
||||
<dataPort name="S_Miss_Alt_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataPort name="GPS_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Position.GPS]">
|
||||
<comment>--Attitude transmie par Simple mission pour controle</comment>
|
||||
</dataPort>
|
||||
<dataPort name="S_Miss_Cap_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataPort name="Cap_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataPort name="Alt_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
</features>
|
||||
</threadType>
|
||||
<threadType name="Climb_Control">
|
||||
<comment>--controle la montee</comment>
|
||||
<features>
|
||||
<dataPort name="GPS_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Position.GPS]">
|
||||
<comment>--new</comment>
|
||||
</dataPort>
|
||||
<dataPort name="Montee_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]"/>
|
||||
<dataPort name="Montee_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]">
|
||||
<comment>-- data fournie par le thread Navigation en mode auto et par Control by RC en mode manuel</comment>
|
||||
</dataPort>
|
||||
</features>
|
||||
</threadType>
|
||||
<threadType name="Navigation">
|
||||
<comment>--controle la navigation de l'avion</comment>
|
||||
<comment>--fourni par le GPS</comment>
|
||||
<features>
|
||||
<dataPort name="AC_Cap_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataPort name="AC_Alt_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]">
|
||||
<comment>--AC: Attitude_Control</comment>
|
||||
</dataPort>
|
||||
<dataPort name="Angle_Roulis_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]">
|
||||
<comment>--AC: Attitude_Control</comment>
|
||||
</dataPort>
|
||||
<dataPort name="Angle_Tangage_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]"/>
|
||||
<dataPort name="Taux_Montee_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]"/>
|
||||
</features>
|
||||
</threadType>
|
||||
<threadImpl name="Navigation.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Navigation]">
|
||||
<comment>--Ce thread est declenche a la frequence des informations delivrees </comment>
|
||||
<comment>--par le GPS</comment>
|
||||
<comment>--4 hertz; </comment>
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Period]">
|
||||
<propertyValue xsi:type="property:IntegerValue" unitLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Time_Units]/unitLiteral[@name=Ms]" valueString="250" value="250" base="10"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
</threadImpl>
|
||||
<threadType name="Stabilisation">
|
||||
<comment>-- Controle la stabilisation et transmet les donnees a MCU1</comment>
|
||||
<features>
|
||||
<comment>-- + Data transmission to MCU1</comment>
|
||||
<dataPort name="Roulis_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]">
|
||||
<comment>--new</comment>
|
||||
</dataPort>
|
||||
<dataPort name="Tangage_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]">
|
||||
<comment>--(fourni par la nav en mode auto et par Ctrl_By_RC en mode manuel)</comment>
|
||||
</dataPort>
|
||||
<dataPort name="CC_Montee_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]">
|
||||
<comment>--fourni par la nav en mode auto et par Ctrl_By_RC en mode manuel)</comment>
|
||||
</dataPort>
|
||||
<dataPort name="IR_Input">
|
||||
<comment>--Taux de montee fourni par le Th Climb Control</comment>
|
||||
</dataPort>
|
||||
<dataPort name="Param_Vol_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]">
|
||||
<comment>-- IR: Infra red</comment>
|
||||
<comment>-- Param_Vol : Gaz_Output ,Prof_Output,AileronL_Output,AileronR_Output</comment>
|
||||
</dataPort>
|
||||
</features>
|
||||
</threadType>
|
||||
<threadImpl name="Stabilisation.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Stabilisation]">
|
||||
<comment>--20 hertz; </comment>
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Period]">
|
||||
<propertyValue xsi:type="property:IntegerValue" unitLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Time_Units]/unitLiteral[@name=Ms]" valueString="50" value="50" base="10"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
</threadImpl>
|
||||
<threadType name="Receive_Send_Data_MCU1">
|
||||
<comment>--this thread recoit les donnees de MCU1 en mode manuel </comment>
|
||||
<comment>-- updated</comment>
|
||||
<features>
|
||||
<eventDataPort name="RC_Data_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]"/>
|
||||
<dataPort name="RC_Rec_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]">
|
||||
<comment>-- updated</comment>
|
||||
</dataPort>
|
||||
<eventPort name="RC_Evt_Output" direction="out"/>
|
||||
<dataPort name="MCU0_Data_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]">
|
||||
<comment>--updated (juste pour le changement de mode)</comment>
|
||||
</dataPort>
|
||||
<eventDataPort name="MCU0_Send_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]"/>
|
||||
</features>
|
||||
</threadType>
|
||||
<threadImpl name="Receive_Send_Data_MCU1.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU1]">
|
||||
<comment>--properties</comment>
|
||||
<comment>--Period => ??????</comment>
|
||||
</threadImpl>
|
||||
<threadType name="Control_By_Radio_Cde">
|
||||
<features>
|
||||
<dataPort name="RC_Data_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Tableau.Generic]"/>
|
||||
<dataPort name="Angle_Roulis_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]"/>
|
||||
<dataPort name="Angle_Tangage_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]"/>
|
||||
<dataPort name="Gaz_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]"/>
|
||||
</features>
|
||||
</threadType>
|
||||
<processType name="Nav_Stab_Control_Proc">
|
||||
<comment>--updated</comment>
|
||||
<features>
|
||||
<eventDataPort name="MCU1_Data_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]">
|
||||
<comment>--MCU1_Evt_Input : in event port;--Erreur Radio Cde --updated</comment>
|
||||
</eventDataPort>
|
||||
<dataPort name="GPS_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Stream_Element.Generic]">
|
||||
<comment>--updated --Param Radio_Cde (mode manuel)</comment>
|
||||
</dataPort>
|
||||
<eventPort name="GPS_Evt_Input"/>
|
||||
<dataPort name="IR_Input"/>
|
||||
<dataPort name="P_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]">
|
||||
<comment>-- new data type</comment>
|
||||
</dataPort>
|
||||
<dataPort name="T_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataPort name="Compas_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Float]"/>
|
||||
<dataPort name="V_Air_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]">
|
||||
<comment>-- new data types</comment>
|
||||
</dataPort>
|
||||
<eventDataPort name="Trans_MCU0_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]">
|
||||
<comment>-- donnees transmies a MCU1</comment>
|
||||
</eventDataPort>
|
||||
<eventDataPort name="Trans_Sol_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]">
|
||||
<comment>-- updated</comment>
|
||||
<comment>-- donnees transmies a la station sol</comment>
|
||||
</eventDataPort>
|
||||
</features>
|
||||
</processType>
|
||||
<processImpl name="Nav_Stab_Control_Proc.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]">
|
||||
<comment>--updated</comment>
|
||||
<connections>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Ctrl_By_RC_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU1]/features/dataPort[@name=RC_Rec_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Control_By_Radio_Cde]/features/dataPort[@name=RC_Data_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Ctrl_By_RC_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Stab_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Control_By_Radio_Cde]/features/dataPort[@name=Angle_Roulis_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Stabilisation]/features/dataPort[@name=Roulis_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Ctrl_By_RC_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Stab_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Control_By_Radio_Cde]/features/dataPort[@name=Angle_Tangage_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Stabilisation]/features/dataPort[@name=Tangage_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Ctrl_By_RC_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Climb_Ctrl_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Control_By_Radio_Cde]/features/dataPort[@name=Gaz_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Climb_Control]/features/dataPort[@name=Montee_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Data_Acq_Filt_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=S_Mission_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Data_Acquisition_GPS]/features/dataPort[@name=GPS_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Simple_Mission]/features/dataPort[@name=GPS_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Data_Acq_Filt_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Alt_Ctrl_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Data_Acquisition_GPS]/features/dataPort[@name=GPS_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Altitude_Control]/features/dataPort[@name=GPS_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Data_Acq_Filt_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Climb_Ctrl_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Data_Acquisition_GPS]/features/dataPort[@name=GPS_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Climb_Control]/features/dataPort[@name=GPS_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=S_Mission_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Alt_Ctrl_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Simple_Mission]/features/dataPort[@name=Cap_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Altitude_Control]/features/dataPort[@name=S_Miss_Cap_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=S_Mission_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Alt_Ctrl_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Simple_Mission]/features/dataPort[@name=Alt_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Altitude_Control]/features/dataPort[@name=S_Miss_Alt_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Alt_Ctrl_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Nav_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Altitude_Control]/features/dataPort[@name=Cap_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Navigation]/features/dataPort[@name=AC_Cap_Input]">
|
||||
<comment>--en mode manuel c'est le thread Control by radio commande qui fournit les donnees</comment>
|
||||
<comment>--au thread stabilisation</comment>
|
||||
<comment>--data port S_Mission_Th.RC_Data_Output->Stab_Th.RC_Data_Input in modes(manual);</comment>
|
||||
<comment>--data port Rec_Send_Th.RC_Rec_Output->S_Mission_Th.RC_Data_Input in modes(manual);</comment>
|
||||
</dataConnection>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Alt_Ctrl_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Nav_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Altitude_Control]/features/dataPort[@name=Alt_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Navigation]/features/dataPort[@name=AC_Alt_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Nav_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Climb_Ctrl_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Navigation]/features/dataPort[@name=Taux_Montee_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Climb_Control]/features/dataPort[@name=Montee_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Climb_Ctrl_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Stab_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Climb_Control]/features/dataPort[@name=Montee_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Stabilisation]/features/dataPort[@name=CC_Montee_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Nav_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Stab_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Navigation]/features/dataPort[@name=Angle_Roulis_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Stabilisation]/features/dataPort[@name=Roulis_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Nav_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Stab_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Navigation]/features/dataPort[@name=Angle_Tangage_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Stabilisation]/features/dataPort[@name=Tangage_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Stab_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/dataPort[@name=IR_Input]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Stabilisation]/features/dataPort[@name=IR_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Stab_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Stabilisation]/features/dataPort[@name=Param_Vol_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU1]/features/dataPort[@name=MCU0_Data_Input]"/>
|
||||
<eventDataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/eventDataPort[@name=Trans_MCU0_Output]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU1]/features/eventDataPort[@name=MCU0_Send_Output]"/>
|
||||
<eventDataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/eventDataPort[@name=Trans_Sol_Output]" src="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU1]/features/eventDataPort[@name=MCU0_Send_Output]">
|
||||
<comment>--updated</comment>
|
||||
</eventDataConnection>
|
||||
<eventDataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU1]/features/eventDataPort[@name=RC_Data_Input]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/eventDataPort[@name=MCU1_Data_Input]">
|
||||
<comment>--new--updated</comment>
|
||||
</eventDataConnection>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=S_Mission_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/dataPort[@name=P_Input]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Simple_Mission]/features/dataPort[@name=P_Input]">
|
||||
<comment>--updated</comment>
|
||||
</dataConnection>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=S_Mission_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/dataPort[@name=T_Input]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Simple_Mission]/features/dataPort[@name=T_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=S_Mission_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/dataPort[@name=Compas_Input]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Simple_Mission]/features/dataPort[@name=Compas_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=S_Mission_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/dataPort[@name=V_Air_Input]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Simple_Mission]/features/dataPort[@name=V_Air_Input]"/>
|
||||
<dataConnection inModes="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" srcContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Data_Acq_Filt_Th]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/dataPort[@name=GPS_Input]" dst="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Data_Acquisition_GPS]/features/dataPort[@name=GPS_Input]"/>
|
||||
</connections>
|
||||
<modes>
|
||||
<mode name="manual" state="INITIAL"/>
|
||||
<mode name="auto"/>
|
||||
<mode name="home"/>
|
||||
<modeTransition srcMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" dstMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto]" triggerEventPort="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU1]/features/eventPort[@name=RC_Evt_Output]" triggerEventPortContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th]">
|
||||
<comment>--Transition entre les modes</comment>
|
||||
</modeTransition>
|
||||
<modeTransition srcMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=auto]" dstMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" triggerEventPort="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/eventPort[@name=GPS_Evt_Input]" triggerEventPortContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]">
|
||||
<comment>--updated</comment>
|
||||
</modeTransition>
|
||||
<modeTransition srcMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=manual]" dstMode="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/modes/mode[@name=home]" triggerEventPort="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Receive_Send_Data_MCU1]/features/eventPort[@name=RC_Evt_Output] /aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/eventPort[@name=GPS_Evt_Input]" triggerEventPortContext="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]/subcomponents/threadSubcomponent[@name=Rec_Send_Th] /aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]"/>
|
||||
</modes>
|
||||
<subcomponents>
|
||||
<comment>--new</comment>
|
||||
<threadSubcomponent name="Data_Acq_Filt_Th" classifier="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Data_Acquisition_GPS]"/>
|
||||
<threadSubcomponent name="S_Mission_Th" classifier="/aadlSpec[@name=paparazzi_Old Version]/threadImpl[@name=Simple_Mission.Impl]"/>
|
||||
<threadSubcomponent name="Alt_Ctrl_Th" classifier="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Altitude_Control]"/>
|
||||
<threadSubcomponent name="Nav_Th" classifier="/aadlSpec[@name=paparazzi_Old Version]/threadImpl[@name=Navigation.Impl]"/>
|
||||
<threadSubcomponent name="Climb_Ctrl_Th" classifier="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Climb_Control]"/>
|
||||
<threadSubcomponent name="Stab_Th" classifier="/aadlSpec[@name=paparazzi_Old Version]/threadImpl[@name=Stabilisation.Impl]"/>
|
||||
<threadSubcomponent name="Rec_Send_Th" classifier="/aadlSpec[@name=paparazzi_Old Version]/threadImpl[@name=Receive_Send_Data_MCU1.Impl]"/>
|
||||
<threadSubcomponent name="Ctrl_By_RC_Th" classifier="/aadlSpec[@name=paparazzi_Old Version]/threadType[@name=Control_By_Radio_Cde]"/>
|
||||
<dataSubcomponent name="D_AP_Destination" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Position.simple]">
|
||||
<comment>--the internal data that will store the autopilot settings</comment>
|
||||
</dataSubcomponent>
|
||||
<dataSubcomponent name="D_AP_Airspeed" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
<dataSubcomponent name="D_AP_Altitude" classifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataType[@name=Integer]"/>
|
||||
</subcomponents>
|
||||
</processImpl>
|
||||
<processorType name="Proc_MCU0">
|
||||
<features>
|
||||
<busAccess name="Mem_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=Mem_Bus_MCU0]"/>
|
||||
<busAccess name="Dev_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU0]"/>
|
||||
</features>
|
||||
</processorType>
|
||||
<processorImpl name="Proc_MCU0.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/processorType[@name=Proc_MCU0]">
|
||||
<comment>--RMS (Rate Monotonic Scheduling) est un FPS (Fixed Priority Scheduling) </comment>
|
||||
<comment>--chaque tache a une priorite fixe</comment>
|
||||
<properties>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Scheduling_Protocol]">
|
||||
<propertyValue xsi:type="property:EnumValue" enumLiteral="/aadlSpec[@name=AADL_Project]/propertySet[@name=AADL_Project]/propertyType[@name=Supported_Scheduling_Protocols]/enumLiteral[@name=RMS]"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
</processorImpl>
|
||||
<memoryType name="Ram_MCU0">
|
||||
<features>
|
||||
<busAccess name="Mem_Bus" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=Mem_Bus_MCU0]"/>
|
||||
</features>
|
||||
</memoryType>
|
||||
<busType name="Mem_Bus_MCU0"/>
|
||||
<systemType name="MCU0">
|
||||
<comment>-- MCU0 est charge de la Stabilisation, </comment>
|
||||
<comment>-- la navigation, la communication avec MCU1</comment>
|
||||
<comment>-- et la transmission des parametres de vol</comment>
|
||||
<features>
|
||||
<eventDataPort name="D_MCU1_Input" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]"/>
|
||||
<eventDataPort name="D_MCU0_Output" direction="out" dataClassifier="/aadlSpec[@name=Data_Types]/packageSpec[@name=Data_Types]/aadlPublic/dataImpl[@name=Inter_mcu_msg.Generic]">
|
||||
<comment>--updated</comment>
|
||||
<comment>--E_MCU1_Input : in event port;--updated</comment>
|
||||
</eventDataPort>
|
||||
<busAccess name="Bus_Con" direction="required" busClassifier="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=SPI]">
|
||||
<comment>--updated</comment>
|
||||
<comment>--E_MCU0_Output : out event port;--updated</comment>
|
||||
</busAccess>
|
||||
</features>
|
||||
</systemType>
|
||||
<systemImpl name="MCU0.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU0]">
|
||||
<properties>
|
||||
<comment>--updated</comment>
|
||||
<comment>--event port GPS_dv.Error_Output->E_MCU0_Output; --updated</comment>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Actual_Processor_Binding]" appliesTo="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processSubcomponent[@name=N_S_C_proc]">
|
||||
<comment>-- pour relier le processus a la memeoire et au processeur</comment>
|
||||
<propertyValue xsi:type="property:ReferenceValue" referenceElement="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processorSubcomponent[@name=Proc_0]"/>
|
||||
</propertyAssociation>
|
||||
<propertyAssociation propertyDefinition="/aadlSpec[@name=AADL_Properties]/propertySet[@name=AADL_Properties]/propertyDefinition[@name=Actual_Memory_Binding]" appliesTo="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processSubcomponent[@name=N_S_C_proc]">
|
||||
<propertyValue xsi:type="property:ReferenceValue" referenceElement="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/memorySubcomponent[@name=Ram]"/>
|
||||
</propertyAssociation>
|
||||
</properties>
|
||||
<connections>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Mem_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processorSubcomponent[@name=Proc_0]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Mem_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/processorType[@name=Proc_MCU0]/features/busAccess[@name=Mem_Bus]">
|
||||
<comment>-- bus connections</comment>
|
||||
</busAccessConnection>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Mem_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/memorySubcomponent[@name=Ram]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Mem_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/memoryType[@name=Ram_MCU0]/features/busAccess[@name=Mem_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processorSubcomponent[@name=Proc_0]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/processorType[@name=Proc_MCU0]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=P_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Pression]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=T_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Tension]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=Compas_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Compas]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=V_Air_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Vitesse_Air]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=Cam_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Camera_Video]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=Emet_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Emetteur]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Modem_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=Emet_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Modem_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Emetteur]/features/busAccess[@name=Modem_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=GPS_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=GPS]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=IR_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=InfraRed]/features/busAccess[@name=Dev_Bus]"/>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=P_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processSubcomponent[@name=N_S_C_proc]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Pression]/features/dataPort[@name=P_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/dataPort[@name=P_Input]">
|
||||
<comment>--ports connections</comment>
|
||||
</dataConnection>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=T_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processSubcomponent[@name=N_S_C_proc]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Tension]/features/dataPort[@name=T_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/dataPort[@name=T_Input]"/>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=Compas_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processSubcomponent[@name=N_S_C_proc]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Compas]/features/dataPort[@name=Compas_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/dataPort[@name=Compas_Input]"/>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=V_Air_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processSubcomponent[@name=N_S_C_proc]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Vitesse_Air]/features/dataPort[@name=V_Air_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/dataPort[@name=V_Air_Input]"/>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=GPS_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processSubcomponent[@name=N_S_C_proc]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=GPS]/features/dataPort[@name=GPS_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/dataPort[@name=GPS_Input]"/>
|
||||
<eventConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=GPS_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processSubcomponent[@name=N_S_C_proc]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/eventPort[@name=GPS_Evt_Input]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=GPS]/features/eventPort[@name=Error_Output]"/>
|
||||
<eventDataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processSubcomponent[@name=N_S_C_proc]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=Emet_dv]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Emetteur]/features/eventDataPort[@name=Trans_Data_Input]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/eventDataPort[@name=Trans_Sol_Output]"/>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=Cam_dv]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/deviceSubcomponent[@name=Emet_dv]" src="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Camera_Video]/features/dataPort[@name=Video_Output]" dst="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Emetteur]/features/dataPort[@name=Video_Input]">
|
||||
<comment>--updated</comment>
|
||||
</dataConnection>
|
||||
<eventDataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processSubcomponent[@name=N_S_C_proc]" dst="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/eventDataPort[@name=MCU1_Data_Input]" src="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU0]/features/eventDataPort[@name=D_MCU1_Input]"/>
|
||||
<eventDataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]/subcomponents/processSubcomponent[@name=N_S_C_proc]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]" dst="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU0]/features/eventDataPort[@name=D_MCU0_Output]" src="/aadlSpec[@name=paparazzi_Old Version]/processType[@name=Nav_Stab_Control_Proc]/features/eventDataPort[@name=Trans_MCU0_Output]">
|
||||
<comment>--updated</comment>
|
||||
<comment>--event port E_MCU1_Input->N_S_C_proc.MCU1_Evt_Input; --updated</comment>
|
||||
</eventDataConnection>
|
||||
</connections>
|
||||
<subcomponents>
|
||||
<processorSubcomponent name="Proc_0" classifier="/aadlSpec[@name=paparazzi_Old Version]/processorImpl[@name=Proc_MCU0.Impl]"/>
|
||||
<memorySubcomponent name="Ram" classifier="/aadlSpec[@name=paparazzi_Old Version]/memoryType[@name=Ram_MCU0]"/>
|
||||
<busSubcomponent name="Mem_Bus" classifier="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=Mem_Bus_MCU0]"/>
|
||||
<deviceSubcomponent name="P_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Pression]"/>
|
||||
<deviceSubcomponent name="T_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Tension]"/>
|
||||
<deviceSubcomponent name="Compas_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Compas]"/>
|
||||
<deviceSubcomponent name="V_Air_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Vitesse_Air]"/>
|
||||
<deviceSubcomponent name="Cam_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Camera_Video]"/>
|
||||
<deviceSubcomponent name="Emet_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=Emetteur]"/>
|
||||
<deviceSubcomponent name="GPS_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=GPS]"/>
|
||||
<deviceSubcomponent name="IR_dv" classifier="/aadlSpec[@name=paparazzi_Old Version]/deviceType[@name=InfraRed]"/>
|
||||
<busSubcomponent name="Dev_Bus" classifier="/aadlSpec[@name=paparazzi_Old Version]/busImpl[@name=Device_Bus.MCU0]"/>
|
||||
<busSubcomponent name="Modem_Bus" classifier="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=Modem]"/>
|
||||
<processSubcomponent name="N_S_C_proc" classifier="/aadlSpec[@name=paparazzi_Old Version]/processImpl[@name=Nav_Stab_Control_Proc.Impl]"/>
|
||||
</subcomponents>
|
||||
</systemImpl>
|
||||
<busType name="SPI">
|
||||
<comment>----------------------------------------------------------------</comment>
|
||||
<comment>-- we model a bus to link the systems</comment>
|
||||
</busType>
|
||||
<systemType name="Systeme_Paparazzi">
|
||||
<comment>--the embedded system</comment>
|
||||
<features>
|
||||
<dataPort name="RC_Data_Input"/>
|
||||
<eventPort name="RC_Evt_Input"/>
|
||||
</features>
|
||||
</systemType>
|
||||
<systemImpl name="Systeme_Paparazzi.Impl" compType="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=Systeme_Paparazzi]">
|
||||
<comment>--updated</comment>
|
||||
<comment>--event port MCU1_sys.RC_Evt_Output->MCU0_sys.E_MCU1_Input;--updated</comment>
|
||||
<connections>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/systemSubcomponent[@name=MCU0_sys]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU0]/features/busAccess[@name=Bus_Con]"/>
|
||||
<busAccessConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/systemSubcomponent[@name=MCU1_sys]" src="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/busSubcomponent[@name=Dev_Bus]" dst="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU1]/features/busAccess[@name=Bus_Con]"/>
|
||||
<dataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/systemSubcomponent[@name=MCU1_sys]" src="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=Systeme_Paparazzi]/features/dataPort[@name=RC_Data_Input]" dst="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU1]/features/dataPort[@name=RC_Data_Input]"/>
|
||||
<eventConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/systemSubcomponent[@name=MCU1_sys]" dst="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU1]/features/eventPort[@name=RC_Evt_Input]" src="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=Systeme_Paparazzi]/features/eventPort[@name=RC_Evt_Input]"/>
|
||||
<eventDataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/systemSubcomponent[@name=MCU0_sys]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/systemSubcomponent[@name=MCU1_sys]" dst="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU1]/features/eventDataPort[@name=AP_Data_Input]" src="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU0]/features/eventDataPort[@name=D_MCU0_Output]"/>
|
||||
<eventDataConnection srcContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/systemSubcomponent[@name=MCU1_sys]" dstContext="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=Systeme_Paparazzi.Impl]/subcomponents/systemSubcomponent[@name=MCU0_sys]" dst="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU0]/features/eventDataPort[@name=D_MCU1_Input]" src="/aadlSpec[@name=paparazzi_Old Version]/systemType[@name=MCU1]/features/eventDataPort[@name=D_MCU1_Output]">
|
||||
<comment>--updated</comment>
|
||||
<comment>--event port MCU0_sys.E_MCU0_Output->MCU1_sys.AP_Evt_Input;--updated</comment>
|
||||
</eventDataConnection>
|
||||
</connections>
|
||||
<subcomponents>
|
||||
<systemSubcomponent name="MCU0_sys" classifier="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU0.Impl]"/>
|
||||
<systemSubcomponent name="MCU1_sys" classifier="/aadlSpec[@name=paparazzi_Old Version]/systemImpl[@name=MCU1.Impl]"/>
|
||||
<busSubcomponent name="Dev_Bus" classifier="/aadlSpec[@name=paparazzi_Old Version]/busType[@name=SPI]"/>
|
||||
</subcomponents>
|
||||
</systemImpl>
|
||||
</core:AadlSpec>
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<core:AadlSpec xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:core="http://core" xmlns:property="http://property">
|
||||
<propertySet name="Thread_Properties">
|
||||
<propertyConstant name="Non_Preemptive" propertyTypeReference="/aadlSpec[@name=Thread_Properties]/propertySet[@name=Thread_Properties]/propertyConstant[@name=Non_Preemptive]/propertyType">
|
||||
<propertyType xsi:type="property:Aadlinteger"/>
|
||||
<constantValue xsi:type="property:IntegerValue" valueString="0" base="10"/>
|
||||
</propertyConstant>
|
||||
<propertyConstant name="System_Preemption" propertyTypeReference="/aadlSpec[@name=Thread_Properties]/propertySet[@name=Thread_Properties]/propertyConstant[@name=System_Preemption]/propertyType">
|
||||
<propertyType xsi:type="property:Aadlinteger"/>
|
||||
<constantValue xsi:type="property:IntegerValue" valueString="1" value="1" base="10"/>
|
||||
</propertyConstant>
|
||||
<propertyConstant name="Time_Sharing_Preemption" propertyTypeReference="/aadlSpec[@name=Thread_Properties]/propertySet[@name=Thread_Properties]/propertyConstant[@name=Time_Sharing_Preemption]/propertyType">
|
||||
<propertyType xsi:type="property:Aadlinteger"/>
|
||||
<constantValue xsi:type="property:IntegerValue" valueString="2" value="2" base="10"/>
|
||||
</propertyConstant>
|
||||
<propertyDefinition name="Preemption">
|
||||
<propertyType xsi:type="property:EnumType">
|
||||
<enumLiteral name="Non_Preemptive"/>
|
||||
<enumLiteral name="System_Preemption"/>
|
||||
<enumLiteral name="Time_Sharing_Preemption"/>
|
||||
</propertyType>
|
||||
<appliesto>thread</appliesto>
|
||||
</propertyDefinition>
|
||||
<propertyDefinition name="Entrypoints" list="true">
|
||||
<appliesto>thread</appliesto>
|
||||
</propertyDefinition>
|
||||
</propertySet>
|
||||
</core:AadlSpec>
|
||||
Reference in New Issue
Block a user