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