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.

CHAPITRE VIII<br />

Mise en pratique<br />

DANS LES CHAPITRES PRÉCÉDENTS nous avons présenté un processus de conception basé sur<br />

AADL. Nous avons montré comment exploiter AADL <strong>pour</strong> produire du code et l’exécutif<br />

associé ; nous avons également montré comment exploiter une <strong>des</strong>cription AADL <strong>pour</strong> <strong>la</strong> vérification<br />

formelle <strong>des</strong> applications.<br />

Dans ce chapitre nous appliquons notre méthodologie sur <strong>des</strong> exemples concrets afin d’en<br />

valider les performances. Nous présentons Ocarina, un compi<strong>la</strong>teur <strong>pour</strong> AADL que nous avons<br />

développé <strong>pour</strong> démontrer <strong>la</strong> validité de notre approche. Nous utilisons Ocarina <strong>pour</strong> évaluer les<br />

performances d’exécution d’une application générée à partir d’AADL par rapport à une application<br />

« c<strong>la</strong>ssique ». Nous considérons également <strong>la</strong> modélisation d’un sous-système industriel afin de<br />

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

VIII-1 Ocarina, un compi<strong>la</strong>teur <strong>pour</strong> AADL<br />

Afin de démontrer <strong>la</strong> faisabilité de notre approche, nous avons conçu et réalisé un outil permettant<br />

de manipuler les <strong>des</strong>criptions AADL <strong>pour</strong> générer du code ou <strong>des</strong> réseaux de Petri : Ocarina.<br />

Dans cette section nous décrivons son architecture et son fonctionnement.<br />

VIII-1.1 Principes généraux<br />

L’objectif de nos travaux est <strong>la</strong> génération d’applications vérifiées. Pour ce<strong>la</strong>, nous avons dû<br />

concevoir un outil permettant <strong>la</strong> génération de différentes représentations (essentiellement du code<br />

source et <strong>des</strong> réseaux de Petri) à partir d’une <strong>des</strong>cription AADL.<br />

VIII-1.1.1 Compi<strong>la</strong>tion et méta-modélisation<br />

Le terme compi<strong>la</strong>tion désigne c<strong>la</strong>ssiquement <strong>la</strong> transformation d’un programme décrit selon<br />

une certains syntaxe en une autre représentation. Un compi<strong>la</strong>teur est conçu <strong>pour</strong> reconnaître une<br />

grammaire sans contexte, souvent définie en notation BNF (Backus-Naur Form). De façon simplifiée,<br />

un compi<strong>la</strong>teur lit les fichiers du programme, construit un arbre de syntaxe abstraite qui subit<br />

éventuellement <strong>des</strong> transformations et <strong>des</strong> optimisations, puis génère un fichier exécutable.<br />

La modélisation est une approche plus récente que <strong>la</strong> compi<strong>la</strong>tion. Elle est centrée sur l’arbre<br />

de syntaxe abstraite, appelé modèle, qui est déconnecté de <strong>la</strong> représentation syntaxique. La modélisation<br />

est souvent associée à <strong>la</strong> méta-modélisation et à <strong>la</strong> transformation de modèle. La métamodélisation<br />

consiste à utiliser un modèle <strong>pour</strong> décrire un ensemble de modèles, en permettant de<br />

passer d’un modèle à un autre en appliquant <strong>des</strong> règles de transformation. La méta-modélisation<br />

c○ 2007 Thomas Vergnaud 149

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

Saved successfully!

Ooh no, something went wrong!