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 VI – Construction et configuration de l’interface avec l’intergiciel d’exécution<br />

VI-3 Seconde phase : utilisation d’un intergiciel de bas niveau<br />

Dans <strong>la</strong> section précédente nous avons décrit <strong>la</strong> mise en p<strong>la</strong>ce d’un exécutif de haut niveau <strong>pour</strong><br />

le première phase de notre processus de conception. Cet exécutif doit reposer sur un intergiciel de<br />

communication configurable et capable de prendre directement en charge les différents modèles de<br />

répartition décrits en AADL. Cette approche permet de générer facilement une application répartie<br />

tout en permettant <strong>la</strong> configuration de l’exécutif.<br />

La structure d’un tel intergiciel de communication est en général complexe ; l’analyse de ses<br />

dimensions spatiales et temporelles peut donc se révéler délicate. Nous avons donc intérêt à réduire<br />

sa taille au strict minimum. Ce<strong>la</strong> constitue <strong>la</strong> seconde étape de notre processus de conception, que<br />

nous avons décrite en section IV-3, page 59.<br />

Dans cette étape, nous considérons que <strong>la</strong> plupart <strong>des</strong> éléments de l’exécutif peuvent être<br />

intégrés à l’application, dont ils constituent alors <strong>la</strong> partie basse. Les fonctionnalités de communication<br />

fournies par l’exécutif AADL sont alors être elles-mêmes modélisées en AADL. Ainsi,<br />

l’exécutif se retrouve être réduit à un ensemble minimal de composants qui gèrent l’ordonnancement<br />

<strong>des</strong> threads système et prennent en charge les opérations de communication de base (telle<br />

que <strong>la</strong> gestion <strong>des</strong> sockets si nous utilisons un réseau de type Internet).<br />

VI-3.1 Expansion <strong>des</strong> threads AADL<br />

Nous utilisons cette fois une bibliothèque de communication très primitive ; elle ne peut notamment<br />

pas gérer les appels de sous-programme distant, ni même les messages avec file d’attente.<br />

La mise en p<strong>la</strong>ce de tous ces mécanismes seront donc décrits par <strong>des</strong> composants AADL.<br />

Il en résulte que <strong>la</strong> <strong>des</strong>cription <strong>des</strong> threads AADL telle qu’elle a été faite dans <strong>la</strong> première phase<br />

de modélisation ne peut pas être conservée ; les différents éléments d’interface correspondent en<br />

effet à <strong>des</strong> concepts de trop haut niveau, qui ne sont pas pris en charge par un intergiciel de bas<br />

niveau.<br />

L’utilisation d’un exécutif bas niveau implique donc <strong>la</strong> transformation <strong>des</strong> threads AADL de<br />

l’application ; cette transformation vise à supprimer les éléments d’interface <strong>des</strong> threads et à faire<br />

apparaître les composants AADL correspondant à <strong>la</strong> modélisation de l’intergiciel de communication.<br />

Les threads AADL ainsi transformés symbolisent l’exécutif de bas niveau, c’est-à-dire<br />

l’ordonnanceur. Ce processus de transformation est illustré sur <strong>la</strong> figure VI.3.<br />

sous-prog.<br />

sous-prog.<br />

processus<br />

thread<br />

tampons<br />

sous-prog.<br />

FIG. VI.3 – Expansion du threads AADL <strong>pour</strong> décrire l’intergiciel de communication en AADL<br />

Le fait de supprimer les éléments d’interface <strong>des</strong> threads AADL implique que les communications<br />

entre les nœuds de l’application ne sont plus modélisées. Par conséquent, nous n’avons plus<br />

c○ 2007 Thomas Vergnaud 107

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

Saved successfully!

Ooh no, something went wrong!