7.1.3 Architecture du MDA
7.1.3.1 Les principaux modèles du MDA
Les principaux modèles du MDA sont :
· Le modèle des exigences (Computational
Independent Model, CIM)
Il s'agit d'un modèle de haut niveau qui
représente l'application et qui permet de définir les services
qu'elle va offrir et les relations qu'elle aura avec les autres entités.
Ces modèles ont pour objectif d'être pérennes et de
refléter la relation entre les exigences du client et l'application.
Dans les CIM, aucune information sur le fonctionnement de l'application ne doit
être incluse. En UML, on peut représenter un modèle
d'exigences avec un diagramme de cas d'utilisation. Il offre la faculté
de définir l'ensemble des acteurs et des cas d'utilisation sans en
détailler le fonctionnement.
· Le modèle d'analyse ou de conception abstraite
(Platform Independent Model, PIM). Il a pour objectif de structurer
l'application en modules et sous-modules. Ces modèles font le lien entre
le modèle des exigences et le code de l'application et se doivent
d'être pérennes. Pour ce faire, ils ne doivent pas contenir
d'informations sur les plates-formes ou langages qui seront utilisés.
· Le modèle des plates-formes (Platform
Dependent Model, PDM)
Ce modèle sert à décrire une architecture
technique qui sera appliquée au PIM pour obtenir le PSM.
· Le modèle de code (Platform Specific
Model, PSM).
Contrairement au modèle d'analyse ou de conception, le
modèle de code est lié à une plate-forme
d'exécution. Il sert principalement à faciliter la
génération de code. Les PSM peuvent être obtenus par
application de profils UML, c'est-à-dire l'adaptation d'UML à un
domaine particulier, ou par l'utilisation de modèles de plates-formes
(PDM) lors de la transformation du PIM. Etant liés à une
plate-forme d'exécution, les modèles de code n'ont pas pour
vocation d'être pérennes.


Figure 36 : diagramme de classes du MOF1.4 (Blanc 2005,
p.39)(Object Management Group 2002a)

Figure 37 : les quatre niveaux de l'architecture du MDA (Blanc
2005, p.40)
CNAM de Nantes - 2010 / 2011 - Mémoire
d'ingénieur
|
|
|
7.1.3.2 L'architecture du MDA
MDA définit son formalisme de modélisation,
c'est-à-dire qu'il décrit la façon dont un modèle
doit être structuré. Pour cela il utilise encore un modèle,
qui sera le métamodèle du modèle à définir.
Cela pose inévitablement la question : peut-on remonter
indéfiniment dans la hiérarchie des modèles ? La
réponse est non. Dans MDA, le métamétamodèle,
modèle du niveau le plus élevé s'appelle « Meta
Object Facility » (MOF) et a la particularité de
s'autodéfinir. En effet, si on devait réaliser le diagramme de
classe du métamodèle du MOF, on obtiendrait le diagramme de
classe de la Figure 36, qui n'est autre que le diagramme de classe du MOF
lui-même. MDA limite ainsi son architecture à quatre niveaux (cf.
Figure 37). Dans sa version 2.0, le MOF est constitué de deux parties :
EMOF (Essential MOF), pour l'élaboration des
métamodèles sans association, et CMOF (Complete MOF)
pour l'élaboration des métamodèles avec associations (Diaw
et al. s. d.).
Il faut bien comprendre que cette architecture ne sert pas
à indiquer à quel niveau appartiennent les PIM et autres PSM,
mais à garantir une cohérence entre les modèles
utilisés. Le MOF, de niveau M3, défini la structure que chaque
métamodèle de niveau M2 devra respecter. Ensuite chaque
métamodèle défini à son tour la structure des
modèles de niveau M1.


Figure 38 : Les transformations des modèles MDA (Villemin
2011, p.12)
Figure 39 : transformations de modèles (Blanc 2005,
p.11)
CNAM de Nantes - 2010 / 2011 - Mémoire
d'ingénieur
|
|
|
|