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.
II-5.2.2 Connecteurs<br />
<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 />
Un connecteur constitue l’abstraction utilisée <strong>pour</strong> modéliser les interactions entre composants.<br />
Un connecteur décrit <strong>des</strong> correspondances entre interfaces de composants ainsi que les<br />
règles qui prévalent lors <strong>des</strong> interactions. Un connecteur représente c<strong>la</strong>ssiquement les communications<br />
entre les composants, et peut donc être interprété dans une certaine mesure comme <strong>la</strong><br />
représentation d’un intergiciel ; il matérialise alors <strong>des</strong> communications par tube à <strong>la</strong> manière<br />
Unix, par appel de sous-programme distant (RPC), etc.<br />
Un connecteur peut se voir attribuer <strong>des</strong> rôles, qui représentent les rôles que peuvent tenir<br />
différents composants dans l’interaction décrite par le connecteur. Ainsi par exemple dans une<br />
architecture dont les communications sont basées sur un mécanisme de type tube et filtre, un<br />
connecteur de type tube, aura deux rôles : source, qui correspondra au composant – fichier ou<br />
processus – qui fournit les données, et puits, qui correspondra au composant – le filtre suivant ou<br />
un fichier – <strong>des</strong>tinataire <strong>des</strong> données.<br />
La notion de connecteur est plus ou moins développée d’un ADL à un autre [Oussa<strong>la</strong>h, 2005 ;<br />
Medvidovic et Taylor, 2000]. Dans <strong>des</strong> <strong>la</strong>ngages tels que Darwin ou Rapide, un connecteur peut<br />
être une connexion directe <strong>des</strong> ports <strong>des</strong> composants, associée à une sémantique très simple voire<br />
implicite ; d’autres <strong>la</strong>ngages, comme Unicon, définissent un connecteur comme une combinaison<br />
de connecteurs prédéfinis ; un connecteur peut également être spécifiés à l’aide d’un <strong>la</strong>ngage de<br />
définition (Wright).<br />
II-5.2.3 Configurations<br />
Une configuration (architecturale), aussi appelée topologie, décrit un assemb<strong>la</strong>ge de composants<br />
et de connecteurs. Les composants et connecteurs correspondent à <strong>des</strong> instances nommées<br />
de types de composants et de connecteurs permettant leur référencement. Les re<strong>la</strong>tions entre interfaces<br />
<strong>des</strong> composants et rôles <strong>des</strong> connecteurs sont établies à l’aide de liaisons (bindings). Une<br />
configuration fournit une information structurelle, qui peut éventuellement être amenée à évoluer<br />
au cours de l’exécution du système.<br />
Une configuration permet le déploiement automatique de l’architecture définie. Les configurations<br />
permettent aussi dans certains ADL de construire <strong>des</strong> composants composites, c’est-à-dire<br />
constitués d’une configuration de composants et de connecteurs. Pour ce<strong>la</strong>, il doit être possible de<br />
relier les ports <strong>des</strong> sous-composants à ceux du composite. L’intérêt <strong>des</strong> composants composites est<br />
de permettre <strong>la</strong> réutilisation de configurations complètes mais aussi de prendre en charge le développement<br />
de techniques compositionnelles de vérification formelle (<strong>la</strong> vérification est effectuée<br />
au niveau du particulier, un constituant de l’architecture, puis réutilisée au niveau de <strong>la</strong> vérification<br />
globale).<br />
D’autres caractéristiques peuvent intervenir, telles que <strong>la</strong> prise en compte de contraintes ou<br />
encore l’hétérogénéité et l’évolutivité <strong>des</strong> architectures [Medvidovic et Taylor, 2000].<br />
II-5.3 Langages <strong>pour</strong> assister <strong>la</strong> production de <strong>systèmes</strong> exécutables<br />
La syntaxe d’UML permet en grande partie de représenter les notions c<strong>la</strong>ssiques d’un <strong>la</strong>ngage<br />
de <strong>des</strong>cription d’architecture ; il est utilisé comme support syntaxique <strong>pour</strong> de nombreux ADL<br />
[Gar<strong>la</strong>n et al., 2002 ; Hofmeister et al., 1999 ; Elloy et Simonot-Lion, 2002 ; Rumpe et al., 1999].<br />
De <strong>la</strong> même façon, FractalADL peut être considéré comme un ADL dédié à l’assemb<strong>la</strong>ge de<br />
composants applicatifs.<br />
22 c○ 2007 Thomas Vergnaud