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.

processus AADL séparément.<br />

Chapitre V – Génération du code <strong>pour</strong> l’enveloppe applicative<br />

Définition V.1 (nœud applicatif)<br />

Un nœud applicatif est représenté par une instance de processus AADL.<br />

Pour chaque processus AADL, le traducteur produit donc les constructions syntaxiques correspondant<br />

aux différents sous-programmes et composants de donnée.<br />

V-2.2 Traduction <strong>des</strong> composants de données<br />

Les déc<strong>la</strong>rations de composant de donnée AADL correspondent à <strong>des</strong> déc<strong>la</strong>rations de type<br />

dans les <strong>la</strong>ngages de programmation. Ces déc<strong>la</strong>rations se traduisent donc par une définition de<br />

type. Une instance de composant de donnée correspond alors naturellement à <strong>la</strong> définition d’une<br />

variable.<br />

Règle V.1 (Interprétation <strong>des</strong> composants de donnée)<br />

La déc<strong>la</strong>ration d’un composant de donnée AADL correspond à <strong>la</strong> définition d’un type<br />

de donnée dans un <strong>la</strong>ngage de programmation impérative. Une instance de composant<br />

de donnée (comme sous-composant d’un thread ou d’un sous-programme correspond à<br />

<strong>la</strong> définition d’une variable.<br />

La déc<strong>la</strong>ration d’un composant AADL traduit l’existence d’un type de donnée ; <strong>la</strong> sémantique<br />

du type de donnée n’est cependant pas couverte par <strong>la</strong> seule déc<strong>la</strong>ration de composant. Ainsi, le<br />

code AADL V.1 ne donne aucune indication sur <strong>la</strong> nature de <strong>la</strong> donnée déc<strong>la</strong>rée.<br />

1 data une_donnee<br />

2 end une_donnee;<br />

Listing V.1 – Déc<strong>la</strong>ration d’une donnée AADL<br />

Afin de produire un type de donnée exploitable, il est nécessaire de spécifier <strong>la</strong> sémantique<br />

de <strong>la</strong> donnée. Le <strong>la</strong>ngage AADL ne transportant pas en lui-même <strong>la</strong> <strong>des</strong>cription sémantique <strong>des</strong><br />

données, il est nécessaire de préciser cette sémantique. Au cours de nos travaux nous avons défini<br />

un ensemble de propriétés AADL permettant de spécifier le type de donnée modélisé par les<br />

composants de donnée AADL. Le comité de standardisation AADL a repris cette approche et<br />

défini un ensemble plus complet de propriétés, appelé Language_Support. Les règles que nous<br />

présentons ici peuvent être vues comme <strong>des</strong> compléments aux directives architecturales que nous<br />

avons présentées en section IV-5, page 65.<br />

40 Data_Format: enumeration (Integer, int, Float, flt, Boolean,<br />

41 String, str, Character, char, Wide_String, Natural, Positive,<br />

42 Enum, long, long_long)<br />

43 applies to (data);<br />

Listing V.2 – Définition de <strong>la</strong> sémantique <strong>des</strong> données<br />

La principale propriété de cet ensemble est Data_Format, dont <strong>la</strong> définition est reproduite au<br />

listing V.2 ; elle permet de spécifier <strong>la</strong> sémantique d’un composant de donnée. Les différentes valeurs<br />

possibles correspondent aux types c<strong>la</strong>ssiques définis dans les <strong>la</strong>ngages de programmation<br />

(entiers, flottants, caractères, chaînes de caractères, type énuméré). Certains types sont mentionnés<br />

plusieurs fois sous différentes dénominations, afin d’être plus proche <strong>des</strong> appel<strong>la</strong>tions utilisées<br />

dans les <strong>la</strong>ngages cibles. Par exemple, Integer et int désignent une sémantique d’entier en reprenant<br />

les mots-clés utilisés en Ada et en C.<br />

c○ 2007 Thomas Vergnaud 73

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

Saved successfully!

Ooh no, something went wrong!