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.

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

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

Saved successfully!

Ooh no, something went wrong!