04.07.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!