Le passage entre les différents modèles présentés auparavant se fait par le biais de l’exécution de
transformations. La Figure 38 illustre les différentes transformations que l’on peut trouver
généralement dans MDA.
La transformation ou projection et la retro-ingénierie peuvent être des transformations entre deux
modèles conformes à un même métamodèle, on parle alors de transformation endogène, ou entre
des modèles respectant des métamodèles différents, il s’agit dans ce cas d’une transformation
exogène. Le raffinement est une transformation endogène un peu particulière, car elle s’appuie non
seulement sur un métamodèle commun au modèle d’entrée et de sortie de la transformation, mais
c’est aussi le modèle d’entrée qui sert de modèle de sortie.
La transformation sert à passer d’un niveau abstrait vers un niveau plus concret, plus on avance
dans les transformations, plus on se rapproche du modèle de code.
La retro-ingénierie fait le trajet inverse et remonte des niveaux concrets jusqu’aux niveaux abstraits.
Le raffinement sert le plus souvent à ajouter de l’information sans changer le sens des objets.
MDA préconise d’utiliser les modèles dans son approche, et c’est tout naturellement qu’il propose
de modéliser les transformations elles même. Une transformation est vue comme une application,
avec ses exigences, ses modèles de conception et de code. Afin de modéliser les transformations,
MDA définit le standard MOF2.0 Query View Transformation (QVT)(Object Management Group
2011c). QVT est le métamodèle décrivant les modèles de transformation. QVT se limite aux
transformations entre modèles.
La Figure 39 illustre une transformation entre deux modèles, le modèle UML en entrée, qui est
conforme au métamodèle UML, et le modèle Java en sortie, qui pour sa part est conforme au
métamodèle Java. Le modèle de transformation UML2Java se doit d’être conforme au métamodèle
QVT.
Page suivante : 7.1.4.2 Query Views Transformations (QVT)
Retour au menu : Stratégie de test au sein du processus d’évolution d’architecture de Sodifrance