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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

VII-1.2.2 Analyse <strong>des</strong> réseaux de Petri<br />

Lorsqu’une transition est activée, les jetons correspondants sont consommés <strong>des</strong> p<strong>la</strong>ces en<br />

entrée, d’autres jetons sont générés dans les p<strong>la</strong>ces de sortie. En se basant sur cette évolution,<br />

l’espace d’états associé au modèle peut être construit. L’étude de l’espace d’états du système<br />

permet d’analyser son comportement et vérifier <strong>la</strong> présence d’états particuliers (par exemple <strong>pour</strong><br />

savoir si une situation donnée peut se produire) ou vérifier <strong>la</strong> re<strong>la</strong>tion causale entre deux états (par<br />

exemple, si un état e1 du système est atteint, est-ce que un autre état e2 sera atteint par <strong>la</strong> suite ?).<br />

Les réseaux de Petri permettent aussi une analyse structurelle. Des propriétés telles que les<br />

invariants – c’est-à-dire les sous-ensembles de p<strong>la</strong>ce <strong>pour</strong> lesquels le nombre de jetons présents<br />

reste constant – ou les symétries sont calculées sur <strong>la</strong> structure du modèle et ne nécessitent pas<br />

<strong>la</strong> construction de l’espace d’états. Ceci permet de vérifier <strong>des</strong> <strong>systèmes</strong> dont l’espace d’états est<br />

infiniment grand [Girault et Valk, 2003].<br />

VII-2 Principes de <strong>la</strong> traduction <strong>des</strong> constructions AADL en réseaux<br />

de Petri<br />

Les réseaux de Petri constituent un formalisme abstrait <strong>pour</strong> décrire les architectures concurrentes<br />

; ils fournissent un support mathématique à leur analyse. La construction d’un réseau de<br />

Petri <strong>pour</strong> modéliser une architecture donnée traduit un choix sémantique <strong>pour</strong> l’interprétation <strong>des</strong><br />

p<strong>la</strong>ces, <strong>des</strong> transitions et <strong>des</strong> jetons. La construction <strong>des</strong> réseaux de Petri dépend en partie <strong>des</strong><br />

propriétés que l’on souhaite vérifier. Dans cette section nous présentons <strong>la</strong> traduction <strong>des</strong> éléments<br />

architecturaux AADL de base.<br />

La modélisation du comportement d’un système (réparti ou non) fait essentiellement intervenir<br />

les éléments logiciels de <strong>la</strong> modélisation. De <strong>la</strong> même façon que <strong>pour</strong> <strong>la</strong> génération de code, <strong>la</strong><br />

traduction d’une architecture AADL en réseau de Petri doit s’effectuer sur l’architecture AADL<br />

instanciée ; nous ne considérons que les instances <strong>des</strong> composants, et pas leurs déc<strong>la</strong>rations. Par<br />

ailleurs, contrairement à <strong>la</strong> génération de code, <strong>la</strong> traduction s’effectue cette fois sur l’architecture<br />

globale : nous considérons tous les nœuds applicatifs en même <strong>temps</strong>, afin de rendre compte <strong>des</strong><br />

interactions entre eux. La traduction en réseaux de Petri n’exploite donc pas <strong>la</strong> <strong>des</strong>cription AADL<br />

de <strong>la</strong> même façon que <strong>la</strong> production d’applications exécutables, étudiée aux chapitres V et VI.<br />

Dans le cadre d’une modélisation en réseaux de Petri, nous nous intéressons principalement<br />

aux composants applicatifs actifs, c’est-à-dire les threads et les sous-programmes, ainsi que les<br />

instances de composants de donnée. Les composants décrivant <strong>la</strong> p<strong>la</strong>te-forme d’exécution sont<br />

ignorés. Les autres composants logiciels (groupes de threads et processus) et les <strong>systèmes</strong> sont<br />

considérés comme de simple conteneurs.<br />

Une <strong>des</strong>cription AADL est constituée de composants qui acceptent <strong>des</strong> données en entrée et en<br />

produisent d’autres en sortie. Il en découle <strong>la</strong> sémantique suivante <strong>pour</strong> <strong>la</strong> construction <strong>des</strong> réseaux<br />

de Petri :<br />

Règle VII.1 (interprétation <strong>des</strong> p<strong>la</strong>ces et <strong>des</strong> transitions)<br />

Nous interprétons les éléments d’un réseau de Petri ainsi :<br />

– les jetons correspondent aux flux de données et d’exécution circu<strong>la</strong>nt à travers l’architecture<br />

;<br />

– les transitions modélisent les composants actifs, qui consomment <strong>des</strong> données et en<br />

produisent d’autres, ainsi que les connexions AADL ;<br />

– les p<strong>la</strong>ces symbolisent les entités permettant de stocker <strong>des</strong> données.<br />

124 c○ 2007 Thomas Vergnaud

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

Saved successfully!

Ooh no, something went wrong!