1.3.3 Taxonomies des transformations
En fonction du changement de niveau d'abstraction
engendré par la transformation et de la nature des
méta-modèles source et cible impliqués, plusieurs types de
transformation sont à considérer.
Il existe 2 types de transformation :
~ Exogène :
1. Les modèles source et cible sont conformes à
des méta-modèles différents.
2. Transformation d'un modèle UML en programme Java.
3. Transformation d'un fichier XML en schéma de BDD.
~ Endogène :
1. Les modèles source et cible sont conformes au
même méta-modèle.
2. Transformation d'un modèle UML en un autre
modèle UML [5].
1.3.4 Paradigmes de transformation
Les transformations de modèles se partagent
également en deux grandes classes [11] : les transformations «
Modèle vers Code », et les transformations « Modèle
vers Modèle » largement étudiées dans l'approche
MDA.
Dans chacune de ces deux grandes classes, on distingue
plusieurs sous classes comme le montre la Figure 1.5.
page 13
1.3 Transformation de modèles
FIGURE 1.5 - Approches de transformations de
modèles
1.3.4.1 Transformation Modèle vers
Modèle
Ces transformations ont beaucoup évolué depuis
l'apparition de MDA. Ce type de transformation permet la
génération de plusieurs modèles intermédiaires
avant d'atteindre le modèle de code, afin d'étudier les
différentes vues du système, son optimisation, la
vérification de ses propriétés et sa validation.
Nous distinguons cinq techniques de transformation «
Modèle vers Modèle » [12] : ~ Approche par
manipulation directe : Cette approche est basée
sur une représentation interne des modèles source et cible, en
plus des API (Application Programming Interface) pour les manipuler.
~ Approche relationnelle : Cette
approche utilise les contraintes pour spécifier les relations entre les
éléments du modèle source et celles du modèle cible
en utilisant une logique déclarative basée sur des relations
mathématiques.
~ Approche basée sur les transformations de
graphes : Cette approche convient lorsque les modèles sont
représentés par des graphes. Elle exprime les transformations
sous une forme déclarative. Les règles de transformation sont
définies sur des parties du modèle et non pas sur des
éléments basiques. Une opération de filtrage de motifs
(Pattern Matching) est ensuite lancée. Le moteur de transformation
compare à chaque
page 14
1.4 Langage de transformation de modèles ATL
fois des fragments du modèle source pour trouver des
règles applicables. Ce fragment est ensuite remplacé par son
équivalent dans la règle appliquée.
~ Approche basée sur la structure
: Divisée en deux étapes, la première se
charge de la création d'une structure hiérarchique du
modèle cible, la seconde ajuste ses attributs et ses
références.
~ Approche hybride : Comme ATL, les
approches hybrides sont la combinaison des différentes techniques ou
alors celle d'approches utilisant à la fois des règles à
logique déclarative et impérative.
|