Transformations de modèles

Ce TP consiste à exécuter et tester les transformations de modèles définies dans le TD 2. On utilisera pour cela les outils Kermeta et ATL.

Méta-modèles

Méta-modèles source et cible, ainsi qu'un modèle conforme au méta-modèle source :

Pour simplifier la manipulation des modèles sources ou cibles dans un programme Kermeta, les 2 programmes Kermeta suivants contiennent des fonctions utilitaires (chargement, affichage, sauvegarde de modèles) :

Transformations

Réalisation des transformations

Commencez par créer un nouveau projet ATL que vous intitulerez "TP3Architecture" (si vous voulez utilser un autre nom, voir la note ci-dessous). Placez dans ce projet l'intégralité des fichiers listés ci-dessus.

L'exécution de la transformation en Kermeta se fait simplement en sélectionnant le fichier TransformationProxy.kmt -> menu contextuel -> run as Kermeta Application

Pour l'exécution de la transformation en ATL, il faut commencer par créer une nouvelle configuration : sélectionez le fichier TransformationProxy.atl -> menu contextuel -> Run As Run Configuration -> double clic sur ATL Transformation puis remplir les champs pour préciser la transformation, les méta-modèles et les modèles.

Notes:

  1. Les fichiers Ecore et XMI comportent une référence absolue qu'il faut positionner. Cette référence est l'URI vers le méta-modèle Ecore, ici platform:/resource/TP3Architecture/ClientServeur.ecore pour le méta-modèle source.
    Si vous placez les fichiers dans un projet avec un nom différent ou un sous-répertoire du projet, il faut éditer les modèles en XMI et les attributs NSUri des fichiers Ecore pour y placer cette URI.
  2. Lors de l'exécution d'un programme Kermeta, il se peut que les dernières modifications ne soient pas prises en compte, une ancienne version du programme est exécutée. Dans ce cas, cliquez sur l'icone Kermeta dans la barre de bouton sous la barre de menu, tout en haut de la fenêtre d'Eclipse.
  3. Lors de l'exécution d'une transformation ATL, si un programme Kermeta (ou autre chose) a été exécuté avant, aucune information n'est présentée sur la console et on ne peut notamment pas voir les messages d'erreur. Dans ce cas, fermez et relancez Eclipse.