• Aucun résultat trouvé

5.4 Composition de domaines

5.4.5 La réalisation de composition de domaines

La composition de domaines présentée dans la section précédente est du point de vue concep-tuel. Dans la réalité, sa réalisation est un peu diérente. Dans cette section, nous allons résumer nos expérimentations de composition de domaines pour, dans la section suivante, identier les objectifs de la thèse.

Jusqu'à présent, nous avons réalisé les composition de domaines de manière ad-hoc.

Pas de composition de métamodèles (explicite).

Pas de composition de modèles (explicite).

Composition de machine virtuelle ad-hoc.

Idéalement, le processus de composition doit exposer explicitement une phase d'établissement des liens au niveau métamodèle, puis ceux au niveau modèle, et nalement le développement de la machine virtuelle composite. Cependant, l'implantation actuelle réalise tout de suite au niveau des machines virtuelles sans composition de métamodèles ni composition de modèles. Les liens entre les métamodèles sont matérialisés directement en code faisant collaborer les machines virtuelles. Les liens entre les éléments de modèles sont établis automatiquement en se basant sur une convention de même nom. Cette convention posez des problèmes car les modèles réutilisés ne sont pas conçus en prévoyant l'existence d'autres modèles avec lesquels ils pourraient collaborer. Malgré ces inconvénients, nos expérimentations ont obtenues des résultats successifs dans la construction d'applications industrielles en se basant sur le mécanisme de composition de domaines. A titre d'exemple, nous pouvons citer le système APEL pour la société Actoll ??, la Démo Métier du projet Centr'Actoll ??, un système d'alarme pour la société Thales ??. Ceci nous fait penser que la composition de domaines est une approche prometteuse, mais perfectible ! Pour cette raison, dans la deuxième génération de l'approche, nous avons formalisé le processus de composition dans une vision plus proche de la vision conceptuelle proposées, an d'éliminer les défauts signalés ci-dessus. Nous avons ensuite développé l'assistant du processus de composition de manière simple mais ecace.

5.5 Objectifs de la thèse

Le tableau 5.1 résume les défauts actuels et les besoins de notre démarche de composition de domaines.

Défauts Besoins

Pas de composition de métamodèles Composition de métamodèles et les outils

Pas de composition de modèles Composition de modèles et les outils Composition de machines virtuelles

ad-hoc Génération du code de compositionsemi automatique.

Table 5.1 Défauts et besoins de la composition de domaines

Dans cette thèse nous cherchons à répondre à ces besoins. Le but nal est de faciliter le processus de construction d'applications à grande échelle à partir des domaines. Pour cela, nous proposons un environnement de composition de modèles dont l'idée basique est qu'il faut compo-ser leurs métamodèles. Ce principe est toujours valide pour toutes les approches de composition de modèles. Cette idée a été utilisée pour la composition de domaines de Mélusine. L'environ-nement de composition de modèles réalisé dans cette thèse a donc été développé en se basant fortement sur les expériences de la composition de domaines ci-dessus.

CHAPITRE 5. ARCHITECTURE MÉLUSINE : CONTEXTE ET OBJECTIFS

5.6 Synthèse

Dans ce chapitre, nous avons présenté de notre contexte de travail : l'architecture Mélusine. Dans la première génération de Mélusine, par instanciation d'un ensemble (souvent très petit) de concepts (de l'univers commun), on peut construire des applications complexes en protant des fonctionnalités implémentées dans les outils existants. De plus, le faible couplage entre l'uni-vers commun et ses participants permet de substituer aisément des participants. Ceci permet au concepteur d'application de changer librement les outils ou les composants avec lesquels il est habitué à travailler. Une application développée donc peut avoir diérentes versions d'implémen-tation.

Dans la deuxième génération, par composition d'un ensemble de domaines souvent étroits et bien cernés représentant une préoccupation du système, on peut construire des applications complexes multi-domaines.

La composition de domaines est liée à la composition de modèles. Cependant, elle est réalisée de manière ad hoc dans Mélusine. Il existe également beaucoup des limitations et de défauts. Nous proposons donc une approche de composition de modèles pour résoudre ces problèmes.

Chapitre 6

Un langage de composition de

modèles

6.1 Introduction

Le chapitre précédent a présenté une approche conceptuelle de composition de modèles exé-cutables (obtenus par la composition de domaines). Cependant, sa réalisation reste ad-hoc, et assez éloigné des concepts proposés. Nous allons la formaliser an d'obtenir un support pour la composition de modèles exécutables dans une vision plus proche des concepts proposés.

Cette formalisation permet d'avoir un environnement qui automatise et systématise la com-position. L'automatisation consiste à outiller le processus de comcom-position. Systématiser signie que cet outillage doit être basé sur les étapes de composition de la proposition conceptuelle.

Cette formalisation présente deux dicultés :

le manque de formalisme pour exprimer les compositions au niveau métamodèle et au niveau modèle.

le manque d'outils permettant de décrire les compositions aux diérents niveaux et per-mettant l'exécution des modèles composites.

De plus, nous souhaitons que l'environnement résultant de cette formalisation soit susam-ment générique pour qu'il puisse être utilisé dans divers scénarios de composition de modèles. Pour cela, le langage de composition et les outils associés doivent être :

indépendants des domaines qu'ils composent et

indépendant des applications qu'ils composent.

Dans ce chapitre ainsi que dans le suivant, nous présentons notre formalisation de la compo-sition de modèles et nos eorts pour obtenir un environnement de compocompo-sition. Cette formalisa-tion se traduit par la déniformalisa-tion d'un langage de composiformalisa-tion de modèles autour duquel les outils supportant l'automatisation du processus de composition de modèles vont venir s'intégrer pour former cet environnement. Notre approche que nous nomerons Codèle fait référence à :

Un langage de composition de modèles exécutables.

Un environnement qui

reconnaît ce langage (et fournit un éditeur), qui

permet de réaliser des compositions de modèles et qui

permet de les exécuter.

Ce chapitre présente le langage de composition et le chapitre suivant présentera l'environne-ment.

CHAPITRE 6. UN LANGAGE DE COMPOSITION DE MODÈLES

composition de modèles. Nous identierons les éléments de composition participant à notre pro-cessus de composition de modèles. Les formalismes nécessaires pour élaborer ces artefacts seront aussi présentés. Un exemple de composition de modèles, utilisé pour illustrer notre travail, sera présenté dans la section 6.3. La section 6.4 donnera une vue globale de notre langage de compo-sition de modèles. Nous nous attarderons ensuite sur les deux concepts principaux constituant ce langage, Relation Horizontale et Correspondance, dans les sections 6.5 et 6.6. Ils correspondent respectivement à la composition de métamodèles et à la composition de modèles. La section 6.7 conclut le chapitre.