Plan
Introduction Approche MDA (Model Driven Architecture) ATL (Atlas Transformation Language) Exprience dimplmentation Bilan
Plan
Introduction Approche MDA (Model Driven Architecture) ATL (Atlas Transformation Language) Exprience dimplmentation Bilan
Introduction
MDA
ATL
Implmentation
Bilan
Introduction
MDA
ATL
Implmentation
Bilan
Processus
Calculs Diagramme de classe
Annotations Transformation
Manuel Automatique
Plan
Introduction Approche MDA (Model Driven Architecture) ATL (Atlas Transformation Language) Exprience dimplmentation Bilan
Introduction
MDA
ATL
Implmentation
Bilan
Model Driven Architecture (Standard OMG) - 2001 Model Driven Engineering 1980s Ingnierie Dirige par les Modles (IDM)
Introduction
MDA
ATL
Implmentation
Bilan
Introduction
MDA
ATL
Implmentation
Bilan
Introduction
MDA
ATL
Implmentation
Bilan
Introduction
MDA
ATL
Implmentation
Bilan
Est conforme
Meta-meta-metamodle M4
Est conforme
Meta-metamodle M3
Est conforme
Metamodle M2
Est conforme
modle M1
Est reprsent par
ralit M0
Introduction
MDA
ATL
Implmentation
Bilan
Est conforme Meta-metamodle Est conforme Metamodle Est conforme modle Est reprsent par ralit
M3 M2 M1 M0
Introduction
MDA
ATL
Implmentation
Bilan
Sparer les rflexions de conception des tches dimplantation. Avec des modles:
CIM Transfo PIM
Introduction
MDA
ATL
Implmentation
Bilan
Sparer les rflexions de conception des tches dimplantation. Avec des modles:
PIM Transfo Transfo1 Transfo 2 Transfo 3 PSM PSM1 PSM 2 PSM 3
Introduction
MDA
ATL
Implmentation
Bilan
Introduction
MDA
ATL
Implmentation
Bilan
Processus
Calculs Diagramme de classe
Annotations Transformation
Manuel Automatique
Introduction
MDA
ATL
Implmentation
Bilan
Debut:Attribut
:UniqueConstraint
name=Debut attribut
/uniqueKey /ownedElement
/uniqueKey
S tage
/feature :Column
Stage
/feature
Id_STG : integer Id_STG:Attribut name=Sujet Sujet : string name=Id_STG attribut attribut Dbut : char propritaire propritaire propritaire Fin [0..1] : char
Sujet:Attribut Stage:Classe_persistante name=Stage Alias=STG propritaire attribut Fin:Attribut upperValue Un:Expression symbol=1 lowerValue name=Fin
Id_STG : integer :Column Name=Numro Name=Dbut Sujet : string col Name=Fin col col isNullable=columnNullable Debut : char {Unique} :PrimaryKey Numro : integer :Column /uniqueKey /ownedElement ID_PROPName=Tuteur : integer /namespace {Unique} /feature col isNullable=columnNullable SOUT.ID_STG : integer /namespace {Unique} :Column :Table :Column Tuteur :col string Name=ID_STG col Name=Sujet Name=Stage Fin : char col
:Column col :Column Name=ID_PROP /feature /namespace /namespace :Column Name=SOUT.ID_STG isNullable=columnNullable /feature
+ Cl trangres
/uniqueKey /ownedElement /ownedElement :UniqueConstraint
/uniqueKey :UniqueConstraint
Zro:Expression symbol=0
Introduction
MDA
ATL
Implmentation
Bilan
M3
Conforme
MOF
Conforme
M2
UML
Conforme
Spcification transformation
CWM
Conforme
M1
Diagramme de classe
Transformation
Schma relationnel
Plan
Contexte Approche MDA (Model Driven Architecture) ATL (Atlas Transformation Language) Exprience dimplmentation Bilan
Introduction
MDA
ATL
Implmentation
Bilan
Langage de programmation de transformation de modle Dvelopp lINRIA de Nantes sur la plateforme eclipse Rponse la proposition RFP QVT (Query View Transformation) De gros effort de promotion, une foule dexemples disponibles En exploitation dans lindustrie (France Telecom, Thales)
Introduction
MDA
ATL
Implmentation
Bilan
M3
Conforme
MOF
Conforme
M2
UML
Conforme
Spcification transformation
CWM
Conforme
M1
Diagramme de classe
Transformation
Schma relationnel
Introduction
MDA
ATL
Implmentation
Bilan
M3
M2
M1
Transformation Excution
Introduction
MDA
ATL
Implmentation
Bilan
M3
M2
M1
Transformation Excution
Introduction
MDA
ATL
Implmentation
Bilan
Introduction
MDA
ATL
Implmentation
Bilan
Introduction
MDA
ATL
Implmentation
Bilan
Introduction
MDA
ATL
Implmentation
Bilan
rule Classe_Table { from classe : MDC!ClassePersistante to t : MLRnL!Table ( name <- classe.name, isTemporary <- false Formulation dclarative ) Ce que je cherche }
Ce que je cre en correspondance
Introduction
MDA
ATL
Implmentation
Bilan
rule Classe_Table { from classe : MDC!ClassePersistante to t : MLRnL!Table ( name <- classe.name, isTemporary <- false Nomsdes Type de variable variables ) }
Introduction
MDA
ATL
Implmentation
Bilan
rule Classe_Table { from classe : MDC!ClassePersistante to t : MLRnL!Table ( name <- classe.name, Element du isTemporary <- false Metamodle source metamodle source ) Metamodle cible } Element du metamodle
cible
Introduction
MDA
ATL
Implmentation
Bilan
rule Classe_Table { from classe : MDC!ClassePersistante to t : MLRnL!Table ( name <- classe.name, isTemporary <- false Attributs de t Affectation dune ) valeur }
Introduction
MDA
ATL
Implmentation
Bilan
rule Classe_Table { from classe : MDC!ClassePersistante to t : MLRnL!Table ( name <- classe.name, isTemporary <- false Navigation vers lattribut ) name de la variable } classe (OCL)
Plan
Contexte Approche MDA ATL Exprience dimplmentation Bilan
Introduction
MDA
ATL
Implmentation
<<persistent_class>> Personne {Alias(PERS)}
Bilan
K1_PERS {Id_PERS}
tuteur 0..1 * * <<persistent_class>> Stage {Alias(STG)} 1 Id_STG : undefined 0..1 Sujet : undefined Dbut : undefined Fin [0..1] : undefined 1 K1_PROP <<ID>> {ID_PROP} 0..1 K1_SOUT <<ID>> {K_STG} K1_ENT <<ID>> {Siret}
<<persistent_class>> Proposition {Alias(PROP)} Sujet : undefined Lieu : undefined Date : undefined * 1 entreprise <<persistent_class>> Entreprise {Alias(ENT)} Siret : undefined Raison_sociale : undefined Adresse : undefined
Niveau M1
MDA
<<metaclass>> DirectedRelationship
ATL
Implmentation
<<metaclass>> Element
Bilan
* constrainedElement
<<metaclass>> Relationship
<<metaclass>> Namespace
<<metaclass>> PackageableElement
MultiplicityElement
Niveau M2
1 general
<<metaclass>> TypedElement
<<metaclass>> StructuralFeature
UML
<<metaclass>> Class
0..1 class
<<metaclass>> Constraint
MDA
<<metaclass>> Constraint
ATL
<<metaclass>> Generalization
Implmentation
<<metaclass>> Association <<metaclass>> Class
Bilan
<<metaclass>> Property
1..* attribut
Attribut
Niveau M2
{xor}
1 Espace_de_recherche 1 1..*
UML
*
Extension
composant
1..*
Composant_identifiant
ID_exportable
Introduction
MDA
feature *
ATL
Implmentation
0..1 owner
Bilan
Feature
1 type * typedFeature keyRelationship feature 1..* * KeyRelationship keyRelationship * uniqueKey 1 * * /ownedElement /namespace 0..1
Classifier
Class
Attribute
UniqueKey
/ownedElement *
ForeignKey
/ownedElement *
/ownedElement 1..*
NamedColumnSet
/ownedElement PrimaryKey 1
Introduction
MDA
ATL
Implmentation
Bilan
Classe
Table
Attribut
Colonne
Introduction
MDA
ATL
Implmentation
Bilan
cas 1 Colonne Cl trangre Contrainte dunicit Colonne Colonne Cl trangre Contrainte dunicit Cl trangre Contrainte dunicit
cas 2 Association
Introduction
MDA
ATL
Implmentation
Bilan
Plan
Contexte Approche MDA ATL Exprience dimplmentation Bilan
Introduction
MDA
ATL
Implmentation
Bilan
Avantages dATL
Formulation dclarative Expression from to intuitive Adquation pour notre application
Inconvnients dATL
Mise en uvre technique Pour notre application, ergonomie faible Limitation de la forme dclarative
Introduction
MDA
ATL
Implmentation
Bilan