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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

Règle V.13 (Traduction <strong>des</strong> paquetages AADL en Java)<br />

Un paquetage AADL se traduit par un paquetage Java. Les conventions de nommage<br />

sont simi<strong>la</strong>ire à Ada.<br />

Les déc<strong>la</strong>rations p<strong>la</strong>cées dans ce paquetage ne se traduisent en revanche pas de façon aussi<br />

directe, comme nous l’étudions dans les sections suivantes. De <strong>la</strong> même façon que <strong>pour</strong> Ada et<br />

C, le paquetage principal, correspondant à l’espace de nom anonyme, est nommé « partition » ; il<br />

contient les différentes déc<strong>la</strong>rations de l’espace de nom anonyme. Ce paquetage est p<strong>la</strong>cé dans un<br />

fichier Partition.java ; les différents fichiers correspondant aux espaces de nom sont nommés<br />

.java et p<strong>la</strong>cés dans les sous-répertoires correspondants.<br />

V-4.2.2 Traduction <strong>des</strong> composants de donnée<br />

La définition de nouveaux types de données en Java s’effectue par <strong>la</strong> déc<strong>la</strong>ration de c<strong>la</strong>sses.<br />

Règle V.14 (Traduction <strong>des</strong> déc<strong>la</strong>rations de donnée AADL en Java)<br />

Chaque déc<strong>la</strong>ration de composant de donnée AADL se traduit par une c<strong>la</strong>sse Java de<br />

même nom, déc<strong>la</strong>rée dans le paquetage correspondant.<br />

De <strong>la</strong> même façon que <strong>pour</strong> Ada, <strong>la</strong> traduction d’un composant de donnée AADL sans sémantique<br />

– tel que une_donnee au listing V.1 – se traduit par une c<strong>la</strong>sse vide, comme illustré au<br />

listing V.19.<br />

5 c<strong>la</strong>ss une_donnee { }<br />

Listing V.19 – C<strong>la</strong>sse Java correspondant à une donnée AADL sans sémantique<br />

Les c<strong>la</strong>sses Java permettant de décrire les types de base, telle que Integer <strong>pour</strong> les entiers, ne<br />

permettent que de décrire <strong>des</strong> objets « constants » : ces objets représentent une valeur constante,<br />

qu’il n’est pas possible de modifier. De façon parallèle, <strong>la</strong> c<strong>la</strong>sse Java String ne permet pas de<br />

représenter <strong>des</strong> chaînes de caractères de taille fixée. Dans le cadre de <strong>la</strong> traduction <strong>des</strong> composants<br />

de données AADL en Java, nous nous reposons donc sur les types « c<strong>la</strong>ssiques » inspirés du C,<br />

tels que le type int ou les tableaux de caractères.<br />

Les différents types de donnée se traduisent donc par <strong>des</strong> c<strong>la</strong>sses contenant un champ val dont<br />

le type correspond à <strong>la</strong> sémantique de <strong>la</strong> donnée AADLi, comme représenté au listing V.20.<br />

7 c<strong>la</strong>ss une_donnee_i_entier {<br />

8 public int val;<br />

9 }<br />

10<br />

11 enum une_donnee_i_enumeration {<br />

12 bleu, jaune;<br />

13 }<br />

14<br />

15 c<strong>la</strong>ss une_donnee_i_tableau_entier {<br />

16 public int[] val = new int[5];<br />

17 }<br />

18<br />

19 c<strong>la</strong>ss une_donnee_i_tableau_entier2 {<br />

20 public une_donnee_i_entier[] val = new une_donnee_i_entier<br />

[5];<br />

21 }<br />

22<br />

92 c○ 2007 Thomas Vergnaud

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

Saved successfully!

Ooh no, something went wrong!