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.
16<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 />
17 subprogram implementation sp1.impl<br />
18 subcomponents<br />
19 variable : data donnee;<br />
20 calls {<br />
21 appel1 : subprogram sp2;<br />
22 };<br />
23 connections<br />
24 parameter e -> appel1.e1;<br />
25 parameter variable -> appel1.e2;<br />
26 parameter appel1.s -> s;<br />
27 end sp1.impl;<br />
Listing III.14 – Connexion interne <strong>des</strong> paramètres<br />
Une façon de contourner cette limitation serait de créer artificiellement un sous-programme<br />
sp2 possédant un paramètre de sortie ; sp2 symboliserait le calcul de <strong>la</strong> donnée manquante. Dans ce<br />
cas, sp1.impl appellerait d’abord sp2 puis sp1 ; Le modèle AADL ferait apparaître une connexion<br />
entre <strong>la</strong> sortie de sp2 et l’entrée correspondante de appel1.e2. Il s’agirait cependant d’une autre<br />
architecture ; cette approche ne convient donc pas.<br />
III-9.2.2 Extension de <strong>la</strong> syntaxe<br />
Afin de modéliser les connexions entre <strong>des</strong> données calculées par les imp<strong>la</strong>ntations en code<br />
sous <strong>des</strong> sous-programmes et les sous-programmes qu’ils appellent, il est nécessaire de faire en<br />
sorte que les sous-programmes et les threads puissent avoir <strong>des</strong> composants de données comme<br />
sous-composants. Ces composants de données modélisent alors <strong>des</strong> variables. Le listing III.15<br />
illustre <strong>la</strong> nouvelle construction syntaxique.<br />
1 data donnee<br />
2 end donnee;<br />
3<br />
4 subprogram sp1<br />
5 features<br />
6 e : in parameter donnee;<br />
7 s : out parameter donnee;<br />
8 end sp1;<br />
9<br />
10 subprogram sp2<br />
11 features<br />
12 e1 : in parameter donnee;<br />
13 e2 : in parameter donnee;<br />
14 s : out parameter donnee;<br />
15 end sp2;<br />
16<br />
17 subprogram implementation sp1.impl<br />
18 calls {<br />
19 appel1 : subprogram sp2;<br />
20 };<br />
21 connections<br />
22 parameter e -> appel1.e1;<br />
23 parameter appel1.s -> s;<br />
50 c○ 2007 Thomas Vergnaud