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.

<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

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

Saved successfully!

Ooh no, something went wrong!