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 />
2006], etc. Le listing III.10 illustre un exemple d’annexe AADL tiré de l’annexe comportementale<br />
d’AADL [SAE, 2006b].<br />
1 subprogram start_read<br />
2 features<br />
3 debug: in parameter Behavior::boolean;<br />
4 end start_read;<br />
5<br />
6 subprogram implementation start_read.i<br />
7 calls {<br />
8 p1: subprogram std::print;<br />
9 };<br />
10<br />
11 annex behavior_specification {**<br />
12 states<br />
13 s0 : initial state;<br />
14 s1 : return state;<br />
15 transitions<br />
16 s0 -[ on debug ]-> s1 { std::print! };<br />
17 s0 -[ on not debug ]-> s1 {};<br />
18 **};<br />
19 end start_read;<br />
III-8.3 Discussion<br />
Listing III.10 – Annexes AADL<br />
Les annexes et les propriétés permettent d’ajouter <strong>des</strong> informations à <strong>la</strong> <strong>des</strong>cription architecturale.<br />
Alors que les annexes ne concernent que les composants, les propriétés peuvent être<br />
associées à tous les éléments d’une <strong>des</strong>cription : composants, connexions, features, etc. Les annexes<br />
permettent d’incorporer <strong>des</strong> éléments rédigés dans une syntaxe différente de celle d’AADL.<br />
On peut donc considérer qu’elles permettent donc d’étendre <strong>la</strong> syntaxe AADL tout en permettant<br />
l’utilisation d’outils existants. Les propriétés font partie intégrante de <strong>la</strong> syntaxe AADL, et donc<br />
plus adaptées <strong>pour</strong> décrire les caractéristiques <strong>des</strong> architectures.<br />
III-9 Évolutions de <strong>la</strong> syntaxe d’AADL<br />
La première version du standard AADL, que nous venons de décrire, s’inspire très <strong>la</strong>rgement<br />
de son ancêtre MetaH ; l’une <strong>des</strong> principales conséquences est que <strong>la</strong> <strong>des</strong>cription <strong>des</strong> éléments applicatifs<br />
– principalement les sous-programmes – est assez primitive. Afin de pouvoir pleinement<br />
exprimer les éléments d’architecture logicielle, il est nécessaire d’enrichir <strong>la</strong> syntaxe.<br />
La version 1.0 du standard définit les composants sous-programmes selon <strong>la</strong> même approche<br />
que dans les <strong>la</strong>ngages impératif. Ce<strong>la</strong> facilite le passage entre AADL et <strong>des</strong> <strong>la</strong>ngages comme Ada<br />
ou C mais restreint l’expressivité <strong>des</strong> <strong>des</strong>criptions AADL. Par ailleurs, le standard AADL actuel<br />
ne permet pas de modéliser facilement un appel de sous-programme distant (RPC). Dans cette<br />
section nous décrivons <strong>des</strong> évolutions du <strong>la</strong>ngage AADL que nous avons proposées au comité de<br />
standardisation afin d’améliorer ces aspects.<br />
46 c○ 2007 Thomas Vergnaud