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 ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<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 />
sous-programme puisse introduire de nouvelles données dans le flux d’exécution. En effet, les<br />
connexions ne permettent que de connecter les paramètres du sous-programme AADL aux paramètres<br />
<strong>des</strong> sous-programmes appelés.<br />
Afin d’avoir <strong>la</strong> plus grande souplesse possible dans l’expression <strong>des</strong> algorithmes, il est nécessaire<br />
de pouvoir exprimer le fait que <strong>des</strong> données sont générées par le code source d’imp<strong>la</strong>ntation<br />
et transmises aux sous-programmes appelés. Il est donc nécessaire de pouvoir introduire <strong>la</strong> notion<br />
de variables locales au sous-programme.<br />
Une variable locale à un sous-programme s’apparente à un composant de données, déc<strong>la</strong>ré<br />
comme sous-composant d’un sous-programme. La version 1.0 de <strong>la</strong> syntaxe AADL ne permet de<br />
modéliser de tels sous-composants dans les sous-programmes ; il est donc nécessaire de recourir<br />
aux extensions que nous introduisons en III-9, page 46. Dans ces conditions, nous pouvons reprendre<br />
l’exemple précédent, en remp<strong>la</strong>çant le sous-programme spC par une donnée locale, comme<br />
illustré sur le listing V.12.<br />
1 data entier<br />
2 properties<br />
3 Language_Support::Data_Type => integer;<br />
4 end entier;<br />
5<br />
6 subprogram spA<br />
7 features<br />
8 a : in parameter entier;<br />
9 d : out parameter entier;<br />
10 end spA;<br />
11<br />
12 subprogram spB<br />
13 features<br />
14 e : in parameter entier;<br />
15 s : out parameter entier;<br />
16 properties<br />
17 Source_Text => "Algo";<br />
18 Source_Name => "spB";<br />
19 Source_Language => Ada95;<br />
20 end spB;<br />
21<br />
22 subprogram spD<br />
23 features<br />
24 e : in parameter entier;<br />
25 s : out parameter entier;<br />
26 properties<br />
27 Source_Text => "Algo";<br />
28 Source_Name => "spD";<br />
29 Source_Language => Ada95;<br />
30 end spD;<br />
31<br />
32 subprogram implementation spA.impl<br />
33 subcomponents<br />
34 default_value : data entier; -- proposition <strong>pour</strong> AADL 1.2<br />
35 calls<br />
36 seq1 : {spB1 : subprogram spB;};<br />
37 seq2 : {spB2 : subprogram spB;};<br />
38 seq3 : {spD3 : subprogram spD;};<br />
82 c○ 2007 Thomas Vergnaud