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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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

application squelettes<br />

intergiciel serveur<br />

<strong>des</strong>cription <strong>des</strong><br />

interfaces <strong>des</strong> entités<br />

souches<br />

inergiciel client<br />

application<br />

FIG. II.1 – Configuration d’une application centrée sur l’intergiciel<br />

II-3 Approches centrées sur l’application<br />

Les solutions d’intergiciel que nous avons présentées à <strong>la</strong> section précédente reposent sur une<br />

imbrication étroite de l’application avec son intergiciel. D’autres approches ont été développées<br />

<strong>pour</strong> permettre de mieux organiser l’application par rapport à l’intergiciel. Il s’agit souvent –<br />

mais pas toujours – de concevoir l’application comme un ensemble de composants assemblés et<br />

contrôlés par un exécutif ; cet exécutif intègre notamment l’intergiciel.<br />

II-3.1 Déclinaisons orientées composant <strong>des</strong> spécifications « c<strong>la</strong>ssiques »<br />

La notion de composant constitue une évolution du concept d’objet. Une définition couramment<br />

acceptée d’un composant est celle de Szyperski [Szyperski, 1998] : « A software component<br />

is a unit of composition with contractually specified interfaces and explicit context dependencies<br />

only. A software component [. . .] is subject to composition by third parties. »<br />

Un composant représente une entité de calcul. Il se caractérise par une interface, qui matérialise<br />

l’unique moyen d’accès à ses fonctionnalités. L’interface d’un composant est constituée d’un<br />

ensemble de points d’interaction, ou ports, permettant une interaction avec l’environnement extérieur.<br />

L’interface d’un composant définit explicitement non seulement les services qu’il fournit<br />

mais aussi, contrairement à <strong>des</strong> approches antérieures comme les objets, les services qu’il requiert.<br />

Une interface définit donc à <strong>la</strong> fois les contraintes d’utilisation du composant mais aussi un ensemble<br />

d’hypothèses faites sur son environnement. Les interfaces sont définies à l’aide de <strong>la</strong>ngages<br />

de définition d’interfaces – tel qu’IDL, par exemple.<br />

Les services peuvent correspondre à <strong>des</strong> opérations (procédures, fonctions), <strong>des</strong> messages<br />

(dans une approche de composants objets) ou encore à <strong>des</strong> variables partagées. La <strong>des</strong>cription<br />

d’un service consiste en général en son nom, son type (type <strong>des</strong> arguments et d’un éventuel retour)<br />

et le cas échéant une liste d’exceptions.<br />

Un composant se caractérise également par une encapsu<strong>la</strong>tion dans un conteneur pris en charge<br />

par l’environnement d’exécution. Ce conteneur est fourni par l’environnement d’exécution et<br />

prend en charge les interactions entre le composant et le reste du système ; il fournit un certain<br />

nombre de services au composant. Les composants ont ainsi une certaine indépendance vis-à-vis<br />

les uns <strong>des</strong> autres, ce qui facilite leur réutilisation et leur recomposition ; ils peuvent être déployés<br />

dans différents environnement d’utilisation.<br />

Les spécifications d’intergiciel telles que CORBA, RMI ou DCOM sont essentiellement conçues<br />

<strong>pour</strong> imp<strong>la</strong>nter <strong>des</strong> objets <strong>répartis</strong>. Elles ont toutes évolué <strong>pour</strong> intégrer <strong>la</strong> notion de composant :<br />

CCM, J2EE et .NET.<br />

14 c○ 2007 Thomas Vergnaud

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

Saved successfully!

Ooh no, something went wrong!