SlideShare une entreprise Scribd logo
1  sur  49
Télécharger pour lire hors ligne
• Réalisé par:
Aissaoui Fatma
Bouabdelli Halima
Université Ibn Khaldoun - Tiaret
Faculté des Mathématique et d’Informatique
Département d’Informatique
Enseignant responsable:
Mr B.Boudaa
Module: Génie Logiciel
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
Dans le domaine du génie logiciel, l’apparition de l’Ingénierie Dirigée par les
modèles (IDM) propose une démarche dont les deux originalités sont d’une part
la formulation des modèles, et d’autre part des programmes de transformation
de modèles que nous allons y s’intéresser dans notre travail.
Model To Model « M2M »
M2M: est la génération d’un ou 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).
2
Définition d’ATL
ATL : est l’acronyme d’ATLAS Transformation Langage.
• Un langage de transformation de modèles dans le domaine de l’IDM ou MDE,
développé par l’équipe de recherche ATLAS INRIA & LINA
• Un moyen de spécifier la manière de produire un certain nombre de modèles
cibles à partir de modèles sources.
• Langage de transformation hybride (déclaratif et impératif).
3
Vue d'ensemble de l'approche de transformation ATL
• ATL s'utilise dans le contexte de transformation présenté dans la figure suivante :
Figure 01: Architecture d’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
Dans cette partie, nous présentons les fonctionnalités du langage ATL :
- En ATL, une transformation s'appelle un module.
• Structure d’une transformation (module) :
Déclaration du module
• Header section
Import de librairies
• Import section
Opérations
• Helpers
Règles de transformation
• Rules
6
• Header: donne le nom du module de transformation et déclare les modèles
source et cible.
- Exemple:
• 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.
• Import: sert à importer quelques bibliothèques ATL existantes.
helper def :carre(x: Real): Real =x * x;
module MyRules;
create OUT : MM1 from IN : MM;
- Exemple de helpers opération :
- helpers attribut : sont des helpers sans paramètre.
7
rule ForExample {
from
i : InputMetaModel!InputElement
to
o : OutputMetaModel!OutputElement(
attributeA <- i.attributeB,
attributeB <- i.attributeC + i.attributeD
)
}
• 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
8
Exemple de Matched rules:
• Les requêtes ATL : Opération qui calcule une valeur primitive d’un
ensemble de modèles de sources.
query query_name = exp;
• Les bibliothèques ATL : définir un ensemble de Helpers qui peuvent
être appelées à partir des différentes unités ATL.
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 raffinage
Le mode normal
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.
• Ce mode est spécifié par le mot clef from dans l’en-tête.
• Il est utilisé dans le cas d’une transformation
exogène : le méta-modèle source et cible sont
différents.
11
Le mode raffinage
• Un modèle M1 devient un modèle M2
• Ce mode est spécifié par le mot clef refining dans l’en-tête.
• Il est utilisé dans le cas d’une transformation
endogène : un même méta-modèle source et cible
12
XMI « XML Metadata Interchange »
Les modèles et leurs méta-modèles cibles et source prennent dans
l’environnement de développement Eclipse la forme de fichiers texte au
format xmi avec une extension .ecore.
XMI permet de représenter n’importe quel modèle sous forme de
document XML. Le principe de fonctionnement de XMI consiste à
générer automatiquement une specification de structuration de balises à
partir d’un méta-modèle.
13
Color: white
Cle: 2
Rayon: 2
Color: black
Cle: 6
Rayon: 5.5
Color: red
Cle: 11
Rayon: 6.5Architecture
14
• Principe de Tutoriel:
Figure 02: Modèle source des cercles
Color: white
Cle: 2
Length: 2
Base
Color: black
Cle: 6
Length: 5.5
Color: red
Cle: 11
Length: 6.5
15
Figure 03: Modèle cible des carrés
Règle 1: Architecture à Base
Architecture Base
16
Règle 2: cercles vers carrés
17
Règle 3: relations vers relations
18
1 2
• Installation d’ATL:
1: Cliquer sur
Help » Install Modeling Components
2: Sélectionner ATL » Cliquer sur Finish
19
4: Sélectionner ‘ I accept …’
» Cliquer sur Finish
3: Cliquer sur Next
20
21
• Création d’un projet ATL
• Cliquer Sur:
New »Other »ATL Project »Next
22
5: Nommer le Projet
»Cliquer sur Finish
6: Projet Créé !
23
• Clique droit sur le Projet »New »Folder
• Nommer le Dossier » Cliquer sur Finish
• Créer un dossier dans le projet:
24
7: Répeter la procédure de création des dossiers dans le Projet »
Et Créer les 3 dossiers suivants :
25
• Clique droit sur Metamodels
» New »Other
• Sélectionner Ecore Model
» Cliquer sur Next
26
• Sélectionner Metamodels
• Nommer le fichier .ecore
• Cliquer sur Finish
• Résultat
27
8: Dans la vue Properties
Remplissez les champs comme
on a montré dans la figure.
• Résultat
28
• Clique droit sur le modèle ecore
» Initialize Ecore Diagram
• Sélectionner Metamodels
» Nommer le fichier
» Cliquer sur Finish.
29
• Créer le Méta-modèle
du cercle suivant:
Vue de type arbre (extension ecore)
30
• Créer un fichier .ecore pour le carré comme on a fait précédemment pour le cercle:
• Remplir les champs comme suit :
31
• Créer le Méta-modèle du
carré suivant:
Vue de type arbre
(extension ecore)
32
• Clique droit sur Architecture »Create Dynamic Instace
• Sélectionner Models »Nomme le fichier .xmi
•Résultat
33
• Construire les instances:
34
• Clique droit sur Architecture » New Child
»Relations Relation
• Sélectionner l’instance Relation »Remplir les champs pour faire la relation
35
• Clique droit sur Transformation
»New »Other
• Sélectionner ATL Fil1e
»appuyer sur Next
• Création d’un fichier de Transformation ATL:
36
• Sélectionner Transformations
»Nommer le fichier .atl
• Cliquer sur Add
37
• Cliquer sur Browse Workspace
• Sélectionner Circle_metamodel.ecore
» Cliquer sur Ok
38
• l’ajout des 2
Méta-modèles
source et cible
• Cliquer sur Finish
• Résultat
39
• Les règles de correspondances
40
• Clique droit sur le fichier .atl »Run As »Run Configurations
41
• Création d’une nouvelle configuration
• Cliquer sur Workspace
42
• Sélectionner le
fichier .atl » Ok
• Cliquer sur Workspace
43
• 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
44
• La transformation M2M est réussite !
Conclusion
45
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.
Merci !

Contenu connexe

Tendances

Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseAbderrahmane Filali
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiqueOussama Yoshiki
 
Développement d'un forum de discussion
Développement d'un forum de discussionDéveloppement d'un forum de discussion
Développement d'un forum de discussionYoussef NIDABRAHIM
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETLLilia Sfaxi
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWSLilia Sfaxi
 
Présentation PFE - MarouaBouhachem VersionFinale
Présentation PFE - MarouaBouhachem VersionFinalePrésentation PFE - MarouaBouhachem VersionFinale
Présentation PFE - MarouaBouhachem VersionFinaleMaroua Bouhachem
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...ENSET, Université Hassan II Casablanca
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
Gestion des Chercheurs d’Emploi
Gestion des Chercheurs d’EmploiGestion des Chercheurs d’Emploi
Gestion des Chercheurs d’EmploiAzzeddine Elouadi
 
Base de-donn-es-bac-si-95ae18
Base de-donn-es-bac-si-95ae18Base de-donn-es-bac-si-95ae18
Base de-donn-es-bac-si-95ae18Wael Ismail
 
Conception datawarehouse
Conception datawarehouseConception datawarehouse
Conception datawarehouseHassane Dkhissi
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieMohammed Amine Mostefai
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesLilia Sfaxi
 
Projet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoinsProjet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoinsJean-Marc Dupont
 
Design Pattern introduction
Design Pattern introductionDesign Pattern introduction
Design Pattern introductionneuros
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
Chp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de servicesChp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de servicesLilia Sfaxi
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELLilia Sfaxi
 

Tendances (20)

Conception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data WarehouseConception et Réalisation d'un Data Warehouse
Conception et Réalisation d'un Data Warehouse
 
gestion de magasin vente matériels informatique
gestion de magasin vente matériels informatiquegestion de magasin vente matériels informatique
gestion de magasin vente matériels informatique
 
Développement d'un forum de discussion
Développement d'un forum de discussionDéveloppement d'un forum de discussion
Développement d'un forum de discussion
 
Intégration des données avec Talend ETL
Intégration des données avec Talend ETLIntégration des données avec Talend ETL
Intégration des données avec Talend ETL
 
Tp1 - WS avec JAXWS
Tp1 - WS avec JAXWSTp1 - WS avec JAXWS
Tp1 - WS avec JAXWS
 
Présentation PFE - MarouaBouhachem VersionFinale
Présentation PFE - MarouaBouhachem VersionFinalePrésentation PFE - MarouaBouhachem VersionFinale
Présentation PFE - MarouaBouhachem VersionFinale
 
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
Mise en oeuvre des Frameworks de Machines et Deep Learning pour les Applicati...
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Gestion des Chercheurs d’Emploi
Gestion des Chercheurs d’EmploiGestion des Chercheurs d’Emploi
Gestion des Chercheurs d’Emploi
 
Base de-donn-es-bac-si-95ae18
Base de-donn-es-bac-si-95ae18Base de-donn-es-bac-si-95ae18
Base de-donn-es-bac-si-95ae18
 
Chp4 - UML
Chp4 - UMLChp4 - UML
Chp4 - UML
 
Conception datawarehouse
Conception datawarehouseConception datawarehouse
Conception datawarehouse
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
Introduction au langage SQL
Introduction au langage SQLIntroduction au langage SQL
Introduction au langage SQL
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
Projet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoinsProjet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoins
 
Design Pattern introduction
Design Pattern introductionDesign Pattern introduction
Design Pattern introduction
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Chp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de servicesChp4 - Composition, Orchestration et Choregraphie de services
Chp4 - Composition, Orchestration et Choregraphie de services
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 

En vedette

ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008William Piers
 
ATL tutorial - EclipseCon 2009
ATL tutorial - EclipseCon 2009 ATL tutorial - EclipseCon 2009
ATL tutorial - EclipseCon 2009 William Piers
 
Hack Party SHDH Lightning Talk
Hack Party SHDH Lightning TalkHack Party SHDH Lightning Talk
Hack Party SHDH Lightning TalkJeff Lindsay
 
On a connecté le studio !
On a connecté le studio !On a connecté le studio !
On a connecté le studio !Sameh BEN FREDJ
 
Anesa "Nes" Parker: What are challenge prizes and why are they important?
Anesa "Nes" Parker: What are challenge prizes and why are they important?Anesa "Nes" Parker: What are challenge prizes and why are they important?
Anesa "Nes" Parker: What are challenge prizes and why are they important?Ratkaisu 100
 
HBUCgrow Fall 2016 Presentation: It Started with a Hashtag
HBUCgrow Fall 2016 Presentation:  It Started with a HashtagHBUCgrow Fall 2016 Presentation:  It Started with a Hashtag
HBUCgrow Fall 2016 Presentation: It Started with a HashtagJeanne Frazer
 
Ratkaisu 100 - kilpailu tulevaisuuden Suomelle
Ratkaisu 100 - kilpailu tulevaisuuden SuomelleRatkaisu 100 - kilpailu tulevaisuuden Suomelle
Ratkaisu 100 - kilpailu tulevaisuuden SuomelleRatkaisu 100
 
Buscadores
BuscadoresBuscadores
Buscadoressysdatec
 
RANKING 50 MAIORES EMPRESAS DO E-COMMERCE BRASILEIRO/2016.
RANKING 50 MAIORES EMPRESAS DO E-COMMERCE BRASILEIRO/2016.RANKING 50 MAIORES EMPRESAS DO E-COMMERCE BRASILEIRO/2016.
RANKING 50 MAIORES EMPRESAS DO E-COMMERCE BRASILEIRO/2016.Haroldo Duarte
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesPhilip Langer
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
Les avantages et bénéfices du CRM
Les avantages et bénéfices du CRMLes avantages et bénéfices du CRM
Les avantages et bénéfices du CRMNRC
 
WebHooks in 10 Minutes
WebHooks in 10 MinutesWebHooks in 10 Minutes
WebHooks in 10 MinutesJeff Lindsay
 
Démarche compétence - LO - SI pédagogique. Morgan Saveuse. 9R
Démarche compétence - LO - SI pédagogique. Morgan Saveuse. 9RDémarche compétence - LO - SI pédagogique. Morgan Saveuse. 9R
Démarche compétence - LO - SI pédagogique. Morgan Saveuse. 9RFFFOD
 
Meta-modelisation avec eclipse
Meta-modelisation avec eclipseMeta-modelisation avec eclipse
Meta-modelisation avec eclipsemeriem sari
 
Comparaison de outils mda
Comparaison de outils mdaComparaison de outils mda
Comparaison de outils mdaShili Mohamed
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

En vedette (20)

ATL
ATLATL
ATL
 
ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008ATL tutorial - EclipseCon 2008
ATL tutorial - EclipseCon 2008
 
ATL tutorial - EclipseCon 2009
ATL tutorial - EclipseCon 2009 ATL tutorial - EclipseCon 2009
ATL tutorial - EclipseCon 2009
 
OCL tutorial
OCL tutorial OCL tutorial
OCL tutorial
 
Hack Party SHDH Lightning Talk
Hack Party SHDH Lightning TalkHack Party SHDH Lightning Talk
Hack Party SHDH Lightning Talk
 
On a connecté le studio !
On a connecté le studio !On a connecté le studio !
On a connecté le studio !
 
Anesa "Nes" Parker: What are challenge prizes and why are they important?
Anesa "Nes" Parker: What are challenge prizes and why are they important?Anesa "Nes" Parker: What are challenge prizes and why are they important?
Anesa "Nes" Parker: What are challenge prizes and why are they important?
 
HBUCgrow Fall 2016 Presentation: It Started with a Hashtag
HBUCgrow Fall 2016 Presentation:  It Started with a HashtagHBUCgrow Fall 2016 Presentation:  It Started with a Hashtag
HBUCgrow Fall 2016 Presentation: It Started with a Hashtag
 
Ratkaisu 100 - kilpailu tulevaisuuden Suomelle
Ratkaisu 100 - kilpailu tulevaisuuden SuomelleRatkaisu 100 - kilpailu tulevaisuuden Suomelle
Ratkaisu 100 - kilpailu tulevaisuuden Suomelle
 
Buscadores
BuscadoresBuscadores
Buscadores
 
RANKING 50 MAIORES EMPRESAS DO E-COMMERCE BRASILEIRO/2016.
RANKING 50 MAIORES EMPRESAS DO E-COMMERCE BRASILEIRO/2016.RANKING 50 MAIORES EMPRESAS DO E-COMMERCE BRASILEIRO/2016.
RANKING 50 MAIORES EMPRESAS DO E-COMMERCE BRASILEIRO/2016.
 
You need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF ProfilesYou need to extend your models? EMF Facet vs. EMF Profiles
You need to extend your models? EMF Facet vs. EMF Profiles
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
Les avantages et bénéfices du CRM
Les avantages et bénéfices du CRMLes avantages et bénéfices du CRM
Les avantages et bénéfices du CRM
 
WebHooks in 10 Minutes
WebHooks in 10 MinutesWebHooks in 10 Minutes
WebHooks in 10 Minutes
 
Démarche compétence - LO - SI pédagogique. Morgan Saveuse. 9R
Démarche compétence - LO - SI pédagogique. Morgan Saveuse. 9RDémarche compétence - LO - SI pédagogique. Morgan Saveuse. 9R
Démarche compétence - LO - SI pédagogique. Morgan Saveuse. 9R
 
Meta-modelisation avec eclipse
Meta-modelisation avec eclipseMeta-modelisation avec eclipse
Meta-modelisation avec eclipse
 
Comparaison de outils mda
Comparaison de outils mdaComparaison de outils mda
Comparaison de outils mda
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similaire à Transformation M2M avec ATL

srep_cours_06.pdf
srep_cours_06.pdfsrep_cours_06.pdf
srep_cours_06.pdfSamirAwad14
 
Introduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMAIntroduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMALoic Yon
 
Formation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architectFormation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architectMïna You
 
L'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxL'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxSamirAwad14
 
Introduction à Sysml
Introduction à SysmlIntroduction à Sysml
Introduction à SysmlYassine SIDKI
 
Patrons de creation
Patrons de creationPatrons de creation
Patrons de creationomri med
 
CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalAhmed Mekkaoui
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)Pascal Roques
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db firstZineb ELGARRAI
 
Devlog2013: SysML et Simulation (French)
Devlog2013: SysML et Simulation (French)Devlog2013: SysML et Simulation (French)
Devlog2013: SysML et Simulation (French)Jean-Michel Bruel
 
7. information modelling
7. information modelling7. information modelling
7. information modellingsugogo
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieLoic Yon
 
Design patterns gof fr
Design patterns gof frDesign patterns gof fr
Design patterns gof frIt Academy
 
Softfluent speig mdday2010
Softfluent speig mdday2010Softfluent speig mdday2010
Softfluent speig mdday2010MD DAY
 

Similaire à Transformation M2M avec ATL (20)

srep_cours_06.pdf
srep_cours_06.pdfsrep_cours_06.pdf
srep_cours_06.pdf
 
Plasticitérecherche2017
Plasticitérecherche2017Plasticitérecherche2017
Plasticitérecherche2017
 
Introduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMAIntroduction à l'objet - Deuxième année ISIMA
Introduction à l'objet - Deuxième année ISIMA
 
Uml partie 1
Uml partie 1Uml partie 1
Uml partie 1
 
Formation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architectFormation viseo modelisation_uml_avec_enterprise_architect
Formation viseo modelisation_uml_avec_enterprise_architect
 
L'outil MDA acceleo.pptx
L'outil MDA acceleo.pptxL'outil MDA acceleo.pptx
L'outil MDA acceleo.pptx
 
Introduction à Sysml
Introduction à SysmlIntroduction à Sysml
Introduction à Sysml
 
Patrons de creation
Patrons de creationPatrons de creation
Patrons de creation
 
CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-Total
 
SysML (Valtech Days 2008)
SysML (Valtech Days 2008)SysML (Valtech Days 2008)
SysML (Valtech Days 2008)
 
Uml
UmlUml
Uml
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Entity_framework_db first
Entity_framework_db firstEntity_framework_db first
Entity_framework_db first
 
Devlog2013: SysML et Simulation (French)
Devlog2013: SysML et Simulation (French)Devlog2013: SysML et Simulation (French)
Devlog2013: SysML et Simulation (French)
 
Idm et ihm
Idm et ihmIdm et ihm
Idm et ihm
 
7. information modelling
7. information modelling7. information modelling
7. information modelling
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partie
 
Patrons de conception
Patrons de conceptionPatrons de conception
Patrons de conception
 
Design patterns gof fr
Design patterns gof frDesign patterns gof fr
Design patterns gof fr
 
Softfluent speig mdday2010
Softfluent speig mdday2010Softfluent speig mdday2010
Softfluent speig mdday2010
 

Dernier

JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 

Dernier (11)

JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 

Transformation M2M avec ATL

  • 1. • Réalisé par: Aissaoui Fatma Bouabdelli Halima Université Ibn Khaldoun - Tiaret Faculté des Mathématique et d’Informatique Département d’Informatique Enseignant responsable: Mr B.Boudaa Module: Génie Logiciel 2015/2016
  • 2. 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
  • 3. Introduction 1 Dans le domaine du génie logiciel, l’apparition de l’Ingénierie Dirigée par les modèles (IDM) propose une démarche dont les deux originalités sont d’une part la formulation des modèles, et d’autre part des programmes de transformation de modèles que nous allons y s’intéresser dans notre travail.
  • 4. Model To Model « M2M » M2M: est la génération d’un ou 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). 2
  • 5. Définition d’ATL ATL : est l’acronyme d’ATLAS Transformation Langage. • Un langage de transformation de modèles dans le domaine de l’IDM ou MDE, développé par l’équipe de recherche ATLAS INRIA & LINA • Un moyen de spécifier la manière de produire un certain nombre de modèles cibles à partir de modèles sources. • Langage de transformation hybride (déclaratif et impératif). 3
  • 6. Vue d'ensemble de l'approche de transformation ATL • ATL s'utilise dans le contexte de transformation présenté dans la figure suivante : Figure 01: Architecture d’ATL 4
  • 7. • 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
  • 8. Présentation d’ATL Dans cette partie, nous présentons les fonctionnalités du langage ATL : - En ATL, une transformation s'appelle un module. • Structure d’une transformation (module) : Déclaration du module • Header section Import de librairies • Import section Opérations • Helpers Règles de transformation • Rules 6
  • 9. • Header: donne le nom du module de transformation et déclare les modèles source et cible. - Exemple: • 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. • Import: sert à importer quelques bibliothèques ATL existantes. helper def :carre(x: Real): Real =x * x; module MyRules; create OUT : MM1 from IN : MM; - Exemple de helpers opération : - helpers attribut : sont des helpers sans paramètre. 7
  • 10. rule ForExample { from i : InputMetaModel!InputElement to o : OutputMetaModel!OutputElement( attributeA <- i.attributeB, attributeB <- i.attributeC + i.attributeD ) } • 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 8 Exemple de Matched rules:
  • 11. • Les requêtes ATL : Opération qui calcule une valeur primitive d’un ensemble de modèles de sources. query query_name = exp; • Les bibliothèques ATL : définir un ensemble de Helpers qui peuvent être appelées à partir des différentes unités ATL. 9
  • 12. 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 raffinage Le mode normal 10
  • 13. 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. • Ce mode est spécifié par le mot clef from dans l’en-tête. • Il est utilisé dans le cas d’une transformation exogène : le méta-modèle source et cible sont différents. 11
  • 14. Le mode raffinage • Un modèle M1 devient un modèle M2 • Ce mode est spécifié par le mot clef refining dans l’en-tête. • Il est utilisé dans le cas d’une transformation endogène : un même méta-modèle source et cible 12
  • 15. XMI « XML Metadata Interchange » Les modèles et leurs méta-modèles cibles et source prennent dans l’environnement de développement Eclipse la forme de fichiers texte au format xmi avec une extension .ecore. XMI permet de représenter n’importe quel modèle sous forme de document XML. Le principe de fonctionnement de XMI consiste à générer automatiquement une specification de structuration de balises à partir d’un méta-modèle. 13
  • 16.
  • 17. Color: white Cle: 2 Rayon: 2 Color: black Cle: 6 Rayon: 5.5 Color: red Cle: 11 Rayon: 6.5Architecture 14 • Principe de Tutoriel: Figure 02: Modèle source des cercles
  • 18. Color: white Cle: 2 Length: 2 Base Color: black Cle: 6 Length: 5.5 Color: red Cle: 11 Length: 6.5 15 Figure 03: Modèle cible des carrés
  • 19. Règle 1: Architecture à Base Architecture Base 16
  • 20. Règle 2: cercles vers carrés 17
  • 21. Règle 3: relations vers relations 18
  • 22. 1 2 • Installation d’ATL: 1: Cliquer sur Help » Install Modeling Components 2: Sélectionner ATL » Cliquer sur Finish 19
  • 23. 4: Sélectionner ‘ I accept …’ » Cliquer sur Finish 3: Cliquer sur Next 20
  • 24. 21 • Création d’un projet ATL • Cliquer Sur: New »Other »ATL Project »Next
  • 25. 22 5: Nommer le Projet »Cliquer sur Finish 6: Projet Créé !
  • 26. 23 • Clique droit sur le Projet »New »Folder • Nommer le Dossier » Cliquer sur Finish • Créer un dossier dans le projet:
  • 27. 24 7: Répeter la procédure de création des dossiers dans le Projet » Et Créer les 3 dossiers suivants :
  • 28. 25 • Clique droit sur Metamodels » New »Other • Sélectionner Ecore Model » Cliquer sur Next
  • 29. 26 • Sélectionner Metamodels • Nommer le fichier .ecore • Cliquer sur Finish • Résultat
  • 30. 27 8: Dans la vue Properties Remplissez les champs comme on a montré dans la figure. • Résultat
  • 31. 28 • Clique droit sur le modèle ecore » Initialize Ecore Diagram • Sélectionner Metamodels » Nommer le fichier » Cliquer sur Finish.
  • 32. 29 • Créer le Méta-modèle du cercle suivant: Vue de type arbre (extension ecore)
  • 33. 30 • Créer un fichier .ecore pour le carré comme on a fait précédemment pour le cercle: • Remplir les champs comme suit :
  • 34. 31 • Créer le Méta-modèle du carré suivant: Vue de type arbre (extension ecore)
  • 35. 32 • Clique droit sur Architecture »Create Dynamic Instace • Sélectionner Models »Nomme le fichier .xmi •Résultat
  • 36. 33 • Construire les instances:
  • 37. 34 • Clique droit sur Architecture » New Child »Relations Relation • Sélectionner l’instance Relation »Remplir les champs pour faire la relation
  • 38. 35 • Clique droit sur Transformation »New »Other • Sélectionner ATL Fil1e »appuyer sur Next • Création d’un fichier de Transformation ATL:
  • 39. 36 • Sélectionner Transformations »Nommer le fichier .atl • Cliquer sur Add
  • 40. 37 • Cliquer sur Browse Workspace • Sélectionner Circle_metamodel.ecore » Cliquer sur Ok
  • 41. 38 • l’ajout des 2 Méta-modèles source et cible • Cliquer sur Finish • Résultat
  • 42. 39 • Les règles de correspondances
  • 43. 40 • Clique droit sur le fichier .atl »Run As »Run Configurations
  • 44. 41 • Création d’une nouvelle configuration • Cliquer sur Workspace
  • 45. 42 • Sélectionner le fichier .atl » Ok • Cliquer sur Workspace
  • 46. 43 • 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
  • 47. 44 • La transformation M2M est réussite !
  • 48. Conclusion 45 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.