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>des</strong>criptions<br />
comportementales<br />
<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 />
référencent<br />
appellent<br />
sous-programmes<br />
AADL<br />
utilisent<br />
procédures<br />
traduction<br />
types de<br />
donnée<br />
code de l'enveloppe<br />
FIG. V.1 – Génération de l’enveloppe applicative<br />
données<br />
AADL<br />
elle demeure va<strong>la</strong>ble <strong>pour</strong> les deux étapes du processus de conception que nous avons décrit en<br />
section IV-3.<br />
V-2 Traduction <strong>des</strong> composants AADL applicatifs en <strong>la</strong>ngage de programmation<br />
Nous nous focalisons sur <strong>la</strong> génération de code <strong>pour</strong> les <strong>la</strong>ngages impératifs tels que C, Ada<br />
ou Java. Cette section expose d’abord les règles de traduction depuis AADL vers un <strong>la</strong>ngage de<br />
programmation impérative quelconque, puis indique les traductions précises <strong>pour</strong> <strong>des</strong> <strong>la</strong>ngages en<br />
particulier. Nous choisissons Ada et C car ces <strong>la</strong>ngages sont très utilisés dans <strong>la</strong> communauté <strong>des</strong><br />
<strong>systèmes</strong> <strong>temps</strong>-<strong>réel</strong> <strong>embarqués</strong>. Par ailleurs, le fait que <strong>la</strong> norme Ada définit l’interopérabilité<br />
entre les deux <strong>la</strong>ngages les rend intéressant <strong>pour</strong> illustrer l’utilisation d’AADL <strong>pour</strong> construire<br />
<strong>des</strong> applications dont les composants sont imp<strong>la</strong>ntés dans <strong>des</strong> <strong>la</strong>ngages différents. Nous détaillons<br />
également une traduction vers le <strong>la</strong>ngage Java. De nombreux travaux sont en effet menés <strong>pour</strong><br />
utiliser Java dans <strong>des</strong> <strong>systèmes</strong> <strong>embarqués</strong>.<br />
V-2.1 Organisation du processus de traduction<br />
La génération d’une application à partir d’une <strong>des</strong>cription AADL consiste à traduire les constructions<br />
AADL que nous avons identifiées à <strong>la</strong> section précédente en constructions syntaxiques compi<strong>la</strong>bles.<br />
Nous nous intéressons à <strong>la</strong> traduction vers <strong>des</strong> <strong>la</strong>ngages de programmation impératifs –<br />
par exemple C.<br />
Quel que soit le <strong>la</strong>ngage de programmation impérative ciblé, notre objectif est de générer<br />
un ensemble de fichiers nécessaires à <strong>la</strong> compi<strong>la</strong>tion de programmes exécutables. Nous devons<br />
générer un programme par nœud de l’application répartie. Pour ce<strong>la</strong>, nous considérons chaque<br />
72 c○ 2007 Thomas Vergnaud