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.
<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 />
en section V-2.3.4. L’enchaînement <strong>des</strong> séquences se fait donc par une succession de changements<br />
de mode.<br />
Cette approche n’est pas satisfaisante <strong>pour</strong> l’imp<strong>la</strong>ntation d’architectures logicielles complexes<br />
car elle conduit à une explosion combinatoire <strong>des</strong> mo<strong>des</strong> d’exécution ; elle implique également<br />
<strong>la</strong> mise en p<strong>la</strong>ce de mécanismes de reconfiguration complexes au sein de l’exécutif <strong>pour</strong><br />
résoudre un problème qui est traité simplement dans <strong>la</strong> majorité <strong>des</strong> <strong>la</strong>ngages de programmation.<br />
Nous choisissons donc une autre interprétation sémantique à <strong>la</strong> présence de plusieurs séquences<br />
d’appel au sein d’un sous-programme : nous considérons que les séquences d’appel présentes<br />
dans l’imp<strong>la</strong>ntation d’un sous-programme représentent les différentes phases d’exécution<br />
possibles. Les différentes séquences doivent être coordonnées par une <strong>des</strong>cription comportementale<br />
fournie par l’utilisateur. Ainsi, le listing V.11 met en jeu trois phases d’exécution possibles,<br />
modélisées par les séquences seq1, seq2 et seq3.<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 end spB;<br />
17<br />
18 subprogram spC<br />
19 features<br />
20 s : out parameter entier;<br />
21 end spC;<br />
22<br />
23 subrogram spD<br />
24 features<br />
25 e : in parameter entier;<br />
26 s : out parameter entier;<br />
27 end spD;<br />
28<br />
29 subprogram implementation spA.impl<br />
30 subcomponents<br />
31 default_value : data entier;<br />
32 calls<br />
33 seq1 : {spB1 : subprogram spB;};<br />
34 seq2 : {spC2 : subprogram spC;<br />
35 spB2 : subprogram spB;};<br />
36 seq3 : {spD3 : subprogram spD;};<br />
37 connections<br />
38 parameter a -> spB1.e;<br />
39 parameter spB1.s -> spD3.e;<br />
80 c○ 2007 Thomas Vergnaud