1.2.2 L 'Approche MDA (Model Driven Architecture)
L'approche Model Driven Architecture (MDA) est une initiative de
l'OMG rendue publique en 2000. C'est une proposition à la fois d'une
architecture et d'une démarche de
page 9
1.2 L'Ingénierie dirigée par les
modèles(IDM)
développement [9]. L'idée de base du MDA est la
séparation des spécifications fonctionnelles d'un système
des détails de son implémentation sur une plate-forme
donnée. Pour cela, le MDA classe les modèles en modèles
indépendants des plates-formes appelés PIM (Platform-Independent
Models) et en modèles spécifiques appelés PSM
(Platform-SpecificModels).
L'initiative MDA a donné lieu à une
standardisation des approches pour la modélisation sous la forme d'une
structure en 4 niveaux de modélisation (appelée
communément Pile de modélisation).
La proposition initiale était d'utiliser le langage UML
et ses différentes vues comme unique langage de modélisation.
Cependant, il a fallu rapidement ajouter la possibilité d'étendre
le langage UML, par exemple en créant des profils, afin d'exprimer de
nouveaux concepts relatifs à des domaines d'application
spécifiques. Ces extensions devenant de plus en plus
importantes, la communauté MDA a élargi son point de vue en
considérant les langages de modélisation spécifiques
à un domaine.
L'OMG se dégage une hiérarchie de quatre niveaux
d'abstraction pour la modélisation des systèmes :
méta-méta-modèle, méta-modèle, modèle
et information.
~ Niveau M0 : Le niveau M0 (ou
information) correspond au monde réel. Il ne s'agit pas d'un niveau de
modélisation proprement dit. Ce niveau contient les informations
réelles de l'utilisateur, c'est une instance du modèle de niveau
M1.
~ Niveau M1 (M) : Le niveau M1 (ou
modèle) est composé de modèles d'informations. Il
décrit les informations de M0. Ce niveau contient les modèles
UML, les PIM et les PSM. Les éléments d'un modèle (M1)
sont des instances des concepts décrits dans un
méta-modèle(M2).
~ Niveau M2 (MM) : Le niveau M2 (ou
méta-modèle) définit le langage de modélisation et
la grammaire de représentation des modèles M1. Ce niveau contient
le méta-modèle UML qui définit la structure interne des
modèles UML ainsi que les profils UML qui étendent le
méta-modèle. Les concepts définis par un
méta-modèle sont des instances des concepts du MOF.
~ Niveau M3 (MMM) : Dans l'approche
MDA, le niveau M3 (ou méta-méta-modèle) est composé
d'une seule entité réflexive appelée le MOF (Meta Object
Facility) [13], permettant de décrire la structure des
méta-modèles, d'étendre ou de modifier les
méta-modèles existants.
page 10
1.3 Transformation de modèles
La Figure 1.3 illustre ce que nous venons de dire :
FIGURE 1.3 - Pyramide de modélisation
de l'OMG
Et pour mieux illustrer la hiérarchie de
modélisation à 4 niveaux existe en dehors du MOF et d'UML, dans
d'autres espaces technologiques que celui de l'OMG, on prend le cas de langage
de programmation.
On peut dire que le niveau M0 représente
l'exécution d'un programme, le niveau M1 est le programme, le niveau M2
méta-méta-modèle définissant le
méta-modèle et enfin le dernier niveau est le concept de
grammaire EBNF [6].
|