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

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

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

Saved successfully!

Ooh no, something went wrong!