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

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

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

Saved successfully!

Ooh no, something went wrong!