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 />
15 Partition.subprogram.spB (param);<br />
16 }<br />
17<br />
18 public void seq3 (Partition.spA_i_impl_control Status) {<br />
19 param = new spD_parameters ();<br />
20 param.e = Status.spD3_e;<br />
21 param.s = Status.d;<br />
22 Partition.subprogram.spD (param);<br />
23 }<br />
24 }<br />
Listing V.27 – C<strong>la</strong>sse contenant les séquences d’appel du sous-programme spA.impl<br />
Enfin, le listing V.28 représente le code généré <strong>pour</strong> l’ensemble <strong>des</strong> sous-programmes AADL<br />
définis dans le listings V.12.<br />
1 package Partition;<br />
2 import Algo.*;<br />
3<br />
4 public c<strong>la</strong>ss subprogram {<br />
5 public static void spA_i_impl (spA_i_impl_parameters param)<br />
{<br />
6 spA_i_impl_control Status = new spA_i_impl_control();<br />
7 Status.a = param.read_a ();<br />
8 Algo.spA_impl (Status, new spA_i_impl_subprogram());<br />
9 param.write_d (Status.d);<br />
10 }<br />
11<br />
12 public static void spB (spB_parameters param) {<br />
13 Algo.spB (param);<br />
14 }<br />
15<br />
16 public static void spD (spD_parameters param) {<br />
17 Algo.spD (param);<br />
18 }<br />
19 }<br />
Listing V.28 – Code Java correspondant aux déc<strong>la</strong>rations de sous-programmes AADL du listing<br />
V.12<br />
De <strong>la</strong> même façon que <strong>pour</strong> Ada, les métho<strong>des</strong> correspondant aux sous-programmes spB et<br />
spD se contentent d’appeler le code fourni par l’utilisateur. En revanche, l’enveloppe générée <strong>pour</strong><br />
le sous-programme spA.impl initialise <strong>la</strong> structure de contrôle et les différentes séquences avant<br />
d’appeler l’imp<strong>la</strong>ntation fournie par l’utilisateur.<br />
L’imp<strong>la</strong>ntation de l’algorithme fournie par l’utilisateur en Java est représentée au listing V.29.<br />
1 package Algo;<br />
2 import Partition.*;<br />
3<br />
4 public c<strong>la</strong>ss Algo {<br />
5 public static void spA_impl (spA_i_impl_control Status,<br />
spA_i_impl_subprogram sequences) {<br />
6 Status.default_value.val = 4;<br />
7<br />
8 if (Status.a.val < 4)<br />
96 c○ 2007 Thomas Vergnaud