Transformation de carrés en cercles avec Atlas Transformation Language(ATL)
1. Ingénierie des Modèles
Atlas Transformation Language
Amira Hakim
Dept de Mathématique & Informatique
Université de Souk-Ahras
1
UNIVERSITE MOHAMED CHERIF MESAADIA
SOUK-AHRAS
2. Introduction (Motivation)
2
Importance des modèles
On utilise des modèles pour mieux comprendre un système.
Pour un observateur A, M est un modèle de l’objet O, si M aide A
a répondre aux questions qu’il se pose sur O. (Minsky).
Un modèle est une simplification, une abstraction du système.
3. L’Ingénierie Dirigée par les Modèles
3
L’Ingénierie Dirigée par les Modèles (ou IDM) est une démarche de
développement qui conçoit l’intégralité du cycle de développement du
logiciel comme un processus de production, de raffinement itératif et
d’intégration de modèles.
L’ingénierie dirigée par les modèles place le modèle au centre du
processus de développement ,ainsi les différentes étapes du
développement se traduisent par une succession de transformations de
modèles.
5. Modèle
5
Définition d’un modèle:
Un modèle est une description, une spécification partielle d'un système:
C’est une abstraction de ce qui est intéressant pour un contexte et dans
un but donné. Le modéle fournit une vue subjective et simplifiée d'un
système.
But d'un modèle:
Faciliter la compréhension d'un système.
Simuler le fonctionnement d'un système.
Exemple :
une carte routière , un diagramme UML
6. Méta Modèle
6
Définition d’un Méta-Modèle:
Le terme méta modèle est un stéréotype attaché à un modèle qui indique que
le modèle est une abstraction d'un autre modèle ,autrement dit, un modèle
d'un modèle.
L'UML lui-même sert de méta modèle pour les modèles qui représentent des
systèmes réels construits.
7. Méta-Méta- Modèle
7
Méta Méta Modèle:
c’est un modèle qui décrit un langage de méta modélisation , c.à.d.,
les éléments de modélisation nécessaires à la définition
des langages de modélisation.
8. Transformation de modèles
8
La transformation prend en entrée un modèle m1 et doit produire en sortie un
autre modèle m2
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.
Transformation = ensemble de règles (Correspondances entre éléments du
modèle source et éléments du modèle cible)
9. Buts d’une transformation
9
Raffinement:
– Un modèle A1 devient un modèle A2
– Même métamodèle pour les deux
Projection:
– Un modèle A1 devient un modèle B1
– Métamodèles distincts
– [Composants > Java]
Représente la base:
– Production de systèmes dirigées par les modèles.
– Support de l’interopérabilité entre les systèmes.
10. ATL : ATLAS Transformation Language
10
Développé par l’équipe de recherche ATLAS INRIA ET LINA (Jean Bézivin).
Fait partie du projet Eclipse M2M (Model-to-Model)
Langage de transformation hybride
Propose des structures déclarative et imperative.
Une transformation ATL est composée de regles (rules) declaratives.
Une regle definit une transformation d’un element du modele source vers
un element du modele cible
Possibilite d’appeler des Helpers (eq. methodes) pour faciliter le traitement
dans les regles.
13. Structure d’une transformation ATL
13
Un module ATL correspond a une transformation modèle à modèle.
Eléments:
Une section entête : definit les attributs qui sont relatives au module
de transformation.
Une section « import » optionnelle: sert a importer quelques
bibliothéques ATL éxistantes.
Un ensemble de « helpers »:ATL équivalents aux méthodes java.
Un ensemble de régles: définissent la façon dont les modéles cibles
sont générés a partir de modéles sources.
14. ATL modules
14
Ce sont les fichiers qui contiennent les transformations.
Ces fichiers ont l’éxtension .ATL.
Consistent en:
Header
Import
Helpers
Rules
36. Modélisation avec Graphical Modeling Framework
36
La Création d’un modèle conforme à un méta-modèle se fait par deux
façons soit :
Instancier le Meta model et avoir un modèle sous forme XMI.
Générer un éditeur graphique à partir du Meta model par
l’utilisation du GMF.
37. Graphical Modeling Framework
37
GMF est un Framework de l'environnement de travail Eclipse.
Il fournit une infrastructure permettant l'exécution d'éditeurs
graphiques basés sur les Framework EMF et GEF.
Avec GMF, il est possible de créer une application de modélisation
simplifiée (formes de base : rectangle, ellipse) sans écrire une seule
ligne de code.
38. Le WorkFlux de GMF
38
Génération d’un éditeur
graphique à partir d’un
modèle EMF
Domain Model(fichier.ecore)
Dériver « Domain Gen Model »
(Fichier : *.genmodel)
Générer « Graphical Def Model »
(Fichier : *.gmfgraph)
Générer « Mapping Model » (Fichier
: *.gmfmap)
« Diagram Editor Gen Model »
(Fichier : *.gmfgen)
Générer l'éditeur de diagramme
39. Création du projet GMF(Square)
39
Sans oublier de cocher la case: Show DashboardViews
55. 55
Supprimer les modèles Square.xmi et Circle.xmi dans le repertoire
Model du projet Square2Circle .
Copier SquareM.square et le coller dans ce répertoire.
Aller a run configuration pour modifier le IN model
Click sur Apply puis Run
56. Création du projet GMF(Circle)
56
On dois refaire les étapes du DashBoard du projet Square(GMF)