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 />
architecturale reste donc très abstraite. Les re<strong>la</strong>tions entre les différents processus se traduisent par<br />
<strong>des</strong> connexions entre les ports <strong>des</strong> processus.<br />
La <strong>des</strong>cription AADL de <strong>la</strong> répartition d’une application se base donc sur <strong>la</strong> déc<strong>la</strong>ration de<br />
composants processus et processeurs banalisés, comme illustré sur le listing IV.1. Afin de simplifier<br />
<strong>la</strong> démarche de modélisation, nous pouvons rassembler dans un paquetage AADL ces déc<strong>la</strong>rations<br />
de composants génériques ; elles seront instanciées et particu<strong>la</strong>risées dans l’imp<strong>la</strong>ntation de<br />
système décrivant l’architecture en elle-même.<br />
1 package GLADE<br />
2 process Partition<br />
3 features<br />
4 communications : in out event data port;<br />
5 end Partition;<br />
6<br />
7 processor Machine<br />
8 end Machine;<br />
9 end GLADE;<br />
Listing IV.1 – Composants AADL génériques<br />
Ces déc<strong>la</strong>rations n’ont rien de contraignant ; elles permettent simplement d’éviter à l’utilisateur<br />
d’avoir à déc<strong>la</strong>rer systématiquement ces composants de base. Elles doivent être instanciées au<br />
niveau de l’imp<strong>la</strong>ntation d’un système global représentant l’architecture complète, comme représenté<br />
sur le listing IV.2 : deux partitions communiquent, chacune s’exécutant sur un processeur ;<br />
les ports <strong>des</strong> processus sont connectés <strong>pour</strong> modéliser les communications entre les deux partitions.<br />
11 system Global<br />
12 end Global;<br />
13<br />
14 system implementation Global.implem<br />
15 subcomponents<br />
16 partition_1 : process GLADE::Partition;<br />
17 partition_2 : process GLADE::Partition;<br />
18 processeur_1 : processor GLADE::Machine;<br />
19 processeur_2 : processor GLADE::Machine;<br />
20 connections<br />
21 event data port partition_1.communications -> partition_2.<br />
communications;<br />
22 properties<br />
23 actual_processor_binding => reference (processeur_1) applies to<br />
partition_1;<br />
24 actual_processor_binding => reference (processeur_2) applies to<br />
partition_2;<br />
25 end Global.implem;<br />
Listing IV.2 – Mise en p<strong>la</strong>ce <strong>des</strong> composants<br />
Nous pouvons noter que le réseau de communication n’est pas modélisé puisque nous nous<br />
limitons à une approche de haut niveau, selon un point de vue essentiellement logiciel. Les informations<br />
telles que <strong>la</strong> bande passante ou <strong>la</strong> <strong>la</strong>tence de transmission <strong>des</strong> réseaux de communication<br />
ne sont pas pris en compte dans cette approche ; les éventuelles informations concernant <strong>la</strong> transmission<br />
<strong>des</strong> données entre les partitions devraient être indiquées au moyen de propriétés associées<br />
54 c○ 2007 Thomas Vergnaud