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

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

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

Saved successfully!

Ooh no, something went wrong!