Modélisation des systèmes temps-réel répartis embarqués pour la ...
Modélisation des systèmes temps-réel répartis embarqués pour la ...
Modélisation des systèmes temps-réel répartis embarqués pour la ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Modélisation</strong> <strong>des</strong> <strong>systèmes</strong> <strong>temps</strong>-<strong>réel</strong> <strong>répartis</strong> <strong>embarqués</strong><br />
8 Protocol : requires subprogram access Ipao::Protocol::<br />
Protocol;<br />
9 Queue_Request : requires subprogram access Ipao::Bind::<br />
Add_Request;<br />
10 Bind_Request : requires subprogram access Ipao::Bind::<br />
Bind_Request;<br />
11 Add_Request : requires subprogram access Ipao::Activation::<br />
Add_Request;<br />
12 Activate_Request : requires subprogram access Ipao::<br />
Activation::Add_Request;<br />
13 State_Machine : requires data access Mubroker_State;<br />
14 end Mubroker;<br />
15<br />
16 subprogram implementation Mubroker.Generic<br />
17 calls<br />
18 Listen : {Listen1 : subprogram access Protocol;<br />
19 Listen2 : subprogram access Queue_Request;};<br />
20 Bind_Local : {Bind_Local1 : subprogram access Bind_Request;<br />
21 Bind_Local2 : subprogram access Add_Request;};<br />
22 Activate : {Activate1 : subprogram access Activate_Request;};<br />
23 end Mubroker.Generic;<br />
24 end Ipao::Mubroker;<br />
Listing VI.9 – <strong>Modélisation</strong> du µBroker<br />
Contrairement à <strong>des</strong> services comme l’activation ou <strong>la</strong> liaison, dont l’imp<strong>la</strong>ntation dépend de<br />
l’organisation <strong>des</strong> entités applicatives et protoco<strong>la</strong>ires, le µBroker coordonne toujours les mêmes<br />
services. Nous utilisons donc <strong>des</strong> accès à sous-programmes afin de pouvoir mettre en p<strong>la</strong>ce une<br />
<strong>des</strong>cription comportementale indépendante <strong>des</strong> services.<br />
VI-3.5 Assemb<strong>la</strong>ge <strong>des</strong> composants<br />
Chaque nœud applicatif est modélisé par un processus AADL contenant <strong>des</strong> threads AADL.<br />
Ces threads représentent l’exécutif de bas niveau ; ils sont issus de l’expansion <strong>des</strong> threads AADL<br />
de <strong>la</strong> première phase du processus de conception. Ils sont exécutés par <strong>des</strong> threads du système<br />
d’exploitation.<br />
Le processus et ses threads contiennent les composants de donnée et appellent les sousprogrammes<br />
modélisant l’instance de l’architecture schizophrène <strong>pour</strong> chaque nœud. Le listing VI.10<br />
donne un exemple d’instanciation <strong>des</strong> composants de l’intergiciel.<br />
1 process application_node<br />
2 end application_node;<br />
3<br />
4 thread Minimal_Thread<br />
5 features<br />
6 Protocol : requires subprogram access Ipao::Protocol::<br />
Protocol;<br />
7 Queue_Request : requires subprogram access Ipao::Bind::<br />
Add_Request;<br />
8 Bind_Request : requires subprogram access Ipao::Bind::<br />
Bind_Request;<br />
9 State_Machine : requires data access Mubroker_State;<br />
10 properties<br />
116 c○ 2007 Thomas Vergnaud