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