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.
Chapitre V – Génération du code <strong>pour</strong> l’enveloppe applicative<br />
8 procedure spB (e : in entier; s : out entier) is<br />
9 begin<br />
10 Algo.spB (e, s);<br />
11 end spB;<br />
12<br />
13 procedure spD (e : in entier; s : out entier) is<br />
14 begin<br />
15 Algo.spD (e, s);<br />
16 end spD;<br />
17<br />
18 procedure spA_impl_seq1 (Status : in out spA_impl_control) is<br />
19 begin<br />
20 spB (Status.a, Status.spD3_e);<br />
21 end spA_impl_seq1;<br />
22<br />
23 procedure spA_impl_seq2 (Status : in out spA_impl_control) is<br />
24 begin<br />
25 spB (Status.default_value, Status.spD3_e);<br />
26 end spA_impl_seq1;<br />
27<br />
28 procedure spA_impl_seq3 (Status : in out spA_impl_control) is<br />
29 begin<br />
30 spD (Status.spD3_e, Status.d);<br />
31 end spA_impl_seq1;<br />
32<br />
33 procedure spA_impl (a : in entier; d : out entier) is<br />
34 Status : spA_impl_control;<br />
35 begin<br />
36 Status.a := a;<br />
37 Algo.spA_impl (Status,<br />
38 spA_impl_seq1’Access,<br />
39 spA_impl_seq2’Access,<br />
40 spA_impl_seq3’Access);<br />
41 d := Status.d<br />
42 end sp1_impl;<br />
43 end Partition;<br />
Listing V.17 – Code Ada généré à partir de <strong>la</strong> <strong>des</strong>cription AADL du listing V.12<br />
Le code source Ada correspondant à l’imp<strong>la</strong>ntation de l’algorithme est fourni par l’utilisateur<br />
et doit suivre l’interface prévue :<br />
1 with Partition;<br />
2<br />
3 package body Algo is<br />
4<br />
5 procedure spA_impl<br />
6 (Status : in out Partition.spA_impl_control;<br />
7 Seq1 : Partition.spA_impl_sequence;<br />
8 Seq2 : Partition.spA_impl_sequence;<br />
9 Seq3 : Partition.spA_impl_sequence)<br />
10 is<br />
11 begin<br />
12 Status.default_value := 4;<br />
c○ 2007 Thomas Vergnaud 89