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

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

Saved successfully!

Ooh no, something went wrong!