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.
13<br />
<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 />
14 if Status.a < 4 then<br />
15 Seq1 (Status);<br />
16 else<br />
17 Seq2 (Status);<br />
18 end if;<br />
19<br />
20 Seq3 (Status);<br />
21 end spA_impl;<br />
22<br />
23 procedure spB (e : in partition.entier; s : out partition.entier<br />
) is<br />
24 begin<br />
25 s := e + 1;<br />
26 end spB;<br />
27<br />
28 procedure spD (e : in partition.entier; s : out partition.entier<br />
) is<br />
29 begin<br />
30 s := e * 6;<br />
31 end spD;<br />
32<br />
33 end Algo;<br />
Listing V.18 – Code Ada imp<strong>la</strong>ntant l’algorithme<br />
La cohérence entre <strong>la</strong> procédure-enveloppe générée à partir de l’AADL et <strong>la</strong> procédure fournie<br />
par l’utilisateur sera vérifiée par le compi<strong>la</strong>teur Ada 95.<br />
V-4 Traduction <strong>des</strong> composants AADL applicatifs dans d’autres <strong>la</strong>ngages<br />
Dans cette section nous nous intéressons à <strong>la</strong> traduction <strong>des</strong> constructions AADL vers d’autres<br />
<strong>la</strong>ngages qu’Ada. Nous considérons les <strong>la</strong>ngages C et Java. C est un <strong>la</strong>ngage purement procédural,<br />
<strong>la</strong>rgement répandu dans les <strong>systèmes</strong> <strong>embarqués</strong> <strong>temps</strong>-<strong>réel</strong>. Java est un <strong>la</strong>ngage orienté objet ; il<br />
n’est pas encore très utilisé, mais il tend à se développer, notamment grâce à <strong>des</strong> spécifications<br />
de machines virtuelles spécialisées telles que JavaCard [Sun, 2006] ou Real-Time Java [Bollel<strong>la</strong><br />
et al., 2002]. La prise en compte de ce deux <strong>la</strong>ngages nous permet de couvrir un <strong>la</strong>rge panorama<br />
de <strong>la</strong>ngages de programmation impérative.<br />
V-4.1 Traduction vers C<br />
La traduction <strong>des</strong> constructions AADL en Ada ne fait pas intervenir les constructions orientées<br />
objet d’Ada. La traduction vers C lui est donc simi<strong>la</strong>ire. Nous n’abordons donc que les principales<br />
différences qui se posent entre les deux <strong>la</strong>ngages.<br />
V-4.1.1 Traduction <strong>des</strong> espaces de nom<br />
Le <strong>la</strong>ngage C n’a pas <strong>la</strong> notion de paquetages. Les espaces de noms sont donc matérialisés<br />
par différents fichiers. Le fichier principal, correspondant à l’espace de nom anonyme, est<br />
90 c○ 2007 Thomas Vergnaud