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.

Chapitre IV – Utilisation d’AADL <strong>pour</strong> décrire une application répartie<br />

à <strong>la</strong> connexion. Les processeurs AADL ne sont utilisés que comme un moyen propre de décrire <strong>la</strong><br />

localisation <strong>des</strong> partitions.<br />

Cette approche de modélisation permet de restreindre AADL à <strong>la</strong> <strong>des</strong>cription du déploiement<br />

<strong>des</strong> différents nœuds de l’application.<br />

IV-1.2 Intégration <strong>des</strong> informations de déploiement<br />

Les composants AADL permettent de décrire <strong>la</strong> topologie de l’architecture répartie. Les informations<br />

telles que l’emp<strong>la</strong>cement <strong>des</strong> nœuds correspondent à <strong>la</strong> spécifications de caractéristiques<br />

associées aux instances <strong>des</strong> composants.<br />

Pour déterminer les informations pertinentes à associer aux constructions AADL, nous nous<br />

sommes inspirés <strong>des</strong> travaux menés autour de l’imp<strong>la</strong>ntation de DSA, GLADE [Pautet et Tardieu,<br />

2005]. GLADE reconnaît un <strong>la</strong>ngage de configuration permettant de décrire les différentes partitions<br />

de l’application, ainsi qu’un certain nombre de paramètres permettant de caractériser les<br />

communications ou le contenu <strong>des</strong> nœuds.<br />

Ces éléments de configuration correspondent à <strong>des</strong> caractérisations <strong>des</strong> entités architecturales<br />

de base (partitions ou liaisons inter-partition) ; elle se traduisent en AADL sous <strong>la</strong> forme de propriétés<br />

associées aux processus, processeurs ou connexions AADL.<br />

La déc<strong>la</strong>ration d’une partition dans GLADE se fait de <strong>la</strong> façon suivante :<br />

1 Partition_1 : Partition;<br />

Cette déc<strong>la</strong>ration se traduit par une construction AADL telle que celle décrite au listing IV.2,<br />

en faisant référence aux déc<strong>la</strong>rations de composants définies au listing IV.1.<br />

Le <strong>la</strong>ngage de GLADE définit un certain nombre d’attributs se rapportant à une partition déjà<br />

déc<strong>la</strong>rée. La syntaxe <strong>pour</strong> <strong>la</strong> spécification de <strong>la</strong> méthode de terminaison <strong>pour</strong> une partition est<br />

définie ainsi :<br />

1 TERMINATION_LITERAL ::= Global_Termination |<br />

2 Local_Termination |<br />

3 Defered_Termination<br />

4<br />

5 REPRESENTATION_CLAUSE ::=<br />

6 for PARTITION_IDENTIFIER’Termination use TERMINATION_LITERAL<br />

Les politiques de terminaison possibles correspondent à <strong>des</strong> mot-clé définis par <strong>la</strong> BNF du<br />

<strong>la</strong>ngage. Leur traduction en AADL correspond naturellement à un type énuméré, représenté au<br />

listing IV.3.<br />

19 Termination_Type : type enumeration (Global_Termination,<br />

20 Local_Termination,<br />

21 Defered_Termination);<br />

Listing IV.3 – Définition <strong>des</strong> valeurs <strong>pour</strong> <strong>la</strong> terminaison <strong>des</strong> partitions<br />

L’application <strong>des</strong> attributs se traduit par l’association <strong>des</strong> propriétés AADL correspondantes<br />

aux composants, comme l’illustre le listing suivant :<br />

141 Termination : G<strong>la</strong>de::Termination_Type<br />

142 => Global_Termination applies to (process);<br />

Listing IV.4 – Terminaison <strong>des</strong> partitions<br />

c○ 2007 Thomas Vergnaud 55

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

Saved successfully!

Ooh no, something went wrong!