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

– 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

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

Saved successfully!

Ooh no, something went wrong!