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 />

sous-programme puisse introduire de nouvelles données dans le flux d’exécution. En effet, les<br />

connexions ne permettent que de connecter les paramètres du sous-programme AADL aux paramètres<br />

<strong>des</strong> sous-programmes appelés.<br />

Afin d’avoir <strong>la</strong> plus grande souplesse possible dans l’expression <strong>des</strong> algorithmes, il est nécessaire<br />

de pouvoir exprimer le fait que <strong>des</strong> données sont générées par le code source d’imp<strong>la</strong>ntation<br />

et transmises aux sous-programmes appelés. Il est donc nécessaire de pouvoir introduire <strong>la</strong> notion<br />

de variables locales au sous-programme.<br />

Une variable locale à un sous-programme s’apparente à un composant de données, déc<strong>la</strong>ré<br />

comme sous-composant d’un sous-programme. La version 1.0 de <strong>la</strong> syntaxe AADL ne permet de<br />

modéliser de tels sous-composants dans les sous-programmes ; il est donc nécessaire de recourir<br />

aux extensions que nous introduisons en III-9, page 46. Dans ces conditions, nous pouvons reprendre<br />

l’exemple précédent, en remp<strong>la</strong>çant le sous-programme spC par une donnée locale, comme<br />

illustré sur le listing V.12.<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 properties<br />

17 Source_Text => "Algo";<br />

18 Source_Name => "spB";<br />

19 Source_Language => Ada95;<br />

20 end spB;<br />

21<br />

22 subprogram spD<br />

23 features<br />

24 e : in parameter entier;<br />

25 s : out parameter entier;<br />

26 properties<br />

27 Source_Text => "Algo";<br />

28 Source_Name => "spD";<br />

29 Source_Language => Ada95;<br />

30 end spD;<br />

31<br />

32 subprogram implementation spA.impl<br />

33 subcomponents<br />

34 default_value : data entier; -- proposition <strong>pour</strong> AADL 1.2<br />

35 calls<br />

36 seq1 : {spB1 : subprogram spB;};<br />

37 seq2 : {spB2 : subprogram spB;};<br />

38 seq3 : {spD3 : subprogram spD;};<br />

82 c○ 2007 Thomas Vergnaud

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

Saved successfully!

Ooh no, something went wrong!