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 />
créé. Dans le cadre de nos travaux, nous nous focalisons sur les réseaux de Petri. En fonction <strong>des</strong><br />
résultats <strong>des</strong> analyses formelles, cette étape peut conduire à un raffinement de <strong>la</strong> <strong>des</strong>cription de<br />
l’application afin de préciser <strong>la</strong> structure de l’application.<br />
Tout au long du processus de conception, il doit être possible d’exploiter <strong>la</strong> <strong>des</strong>cription de l’application<br />
selon différents aspects ; ceci permet de s’assurer de <strong>la</strong> validité de l’architecture. Nous<br />
décrivons <strong>des</strong> règles de génération <strong>pour</strong> différents <strong>la</strong>ngages de programmation, plus particulièrement<br />
Ada, C et Java. Nous présentons également <strong>des</strong> règles de traduction <strong>pour</strong> <strong>la</strong> production d’un<br />
réseau de Petri, de sorte qu’il soit possible d’analyser certaines propriétés comportementales. Le<br />
système ainsi obtenu peut être testé afin de s’assurer du respect <strong>des</strong> contraintes non fonctionnelles<br />
spécifiées dans <strong>la</strong> modélisation initiale.<br />
I-3 Organisation de <strong>la</strong> thèse<br />
Notre thèse est présentée comme suit. Dans le chapitre II, nous étudions d’abord différentes<br />
approches utilisées <strong>pour</strong> <strong>la</strong> configuration <strong>des</strong> intergiciels. La configuration <strong>des</strong> intergiciels peut être<br />
abordée sous différents aspects, qui peuvent éventuellement être complémentaires. Nous montrons<br />
comment les <strong>la</strong>ngages de <strong>des</strong>cription d’architecture constituent une bonne solution à notre problématique.<br />
Le chapitre III conclut notre état de l’art par une étude détaillée du <strong>la</strong>ngage AADL. Nous<br />
montrons comment ce <strong>la</strong>ngage peut être exploité <strong>pour</strong> décrire précisément l’organisation d’une<br />
application ; une telle précision de <strong>des</strong>cription permet d’extraire toutes les informations nécessaires<br />
à <strong>la</strong> mise en p<strong>la</strong>ce d’un intergiciel adapté. Nous présentons également les évolutions de<br />
syntaxe que nous avons proposées <strong>pour</strong> faciliter <strong>la</strong> <strong>des</strong>cription de l’assemb<strong>la</strong>ge <strong>des</strong> applications et<br />
les communications.<br />
Le chapitre IV présente <strong>la</strong> façon dont nous exploitons AADL dans le cadre de nos travaux.<br />
Nous étudions tout d’abord <strong>la</strong> pertinence d’AADL comme <strong>la</strong>ngage de configuration <strong>pour</strong> décrire<br />
efficacement une application et son déploiement. Nous montrons ainsi comment AADL peut être<br />
intégré au sein d’outils existants <strong>pour</strong> fournir un <strong>la</strong>ngage de <strong>des</strong>cription portable entre différents<br />
outils.<br />
Nous montrons ensuite comment mettre en p<strong>la</strong>ce un processus de conception complet <strong>pour</strong><br />
<strong>la</strong> vérification et <strong>la</strong> production automatique d’une application et de l’intergiciel associé. La mise<br />
en p<strong>la</strong>ce d’un tel processus implique l’identification <strong>des</strong> constructions architecturales décrites en<br />
AADL et <strong>la</strong> spécification d’un exécutif. Nous décrivons un ensemble de directives architecturales<br />
permettant de guider l’utilisateur dans <strong>la</strong> <strong>des</strong>cription de l’application et nous donnons leur signification<br />
en terme de spécification comportementale.<br />
Les chapitres V et VI détaillent <strong>la</strong> façon dont nous traduisons une <strong>des</strong>cription AADL en une<br />
application exécutable. Nous y exploitons les concepts introduits dans le chapitre IV <strong>pour</strong> traduire<br />
les constructions AADL en <strong>la</strong>ngage de programmation et configurer l’intergiciel correspondant.<br />
Nous nous basons <strong>pour</strong> ce<strong>la</strong> sur l’architecture d’intergiciel schizophrène et son imp<strong>la</strong>ntation de<br />
référence, PolyORB.<br />
Le chapitre VII présente finalement l’exploitation que nous pouvons faire d’une <strong>des</strong>cription<br />
AADL <strong>pour</strong> vérifier formellement l’architecture correspondante. Nous utilisons le model checking<br />
<strong>pour</strong> valider <strong>la</strong> structure de l’application vis-à-vis <strong>des</strong> flux d’exécution. Les constructions formelles<br />
que nous déduisons de <strong>la</strong> <strong>des</strong>cription AADL se basent sur les mêmes spécifications d’exécutif<br />
que celles que nous avons définies <strong>pour</strong> <strong>la</strong> génération de code. Nous pouvons ainsi analyser le<br />
comportement de l’application qui sera générée.<br />
Le chapitre VIII constitue une mise en application de notre méthodologie. Nous présentons<br />
4 c○ 2007 Thomas Vergnaud