• Aucun résultat trouvé

Positionnement des travaux et problématique

Chapitre 2 Etat de l'artEtat de l'art

2.3 Ingénierie Dirigée par les Modèles .1 Les concepts de l'IDM

2.3.2 L'approche d'architecture dirigée par les modèles (MDA)

Apparu en 2000 grâce aux travaux de l'OMG [OMG, 2001], le MDA est un standard (à l'origine de l'IDM) [Bezivin and Gerbe, 2001] qui a pour objectif d'initier une nouvelle façon de conception des applications en séparant l'architecture technique et la logique métier de l'entreprise, mettant ainsi en ÷uvre le double "track unied design" ou modèle en Y [Roques and Vallée, 2000]. En eet, contrairement à la logique métier qui ne su-bit pas beaucoup de modications, l'architecture technique est plus instable car elle est souvent amenée à évoluer dans le temps. La séparation des spécications fonctionnelles

du système de son implémentation sur une plate-forme est indéniablement la base de la démarche MDA. L'idée est donc de pouvoir gérer des modèles métiers hétérogènes indé-pendamment de toute plate-forme (PIM : Platform-Independant Models) et de passer par transformations successives à des modèles spéciques dépendant de la plate-forme rete-nue (PSM : Platform-Specic Models). Le déploiement d'un modèle PIM sur plusieurs plateformes cibles est possible par l'intermédiaire d'une approche MDA. Le concepteur ne se soucie pas de la plateforme cible mais seulement du modèle métier de l'entreprise. Au nal, à la n du processus, MDA permet la génération de codes exécutables.

Finalement, l'IDM est une généralisation de la démarche MDA. On peut donc considé-rer MDA comme un processus spécique de l'IDM. Contrairement à l'IDM, MDA propose un nombre de niveaux d'abstractions xes. Ceci est du, entre autres, au fait que sur le niveau d'abstraction le plus élevé, l'OMG propose le MOF [OMG, 2011b] qui est dénit de manière réexive.

Pour dénir MDA, l'OMG s'appuie sur diérents standards dans une architecture à quatre niveaux. Le schéma ci-dessous (g. 2.2) présente l'ensemble des quatre niveaux de l'architecture MDA avec les diérents standards.

Figure 2.2  Architecture de la démarche MDA

 Le niveau M3 caractérise le méta-méta-modèle. Il dénit ainsi les notions de bases permettant la description formel des méta-modèles et des modèles et donc nalement les principes de conformité entre les niveaux. C'est le niveaux le plus élevé qui a la particularité de proposer une dénition réexive

 Le niveau M2 dénit le méta-modèle et il est basé sur le méta-modèle d'UML 2. A ce niveau, on dénit donc les règles de manipulation des modèles de niveau inférieur

2.3. Ingénierie Dirigée par les Modèles (règles de transformation).

 Le niveau M1 dénit les modèles qui doivent être conformes aux méta-modèles du niveau supérieur.

 Le niveau M0 donne une représentation "modélisée" d'un système réel.

Le MOF

Étant donné que les méta-modèles sont également considérés comme des modèles, il faut qu'ils soient eux même conformes à des  méta -méta-modèles. L'OMG a mis en place un langage de dénition des méta-modèles qui a lui aussi la forme d'un modèle, le MOF (Meta-Object-Facility) [OMG, 2011b]. An d'éviter un trop grand nombre de niveaux d'abstraction, ce dernier a la capacité de se décrire lui même. Il est donc réexif, c'est-à-dire que le niveau supérieur est décrit à partir de lui-même. Ainsi, Le MOF se situe au sommet d'une architecture à quatre niveaux d'abstraction pour la modélisation des systèmes avec MDA présentée dans le schéma suivant (g. 2.3) :

Figure 2.3  Pyramide de la démarche MDA

Le MOF permet donc de dénir la sémantique d'un langage et la syntaxe des méta-modèles ainsi que leur structure, c'est-à-dire les éléments principaux dans la construction des modèles. Elle permet notamment la manipulation et la comparaison des modèles et méta-modèles. Le MOF est un standard de méta-modélisation. Il dénit par exemple la notation UML. Il est devenu aujourd'hui un pilier de l'architecture MDA. Il correspond à une architecture qui est basée sur une relation d'instanciation, c'est-à-dire que chaque élément d'une couche est une instance d'un élément de la couche supérieure. Ce standard permet de fédérer l'ensemble des langages de l'OMG.

Les niveaux CIM/PIM/PSM

Le principe fondamental de MDA est la séparation entre la logique métier et la logique d'implémentation. Il est composé de plusieurs modèles utilisés pour modéliser l'application puis à générer du code par les transformations successives. Dans l'approche des niveaux proposée par MDA, les modèles ou méta-modèles sont dénis par une démarche d'abs-traction vis à vis des plateformes cibles. Une description de chacun d'entre eux est donnée ci-dessous :

CIM le Computation Independent Model est un niveau de modélisation indépendant de tout système d'information. Il permet de représenter les concepts utilisés indépen-damment de leur représentation ou de leur instanciation. Il permet de dénir les sources de vocabulaires partagés avec d'autres modèles. L'indépendance technique de ce modèle lui permet de garder tout son intérêt au l du temps et n'est modiée que si le modèle de connaissance d'une entreprise a besoin de changement.

PIM Le Plateform Independent Model est un niveau de modélisation indépendant de toute plateforme technique (EJB, .NET...) et ne contient pas d'informations sur les technologies qui seront utilisées pour déployer l'application. Il s'agit d'un niveau de modèle qui représente une vue partielle d'un CIM.

PSM le Plateform Specic Model est le niveau de modélisation dépendant de la plate-forme utilisée. Il est utilisé pour la génération de code. Le PSM décrit comment le système va utiliser ces plateformes. Il y a plusieurs niveaux de PSM, le premier issu de la transformation d'un PIM. Les autres sont obtenus par des transformations successives de même niveau (ranement). Ils permettent d'obtenir le code dans un langage spécique.

MDA fournit [Bezivin, 2004], un processus de conception et met en ÷uvre des outils pour :

1. spécier un système indépendamment de la plate-forme qui le supporte, et donc réaliser un PIM,

2. enrichir ce modèle par étapes successives, 3. spécier les plate-formes,

4. choisir une plate-forme particulière pour le système,

5. transformer la spécication du système (PIM) en une autre spécication pour une plate-forme particulière (PSM),

6. transformer un CIM en un PIM et un PIM en un autre PIM, 7. raner le PSM jusqu'à obtenir une implémentation exécutable.

Dans les diagrammes il est dicile, voire impossible dans certains cas de préciser de manière complète toutes les subtilités d'un modèle. Il faut donc pouvoir accompagner ces diagrammes de descriptions grâce à des contraintes qui permettent de les rendre plus précis et sans ambiguïté. L'objectif étant de les rendre beaucoup plus subtils et plus complets.

2.3. Ingénierie Dirigée par les Modèles XML Medatada Interchange (XMI)

Avec MDA, au niveau conceptuel, les modèles restent des éléments abstraits, c'est pourquoi l'OMG a déni un format standard d'import et d'export des modèles, le XMI. Concrètement, ce standard permet le passage des modèles sous le format XML par l'inter-médiaire de règles permettant la construction de schémas XML à partir de méta-modèles. La réciproque est vraie aussi, à partir d'un document XML il est possible de construire le méta-modèle.

Le XMI donne la possibilité aux modèles d'être encodé dans un document XML, il est donc un format d'échange standard de modèles pour les outils MDA. Cet encodage est réalisé par deux types de mécanismes (g. 2.4) [Blanc, 2005] :

 génération : c'est une transformation des méta-modèles en DTD (Document Type Denition).

 sérialisation : c'est une représentation des modèles en XML.

Figure 2.4  Les mécanismes d'encodage