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.

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

Les threads AADL sont les éléments actifs de l’architecture. Pour rendre compte de cet aspect,<br />

leur traduction en réseau de Petri fait apparaître un jeton représentant le contrôle d’exécution du<br />

thread. Ce jeton de contrôle constitue le marquage initial d’une p<strong>la</strong>ce associée au thread. La modélisation<br />

du circuit du jeton de contrôle dépend de <strong>la</strong> politique de déclenchement du thread. Les<br />

threads périodiques, apériodiques et sporadiques s’exécutent en boucle. Ils consomment donc leur<br />

jeton de contrôle et le restituent dans <strong>la</strong> p<strong>la</strong>ce initiale (figure VII.2(b)). Ces trois types de threads<br />

se modélisent de <strong>la</strong> même façon alors qu’ils correspondent à <strong>des</strong> politiques de déclenchement différentes,<br />

comme nous l’avons étudié au chapitre VI. Ceci est dû au fait que notre modélisation en<br />

réseau de Petri ne tient pas compte <strong>des</strong> propriétés temporelles de l’architecture : nous ignorons<br />

donc les situations dans lesquelles un thread devrait se déclencher alors que les données entrantes<br />

ne sont pas disponibles.<br />

Les threads s’exécutant en tâche de fond ne bouclent pas. Leur traduction en réseau de Petri ne<br />

doit donc pas restituer le jeton de contrôle, qui est consommé définitivement (figure VII.2(c)). Pour<br />

<strong>des</strong> raisons de régu<strong>la</strong>rité dans <strong>la</strong> représentation en réseau de Petri, tous les threads ont une structure<br />

semb<strong>la</strong>ble ; <strong>la</strong> transition de retour <strong>des</strong> threads périodiques trouvera par ailleurs sa justification dans<br />

<strong>la</strong> section VII-5.3.1.<br />

La traduction d’une <strong>des</strong>cription AADL en réseau de Petri a <strong>pour</strong> objet l’analyse <strong>des</strong> flux de<br />

données et d’exécution. Par conséquent, seuls les composants ayant un rôle dans ces flux doivent<br />

apparaître.<br />

Règle VII.7 (Traduction <strong>des</strong> processus et <strong>des</strong> <strong>systèmes</strong>)<br />

Un processus ou un système contenant <strong>des</strong> sous-composants n’est pas traduit en réseau<br />

de Petri. Seuls ses sous-composants sont transcrits dans le réseau de Petri. À l’inverse, un<br />

processus ou un système dont l’imp<strong>la</strong>ntation n’est pas spécifiée apparaît dans le réseau<br />

de Petri, assimilé à un thread.<br />

Le réseau de Petri correspondant à une architecture AADL de haut niveau est <strong>la</strong> mise à p<strong>la</strong>t<br />

de toutes les instances <strong>des</strong> threads, qui représentent les entités <strong>réel</strong>lement impliquée dans les flux<br />

d’exécution et de données.<br />

Les processus et les <strong>systèmes</strong> sans sous-composants sont traduits dans le réseau de Petri. Dans<br />

<strong>la</strong> mesure où aucune information n’est disponible quant à leur structure interne, nous pouvons<br />

considérer qu’ils contiennent un thread ; nous les assimilons donc à ce thread supposé afin de les<br />

intégrer dans <strong>la</strong> modélisation du flux d’exécution. De tels <strong>systèmes</strong> ou processus sont donc traduit<br />

par un sous-réseau de Petri tel que représenté sur <strong>la</strong> figure VII.2(b).<br />

VII-4.2 Traduction <strong>des</strong> connexions<br />

Les connexions AADL se traduisent de différentes façon, selon leur nature. Nous traduisons les<br />

connexions AADL représentant une transmission de données par <strong>des</strong> transitions. Contrairement<br />

aux transitions <strong>des</strong> composants, ces transitions ne correspondent pas à une transformation <strong>des</strong><br />

données ; elles permettent simplement d’exprimer <strong>la</strong> coordination de <strong>la</strong> transmission <strong>des</strong> données.<br />

Par rapport à ce que nous avons indiqué en section VII-4.1.2, nous considérons <strong>des</strong> connexions<br />

directes entre les différentes entités de haut niveau de plus fine granu<strong>la</strong>rité – c’est-à-dire les threads<br />

AADL ou les thread implicites correspondant aux processus ou aux <strong>systèmes</strong>. Comme les différents<br />

composants englobants ne sont pas traduits par les construction en réseau de Petri, les<br />

différents ports <strong>des</strong> composants sont considérés comme étant directement reliés par une seule<br />

connexion, au lieu d’une suite de connexions point-à-point comme c’est le cas dans les <strong>des</strong>criptions<br />

AADL.<br />

128 c○ 2007 Thomas Vergnaud

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

Saved successfully!

Ooh no, something went wrong!