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.

VIII-3.2 Exemple de taille <strong>réel</strong>le<br />

Chapitre VIII – Mise en pratique<br />

La section précédente a permis d’évaluer le nombre d’état générés <strong>pour</strong> différents assemb<strong>la</strong>ges<br />

de composants. Nous nous intéressons maintenant à une modélisation de taille <strong>réel</strong>le afin d’évaluer<br />

<strong>la</strong> viabilité de <strong>la</strong> transformation en réseaux de Petri.<br />

AADL étant un <strong>la</strong>ngage encore assez récent, peu de <strong>des</strong>criptions d’architectures sont accessibles<br />

publiquement. Par ailleurs, <strong>la</strong> plupart d’entre elles ne prennent pas en considération <strong>la</strong> problématique<br />

de <strong>la</strong> génération automatique d’application ; elles représentent <strong>des</strong> constructions qui ne<br />

correspondent pas aux spécifications d’exécutif que nous avons faites au chapitre IV. Les exemples<br />

<strong>réel</strong>lement exploitables sont donc à l’heure actuelle peu nombreux.<br />

VIII-3.2.1 Description de l’architecture<br />

Nous prenons comme objet d’étude <strong>la</strong> modélisation d’un système d’affichage d’une cabine de<br />

pilotage d’avion [Statezni, 2004]. Cette architecture est composée de 90 threads s’exécutant sur 13<br />

processeurs. La modélisation AADL qui en a été faite avait <strong>pour</strong> objectif de démontrer <strong>la</strong> viabilité<br />

d’AADL comme <strong>la</strong>ngage de <strong>des</strong>cription. Cette modélisation fait 21000 lignes ; elle constitue donc<br />

un exemple significatif en terme de taille d’architecture.<br />

Il s’agit d’une modélisation de haut niveau, ne comprenant que <strong>la</strong> <strong>des</strong>cription du déploiement<br />

<strong>des</strong> threads AADL sur les processus. La <strong>des</strong>cription <strong>des</strong> composants applicatifs n’est pas abordée ;<br />

les différentes propriétés dont nous avons présenté <strong>la</strong> vérification en section VII-7 ne peuvent donc<br />

pas être vérifiées, puisque <strong>la</strong> <strong>des</strong>cription architecturale n’est pas assez précise.<br />

VIII-3.2.2 Expérimentations<br />

Nous exploitons <strong>la</strong> <strong>des</strong>cription AADL <strong>pour</strong> générer le réseau de Petri correspondant aux flux<br />

d’exécution entre les différents threads de l’architecture. L’application de nos règles de traduction<br />

produit un réseau constitué de 1564 p<strong>la</strong>ces, 572 transitions et 2576 arcs. Il fait intervenir 166<br />

variables de contrôle ; ces variables découlent du fait que certains threads possèdent de nombreux<br />

ports d’entrée. Ce grand nombre de variables entraînent <strong>la</strong> génération d’un trop grand nombre<br />

d’états, ce qui sature les outils actuels. Il est donc impossible d’analyser une telle architecture<br />

avec les techniques actuelles.<br />

Pour pouvoir analyser l’architecture, il est nécessaire de <strong>la</strong> réduire, tout en préservant sa sémantique<br />

vis-à-vis de <strong>la</strong> transformation en réseau de Petri. Nous nous appuyons <strong>pour</strong> ce<strong>la</strong> sur<br />

<strong>la</strong> sémantique d’exécution que nous avons associée aux threads AADL : un thread lit toutes ses<br />

données d’entrée, effectue un traitement puis émet toutes ses données de sortie.<br />

L’architecture que nous étudions se caractérise par <strong>la</strong> présence de threads possédant de nombreux<br />

ports d’entrée et de sortie. Nous exploitons cette caractéristique, dans le cadre de <strong>la</strong> sémantique<br />

d’exécutif que nous avons définie, <strong>pour</strong> réduire <strong>la</strong> taille du réseau généré.<br />

Première réduction<br />

En section VII-3, page 125, nous avons établi que tous les types de données étaient confondus<br />

lors de <strong>la</strong> transformation en réseau de Petri. Tous les ports <strong>des</strong> threads sont donc considérés comme<br />

étant associés à un unique composant de donnée.<br />

Par ailleurs, selon <strong>la</strong> règle IV.6, énoncée en page 69, un thread AADL émet toutes les données<br />

sortantes en même <strong>temps</strong>, à <strong>la</strong> fin de son exécution.<br />

c○ 2007 Thomas Vergnaud 167

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

Saved successfully!

Ooh no, something went wrong!