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.

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

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

Saved successfully!

Ooh no, something went wrong!