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 />
– une méthode write_p si le paramètre AADL p est déc<strong>la</strong>ré out.<br />
Un paramètre p déc<strong>la</strong>ré in out engendre <strong>la</strong> création de deux métho<strong>des</strong> read_p et write_p.<br />
Les métho<strong>des</strong> d’accès permettent de lire ou d’écrire <strong>des</strong> attributs du conteneur correspondant aux<br />
paramètres du sous-programme AADL considéré. Ces attributs sont publics, de sorte que l’exécutif<br />
peut les modifier ; les métho<strong>des</strong> d’accès ne sont donc utilisées que par l’utilisateur.<br />
De cette façon, nous évitons que l’imp<strong>la</strong>ntation en code source <strong>des</strong> sous-programmes AADL<br />
n’interfère avec <strong>la</strong> sémantique du passage <strong>des</strong> paramètres. La traduction conserve donc complètement<br />
<strong>la</strong> signature <strong>des</strong> sous-programmes.<br />
Les différentes séquences d’appel sont réunies dans une c<strong>la</strong>sse ; l’imp<strong>la</strong>ntation en code source<br />
reçoit un objet de cette c<strong>la</strong>sse en paramètre au lieu d’une référence sur chaque procédure. Le<br />
<strong>la</strong>ngage Java impose cependant de définir chaque c<strong>la</strong>sse dans un fichier séparé. Les listings V.22<br />
à V.28 illustrent le code source à générer à partir du listing AADL V.12 ; tous ces co<strong>des</strong> sources<br />
sont associés au paquetage Java Partition.<br />
Le listing V.22 représente le type de donnée généré à partir du type de donnée AADL entier.<br />
1 package Partition;<br />
2<br />
3 public c<strong>la</strong>ss entier {<br />
4 public int val;<br />
5 }<br />
Listing V.22 – Type de donnée généré à partir de <strong>la</strong> <strong>des</strong>cription AADL du listing V.12<br />
Les listings V.23, V.24 et V.25 représentent le code Java correspondant aux paramètres <strong>des</strong><br />
sous-programmes spA.impl, spB et spD.<br />
1 package Partition;<br />
2<br />
3 public c<strong>la</strong>ss spA_i_impl_parameters {<br />
4 public entier d;<br />
5 public entier a;<br />
6<br />
7 public entier read_a () {<br />
8 return a;<br />
9 };<br />
10<br />
11 public void write_d (entier param) {<br />
12 d = param;<br />
13 };<br />
14 }<br />
Listing V.23 – C<strong>la</strong>sse correspondant aux paramètres du sous-programme spA.imp<br />
1 package Partition;<br />
2<br />
3 public c<strong>la</strong>ss spB_parameters {<br />
4 public entier s;<br />
5 public entier e;<br />
6<br />
7 public entier read_e () {<br />
8 return e;<br />
9 };<br />
10<br />
11 public void write_s (entier param) {<br />
94 c○ 2007 Thomas Vergnaud