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 />
aspects, notamment le choix du <strong>la</strong>ngage à utiliser (<strong>pour</strong> DSA et RMI, par exemple) ou <strong>la</strong> façon<br />
d’organiser l’application (RPC, CORBA). Les approches de plus haut niveau telles que Fractal<br />
permettent dans une certaine mesure de faire abstraction de l’exécutif utilisé, mais elles guident<br />
néanmoins <strong>la</strong> conception de l’application [Hnětykna, 2005] – qui sera une application conçue en<br />
appliquant l’approche Fractal.<br />
Contrairement à <strong>des</strong> solutions comme RMI ou DSA, les approches orientées composant reposent<br />
sur l’utilisation d’un <strong>la</strong>ngage <strong>pour</strong> décrire les applications comme un assemb<strong>la</strong>ge d’éléments<br />
éventuellement recomposables. Bien que ce ne soit pas le cas dans les métho<strong>des</strong> que nous<br />
avons décrites, ces composants <strong>pour</strong>raient transporter, en plus de <strong>la</strong> <strong>des</strong>cription <strong>des</strong> interactions<br />
qu’ils prennent en charge, <strong>des</strong> caractéristiques non fonctionnelles telles que <strong>des</strong> <strong>temps</strong> d’exécution.<br />
Ces approches mettent en lumière l’intérêt de décrire les applications comme un assemb<strong>la</strong>ge<br />
d’éléments ; une telle démarche de modélisation permet de confronter <strong>la</strong> construction <strong>des</strong> applications<br />
à <strong>des</strong> spécifications plus ou moins formelles, ce qui peut faciliter l’analyse de leur structure<br />
et de leur exécution.<br />
Les activités de l’OMG, outre CORBA, ont conduit à définir le <strong>la</strong>ngage UML (Unified Modeling<br />
Language) afin de faciliter <strong>la</strong> <strong>des</strong>cription <strong>des</strong> applications. UML était initialement conçu<br />
<strong>pour</strong> décrire l’organisation de programmes orientés objet ; il a été généralisé, de façon à permettre<br />
<strong>la</strong> <strong>des</strong>cription <strong>des</strong> différents aspects d’une application – tout en conservant l’approche objet dans<br />
une <strong>la</strong>rge mesure. UML sert de <strong>la</strong>ngage support à un processus de conception d’application appelé<br />
MDA (Model Driven Architecture). Nous donnons ici un aperçu <strong>des</strong> principes de MDA.<br />
II-4.1 Présentation d’UML<br />
Dans sa version 2.0, UML définit un ensemble de treize syntaxes, chacune correspondant à un<br />
type de diagramme : diagramme de c<strong>la</strong>sses, de paquetages, de structures composites, de composants,<br />
de déploiement, de cas d’utilisation, d’états, d’activités et d’interactions. Ces diagrammes<br />
définissent <strong>des</strong> notations standard permettant de décrire tous les aspects de l’application à modéliser<br />
– tant architecturaux que comportementaux. Dans le cadre de ce chapitre, nous nous intéressons<br />
essentiellement aux diagrammes architecturaux.<br />
Les diagrammes de c<strong>la</strong>sse sont les plus connus. Ils permettent de décrire l’organisation <strong>des</strong><br />
éléments de l’application, et sont <strong>la</strong>rgement inspirés <strong>des</strong> structures que l’on retrouve dans les <strong>la</strong>ngages<br />
de programmation orientée objet. Les diagrammes de paquetages permettent d’organiser les<br />
c<strong>la</strong>sses en sous-ensembles logiques, et ainsi de structurer les éléments applicatifs. Les diagrammes<br />
d’objets décrivent les instances <strong>des</strong> c<strong>la</strong>sses. Ils permettent donc de figurer l’état de l’application à<br />
un instant donné.<br />
Les diagrammes de composants se situent à un niveau supérieur : ils permettent de représenter<br />
l’architecture comme un ensemble d’éléments proposant <strong>des</strong> interfaces qu’il est possible de<br />
connecter. Un composant peut ainsi requérir une connexion avec un autre élément fournissant une<br />
interface adéquate ; cette notion est absente <strong>des</strong> diagrammes de c<strong>la</strong>sses.<br />
Les diagrammes de structures composites permettent de décrire les re<strong>la</strong>tions entre les différentes<br />
entités qui ont pu par exemple être définies dans les diagrammes de composants. Les<br />
diagrammes de structures composites permettent donc typiquement de représenter les connecteurs<br />
et les interfaces (c’est-à-dire les ports) ; ils permettent de décrire comment les différentes entités<br />
architecturales interagissent.<br />
Les diagrammes de déploiement permettent de décrire <strong>la</strong> façon dont les éléments de l’application<br />
doivent être installés. Ils permettent notamment de représenter les éléments matériels sur<br />
lesquels les éléments applicatifs vont s’exécuter.<br />
18 c○ 2007 Thomas Vergnaud