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 />
VI-1.1 Sémantique <strong>des</strong> threads AADL<br />
L’intergiciel d’exécution est symbolisé par les threads AADL, et doit donc fournir les fonctionnalités<br />
correspondant à <strong>la</strong> sémantique de ces composants. Ces fonctionnalités correspondent à<br />
deux gran<strong>des</strong> catégories de services :<br />
– <strong>la</strong> gestion <strong>des</strong> fils d’exécution ;<br />
– <strong>la</strong> gestion <strong>des</strong> communications.<br />
La gestion de l’exécution <strong>des</strong> composants peut se reposer sur une bibliothèque de threads<br />
<strong>systèmes</strong> fournie par l’exécutif. Nous considérons que chaque thread AADL représente une entité<br />
autonome gérée par l’exécutif. Cette correspondance permet de transposer les constructions<br />
AADL en terme de ressources système effectivement nécessaires.<br />
VI-1.1.1 Contrôle de l’application<br />
Le standard AADL définit quatre politiques de déclenchement <strong>pour</strong> les threads, spécifiées par<br />
<strong>la</strong> propriété AADL standard Dispatch_Protocol :<br />
– périodique ;<br />
– apériodique ;<br />
– sporadique ;<br />
– tâche de fond.<br />
Un thread périodique est déclenché régulièrement, selon <strong>la</strong> période indiquée par <strong>la</strong> propriété<br />
standard Period. Un thread apériodique est déclenché par les données arrivant sur un port de<br />
donnée/événement déclencheur ou l’appel de l’un <strong>des</strong> sous-programmes dont il fournit l’accès.<br />
Un thread sporadique se comporte comme un thread apériodique, mais ne peut se déclencher<br />
avant le dé<strong>la</strong>i spécifié par <strong>la</strong> propriété Period. Enfin, un thread en tâche de fond n’est déclenché<br />
qu’au <strong>la</strong>ncement du système.<br />
VI-1.1.2 Prise en charge <strong>des</strong> communications<br />
Les communications sont typiquement assurées par un intergiciel de communication configurable.<br />
En section IV-5, page 65, nous avons défini <strong>des</strong> patrons architecturaux <strong>pour</strong> représenter<br />
différents modèles de répartition, représentés par les interfaces <strong>des</strong> threads AADL : le passage de<br />
message, l’appel de sous-programme distant et de métho<strong>des</strong> d’objets <strong>répartis</strong>.<br />
La bibliothèque de communication fournie par l’exécutif doit être capable de prendre en charge<br />
ces trois paradigmes. Pour ce<strong>la</strong>, nous interprétons les éléments d’interface comme <strong>des</strong> requêtes.<br />
Spécification VI.1 (Sémantique <strong>des</strong> éléments d’interface)<br />
Chaque élément d’interface d’un thread AADL est traduit par une requête au niveau de<br />
l’intergiciel. Les données associées à l’élément d’interface constituent les paramètres de<br />
<strong>la</strong> requête.<br />
La structure <strong>des</strong> requêtes est <strong>la</strong> suivante :<br />
– les ports sont traduits par une requête à sens unique (correspondant à un message, ou une<br />
interface oneway CORBA) dont l’unique paramètre correspond à <strong>la</strong> donnée associée au<br />
port ;<br />
– les sous-programmes fournis en interface correspondent à une requête/réponse dont les paramètres<br />
correspondent aux paramètres du sous-programme (noms et types).<br />
100 c○ 2007 Thomas Vergnaud