Add wasm tacle-bench targets
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
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;
|
||||
|
||||
@ -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>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
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>
|
||||
@ -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