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