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

Elle permet de regrouper les informations de localisation. Les connexions AADL représentent<br />

les canaux de communication entre les partitions.<br />

La syntaxe AADL permet de séparer c<strong>la</strong>irement d’une part l’imp<strong>la</strong>ntation <strong>des</strong> nœuds applicatifs<br />

et d’autre part <strong>la</strong> topologie de l’application, ce qui facilite le redéploiement d’une application<br />

répartie ainsi décrite. Le listing suivant illustre un déploiement sur deux machines :<br />

1 system implementation Global.implem<br />

2 subcomponents<br />

3 partition_1 : process Partition;<br />

4 partition_2 : process Partition;<br />

5 partition_3 : process Partition;<br />

6 processeur_1 : processor Machine {GLADE::Localisation =><br />

"137.194.160.84"};<br />

7 processeur_2 : processor Machine {GLADE::Localisation =><br />

"137.194.192.52"};<br />

8 connections<br />

9 event data port partition_1.communications -> partition_2.<br />

communications;<br />

10 event data port partition_2.communications -> partition_3.<br />

communications {GLADE::Filter => "ZIP"};<br />

11 event data port partition_3.communications -> partition_1.<br />

communications {GLADE::Filter => "ZIP"};<br />

12 properties<br />

13 actual_processor_binding => reference (processeur_1) applies to<br />

partition_1;<br />

14 actual_processor_binding => reference (processeur_2) applies to<br />

partition_2;<br />

15 actual_processor_binding => reference (processeur_1) applies to<br />

partition_3;<br />

16 end Global.implem;<br />

Listing IV.8 – Autre déploiement <strong>des</strong> nœuds en AADL<br />

Dans cet exemple nous indiquons que certains canaux de communications doivent être compressés.<br />

Ces spécifications s’intègrent de façon naturelle à <strong>la</strong> <strong>des</strong>cription du déploiement ; <strong>la</strong> syntaxe<br />

c<strong>la</strong>ssique de GLADE les exprime par une déc<strong>la</strong>ration complémentaire :<br />

1 for Partition_1’Host use "137.194.160.84";<br />

2 for Partition_2’Host use "137.194.192.52";<br />

3 for Partition_3’Host use "137.194.160.84";<br />

4 Canal1_2 : Channel := (Partition1, Partition2);<br />

5 Canal2_3 : Channel := (Partition2, Partition3);<br />

6 Canal3_1 : Channel := (Partition3, Partition1);<br />

7 for Canal2_3’Filter use "ZIP";<br />

8 for Canal3_1’Filter use "ZIP";<br />

IV-1.3 Discussion<br />

Listing IV.9 – Autre déploiement <strong>des</strong> nœuds avec Gnatdist<br />

L’utilisation d’AADL <strong>pour</strong> modéliser <strong>la</strong> répartition d’application fait intervenir à <strong>la</strong> fois <strong>des</strong><br />

constructions architecturales (c’est-à-dire <strong>des</strong> instances de composant) et un ensemble de propriétés<br />

AADL permettant de décrire les conditions de déploiement. L’imp<strong>la</strong>ntation <strong>des</strong> différents<br />

c○ 2007 Thomas Vergnaud 57

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

Saved successfully!

Ooh no, something went wrong!