Académique Documents
Professionnel Documents
Culture Documents
G. Halin
Introduction
• La transformation de modèle
occupe une place importante
dans le MDA
• Met en œuvre la traçabilité
entre les modèles
• CIM -> PIM :
– construction de PIM partiel en
fonction des exigences
• PIM -> PSM :
– Plus importante : lien avec les
plates-formes d’exécution
– Assure la pérennité des
modèles
• PSM -> Code
– Génération de code
– Transformation de modèle ?
Métamodèle Définition de la
Métamodèle
d’entrée transformation de sortie
Deux métamodèles :
• Règles de correspondance
1. A tout auteur correspond une personne
2. Le nom de la personne correspond au nom de
l’auteur
3. Le prénom de la personne correspond au prénom de
l’auteur
Programmation
Template
• Définition d’un document XMI paramétré du modèle cible
• Paramètre : balise spécifique exécutable
• Exemple à la JSP (au est un auteur)
Principe
Modélisation d’une transformation
Vue simplifiée du métamodèle
• Module : une transformation
• Package : Modèles sources et
cibles
• Query : requêtes effectuées pour la
transformation
– Exprimées en OCL
• View : correspondance structurelle
entre les métamodèles
– Domain : une partie d’un
métamodèle
– Forme déclarative
• Transformation : règle de
construction exprimée par des
expressions
(MatchingExpression)
– Forme impérative (instruction)
• La tranformation peut être :
– Déclarative (view)
– Impérative (transformation)
Metamodel1
source
Auteur2Personne Metamodel2
destination
UneTransformation
ATL : Atlas Transformation Language
ATL, Exemple
Metamodel1 Metamodel2
Transformation de modèle
Du modèle d’analyse à la conception
• Au sein du MDA
– du PIM au PSM
– utilisation du PDM
• stéréotypes
• contraintes
• Illustration avec VP
14
• Classes stéréotypées
• boundary
• control
• entité
• Architecture 3 tiers
• MVC
15
• Structuration en paquetages
16
PIM : Modèle d’analyse
• Structuration en
paquetages
17
• Structuration en paquetages
– correction du modèle initial
18
vue MVC
vue persistance
Application
• Framework de persistance
– ORM : Object Relational Mappin
– Mapping entre Objet et Relation (Table)
20
r
21
Passage au PSM : la vue MVC
23
La vue de persistance
vin
package vins;
package vins;
La vue de persistance
package vins;
import java.util.HashSet;
import java.util.Set;
La vue de persistance
vin
package vins;
package vins;
import java.util.Set; abu
import java.util.HashSet;
public class Buveur {
private Long numeroBuv;
private String nom;
private String prenom;
private Set<Vin> abu = new HashSet<Vin>(); 29
30
fi
La transformation : utilisation du pro l <ORM>
• Les liens :
0..*
0..1
relation non identi ante
31
fi
fi
fi
Prise en compte des relations
32
Génération de la BD : stratégie d’héritage
vin
vinDeGarde
vinConso
33
n
vin
vinDeGarde vinConso
buveur abu
producteur
34
Génération de la BD : stratégie d’héritage
vinConso
vinDeGarde
35
n
vinConso
buveur abu
producteur
36
Génération de la BD : stratégie d’héritage
vin
37
n
buveur abu
producteur
38
Conclusion