1.3 Transformation de modèles
La transformation de modèle est une opération
fondamentale dans toute approche orientée modèle. La
définition et l'automatisation des transformations a pour objectif de
rendre les modèles plus opérationnels et d'augmenter la
productivité du développement dans une approche IDM.
1.3.1 Principe géneral d'une transformation
La définition la plus générale et qui
fait l'unanimité au sein de la communauté IDM consiste à
dire qu'une transformation de modèles est la génération
d'un ou de plusieurs modèles cibles à partir d'un ou de plusieurs
modèles sources [8] [7].
Dans l'approche par modélisation, cette transformation
se fait par l'intermédiaire de
page 11
1.3 Transformation de modèles
règles de transformations qui décrivent la
correspondance entre les entités du modèle source et celles du
modèle cible.
En réalité, la transformation se situe entre les
méta-modèles source et cible qui décrivent la structure
des modèles cible et source. Le moteur de transformation de
modèles prend en entrée un ou plusieurs modèles sources et
crée en sortie un ou plusieurs modèles cibles.
Une transformation des entités du modèle source
met en jeu deux étapes :
~ Première étape :
permet d'identifier les correspondances entre les concepts des
modèles source et cible au niveau de leurs méta-modèles,
ce qui induit l'existence d'une fonction de transformation applicable à
toutes les instances du méta-modèle source..
~ Deuxième étape :
consiste à appliquer la transformation du modèle source afin
de générer automatiquement le modèle cible par un
programme appelé moteur de transformation ou d'exécution.
La Figure 1.4 illustre ces deux étapes de transformation
de modèles [5].
FIGURE 1.4 - Transformation de
modèles
1.3.2 Types de transformation
Une transformation de modèles met en correspondances des
éléments des modèles cibles et sources. On distingue les
types de transformation suivant :
~ Les transformations simples (1 vers 1)
: qui associent à tout élément du
modèle source au plus un élément du modèle
cible.
page 12
1.3 Transformation de modèles
~ Les transformations multiples (M vers
N) : qui prennent en entrée un ensemble
d'éléments du modèle source et produisent en sortie un
ensemble d'éléments (généralement différent)
du modèle cible (par exemple, la fusion de modèles est une
transformation M vers 1).
~ Les transformations de mise à jour
: appelées aussi modifications sur place (ajout,
suppression, changement de propriétés, etc.). Ces transformations
sont caractérisées par l'absence de modèle cible, et
agissent donc directement sur le modèle source. Les transformations de
restructuration sont des exemples typiques de ce type de transformation.
|