Académique Documents
Professionnel Documents
Culture Documents
• Réalisé par:
Aissaoui Fatma Module: Génie Logiciel
Bouabdelli Halima
Enseignant responsable:
Mr B.Boudaa
2015/2016
Introduction
Model To Model « M2M »
Définition d’ATL
Vue d'ensemble de l'approche de transformation ATL
Présentation d’ATL
Les modes d’exécution des modules
• Le mode normal
• Le mode raffinage
XMI
Exemple (Tutoriel)
Conclusion
Introduction
1
Model To Model « M2M »
2
Définition d’ATL
3
Vue d'ensemble de l'approche de transformation ATL
4
• Dans la figure 01, un modèle source Ma est transformé en un modèle cible Mb.
La transformation est dirigée par un programme de transformation
mma2mmb.atl écrit en ATL. Ce programme est un modèle. Les modèles source
et cible ainsi que le programme de transformation sont conformes à leurs méta-
modèles respectifs :MMa, MMb et ATL. Ces méta-modèles sont conformes au
méta-méta-modèle Ecore.
5
Présentation d’ATL
6
• Header: donne le nom du module de transformation et déclare les modèles
source et cible.
- Exemple:
module MyRules;
create OUT : MM1 from IN : MM;
• Helpers : sont des fonctions ATL d’après le standard OCL sur le quel ATL se
base. OCL définit deux sortes de helpers : opération et attribut.
7
• Rules: Définissent la façon dont les modèles cibles sont générés a partir de
modèles sources, on a deux types de règles: Matched rules et Called rules
rule ForExample {
from
i : InputMetaModel!InputElement
to
o : OutputMetaModel!OutputElement(
attributeA <- i.attributeB,
attributeB <- i.attributeC + i.attributeD
)
}
8
• Les requêtes ATL : Opération qui calcule une valeur primitive d’un
ensemble de modèles de sources.
9
Les modes d’exécution des modules
Le moteur d'exécution ATL définit deux modes d'exécution pour les différents
modules ATL:
Le mode normal
Le mode raffinage
10
Le mode normal
• spécifier la manière dont les éléments de modèle cible doivent être générés
à partir des éléments du modèle source.
11
Le mode raffinage
12
XMI « XML Metadata Interchange »
13
• Principe de Tutoriel:
Color: white
Cle: 2
Rayon: 2
Color: red
Cle: 11
Color: black Architecture Rayon: 6.5
Cle: 6
Rayon: 5.5
14
Color: white
Cle: 2
Length: 2
Base
Color: black Color: red
Cle: 6 Cle: 11
Length: 5.5 Length: 6.5
15
Règle 1: Architecture à Base
Architecture Base
16
Règle 2: cercles vers carrés
17
Règle 3: relations vers relations
18
• Installation d’ATL:
1 2
1: Cliquer sur
Help » Install Modeling Components
19
3: Cliquer sur Next
4: Sélectionner ‘ I accept …’
» Cliquer sur Finish
20
• Création d’un projet ATL
• Cliquer Sur:
New »Other »ATL Project »Next
21
5: Nommer le Projet
»Cliquer sur Finish
6: Projet Créé !
22
• Créer un dossier dans le projet:
23
7: Répeter la procédure de création des dossiers dans le Projet »
Et Créer les 3 dossiers suivants :
24
• Clique droit sur Metamodels
» New »Other
25
• Sélectionner Metamodels
• Nommer le fichier .ecore
• Cliquer sur Finish
• Résultat
26
8: Dans la vue Properties
Remplissez les champs comme
on a montré dans la figure.
• Résultat
27
• Clique droit sur le modèle ecore
» Initialize Ecore Diagram
• Sélectionner Metamodels
» Nommer le fichier
» Cliquer sur Finish.
28
• Créer le Méta-modèle
du cercle suivant:
29
• Créer un fichier .ecore pour le carré comme on a fait précédemment pour le cercle:
30
• Créer le Méta-modèle du
carré suivant:
31
• Clique droit sur Architecture »Create Dynamic Instace
• Sélectionner Models »Nomme le fichier .xmi
•Résultat
32
• Construire les instances:
33
• Clique droit sur Architecture » New Child
»Relations Relation
34
• Création d’un fichier de Transformation ATL:
35
• Sélectionner Transformations
»Nommer le fichier .atl
• Cliquer sur Add
36
• Cliquer sur Browse Workspace
• Sélectionner Circle_metamodel.ecore
» Cliquer sur Ok
37
• l’ajout des 2
Méta-modèles
source et cible
• Résultat
38
• Les règles de correspondances
39
• Clique droit sur le fichier .atl »Run As »Run Configurations
40
• Création d’une nouvelle configuration
• Cliquer sur Workspace
41
• Sélectionner le
fichier .atl » Ok
42
• Sélectionner le fichier .xmi ‘‘ modèle source ’’ » Ok
• Copier le chemin du modèle source ,
coller le dans la zone du modèle cible
et modifier juste le nom du fichier .xmi
• Cliquer sur:
Apply » Run
43
• La transformation M2M est réussite !
44
Conclusion
ATL se base sur de nombreux standards tels que XMI, OCL et Ecore, et il a
même fait parti des contributions initiales au standard QVT de l'OMG.
Grâce à ce respect des standards, ATL peut s'insérer dans une chaîne d'outils
libres et bâtis sur Eclipse : UML2 avec Topcased ou Papyrus,
métamodèles avec EMF, modeleurs dédiés avec GMF, génération de code
avec Acceleo.
45
Merci !