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 />
Dans les sections suivantes, nous étudions différentes solutions <strong>pour</strong> <strong>la</strong> <strong>des</strong>cription d’une application<br />
répartie. Nous montrons l’évolution de ces solutions, depuis les <strong>la</strong>ngages de <strong>des</strong>cription<br />
d’interface, centrés sur les intergiciels, jusqu’aux <strong>la</strong>ngages de modélisation, centrés sur les applications.<br />
Nous évaluons l’efficacité de chaque approches vis-à-vis <strong>des</strong> critères que nous avons<br />
énoncés.<br />
II-2 Approches centrées sur l’intergiciel<br />
Pour <strong>la</strong> mise en p<strong>la</strong>ce d’une application répartie, de nombreuses solutions consistent à accorder<br />
à l’intergiciel une p<strong>la</strong>ce centrale. La couche de communication influe alors sur <strong>la</strong> façon dont<br />
l’application est construite.<br />
II-2.1 Bibliothèque de communication<br />
Nous pouvons considérer que l’un <strong>des</strong> intergiciels les plus simples est l’interface socket, permettant<br />
à un programme d’utiliser une pile de protocoles de type Internet. Une bibliothèque de<br />
sockets fournit une interface permettant d’effectuer <strong>des</strong> opérations primitives, telles que l’écoute<br />
ou l’envoi de messages (paquets), le calcul de l’adresse IP d’un nœud à partir de son nom (DNS),<br />
etc. Les sockets se caractérisent notamment par le fait que toutes les opérations évoluées – notamment<br />
<strong>la</strong> transmission d’un type de donnée déterminé – sont <strong>la</strong>issées au concepteur de l’application.<br />
L’application doit s’adapter à l’interface <strong>des</strong> sockets en ce qui concerne le format <strong>des</strong> données<br />
à transférer ; notamment, l’utilisateur doit prendre en compte les éventuelles différences de<br />
représentation <strong>des</strong> différents nœuds. La localisation <strong>des</strong> nœuds est également <strong>la</strong>issée à l’initiative<br />
de l’application, même si un service d’annuaire est en général disponible (DNS, Domain Name<br />
Service). De part son caractère minimal, une socket ne fournit aucune capacité d’adaptation ; là<br />
encore, l’application effectue toutes les opérations de communication et d’exécution.<br />
Bien que primitive, cette approche permet d’obtenir <strong>des</strong> très bonnes performances à l’exécution,<br />
dans <strong>la</strong> mesure où l’utilisateur possède un contrôle quasi-total sur le déroulement <strong>des</strong> communications.<br />
Ce principe est d’ailleurs repris dans certains intergiciels plus évolués, tels que MPI<br />
(Message Passing Interface).<br />
MPI [MPI, 2003] définit une interface d’intergiciel <strong>pour</strong> le calcul parallèle. Il s’agit donc d’une<br />
spécification d’intergiciel <strong>pour</strong> un usage hautement spécialisé, où <strong>la</strong> rapidité d’exécution est primordiale<br />
[Graham et al., 2005]. Pour ce<strong>la</strong>, une imp<strong>la</strong>ntation de MPI fournit un certain nombre de<br />
primitives <strong>pour</strong> <strong>la</strong> transmission de types de données prédéfinis. La mise en p<strong>la</strong>ce de mécanismes<br />
<strong>pour</strong> <strong>la</strong> transmission de types de données personnalisés est <strong>la</strong>issée aux soin de l’application ellemême.<br />
Du fait de son champ d’application extrêmement spécialisé, une imp<strong>la</strong>ntation de MPI est<br />
systématiquement optimisée <strong>pour</strong> <strong>la</strong> rapidité de transmission, et ne fournit pas de service supplémentaire<br />
tel qu’une gestion d’ordonnancement, etc. La localisation <strong>des</strong> nœuds est prise en charge<br />
par l’intergiciel, en général sous forme de fichier de configuration décrivant l’emp<strong>la</strong>cement <strong>des</strong><br />
différents nœuds sur le réseau ; <strong>la</strong> bibliothèque MPI s’occupe alors de déployer les nœuds sur les<br />
machines indiquées.<br />
II-2.2 Adaptation de l’intergiciel aux interfaces de l’application<br />
L’utilisation d’un intergiciel se limitant à une bibliothèque de communication figée permet<br />
d’obtenir de très bonnes performances en terme d’exécution. Cependant, ces avantages s’accompagnent<br />
d’un coût très important au niveau de <strong>la</strong> conception de l’application. Celle-ci doit en<br />
8 c○ 2007 Thomas Vergnaud