04/10/2008
1
1
Mireille Blay-Fornarino – 2008
II. Principes généraux de l’ingénierie dirigée par les modèles
a) Modèle ?b) Correspondances entre modèlesc) Transformations de modèles
2
Mireille Blay-Fornarino – 2008
Les concepts de modèles en une image ...
04/10/2008
2
4
Mireille Blay-Fornarino – 2008
MDA: concepts de base
Un modèle est une spécification formelle d’une fonction, d’une structure et/ou du comportement d’un système
Exemples:Le code Source est un modèleUne spécification basée sur UML est un modèle
““Design once, Design once, buildbuild itit on on anyany platformplatform””
5
Mireille Blay-Fornarino – 2008
Modèle
• définition du standard UML – "A model is an abstraction of a physical system, with a certain
purpose."
• "A model is a simplification of a system built with an intended goal in mind. The model should be able to answer questions in place of the actual system.“ : Bézivin et Gérbé
modèle systéme modéliséµ Représente
Magritte
04/10/2008
3
6
Mireille Blay-Fornarino – 2008
Un modèle : un point de vue sur un système
Percentageof termite infestation
in France.
The System
Models
France in 1453The cheesefrench map
Railroad mapin western fFrance
System ModelrepOf
7
Mireille Blay-Fornarino – 2008
Modèle : abstraction/simplification
Make everything as simple as possible, but not simpler. by Albert Einstein
Metro avant 1949
04/10/2008
4
8
Mireille Blay-Fornarino – 2008
MDA proposed R&D Agenda : "Everything is a model"
… (or may be converted into a model), not only PIMs and PSMs1. A process is a model 2. A platform is a model 3. A transformation is a model 4. A system is a model 5. A metamodel is a model 6. A model-element is a model 7. A program is a model 8. An execution trace is a model 9. A measure is a model 10. A test is a model11. A decoration is a model12. An aspect is a model13. A pattern is a model14. A legacy system is a model 15. etc.
11
Mireille Blay-Fornarino – 2008
Modèle représentant un modèle
modèle système modélisé µ µ systéme
modélisé modèle
<MAP name="france" taille="20x20"> <region> <departement> 38 </departement> <departement> 73 </departement> ... <couleur> Vert
Ce n’est pas un métamodèle !
04/10/2008
5
12
Mireille Blay-Fornarino – 2008
Un modèle n’a pas de signification sans « son métamodèle »
Percentage of places infestedby termites in France.
First round of politicalelection in France in 2002.
13
Mireille Blay-Fornarino – 2008
Modèle et métamodèle
The System S
class(Group);class(User);class(FileElement);class (File);class (Directory);association(belongsTo,User*,Group)association(owns,User,FileElement*)association(contains,Directory,FileElement*)inherits(File,FileElement);inherits(Directory,FileElement);
meta(Student,Group);meta(Teacher,Group);meta(Bob,User);meta(Jim,User);meta(Esther,User);meta(Mary,User);meta(F1,File);meta(F2,File);meta(F3,File);meta(F4,File);meta(F5,File);meta(D1,Directory);meta(D2,Directory);meta(D3,Directory);
Linux
belongsTo(Esther,Teacher);belongsTo(Mary,Teacher);belongsTo(Jim,Student);belongsTo(Bob,Student);owns(Esther,D1);owns(Esther,F1);contains(D1,F1);owns(Mary,D2);owns(Mary,F2);contains(D2,F2);owns(Bob,D3);owns(Bob,F3);contains(D3,F3);contains(D2,D3);owns(Jim,F4);owns(Jim,F5);contains(D1,F4);contains(D2,F5);
The Meta-model
A Model
04/10/2008
6
14
Mireille Blay-Fornarino – 2008
Métamodèle dans l’IDM : vers des modèles productifs
• dans le contexte de l'IDM, Warmer et ses collègues donnent la définition suivante:"A model is a description of (part of) a system written in a well-defined
language"
• "A meta-model is a model that defines the language for expressing a model".
χ métamodèle modèle
ConformeA
Région
Département
15
Mireille Blay-Fornarino – 2008
Des langages pour décrire des métamodèles
• Meta Object Facility (MOF)• Eclipse Modeling Framework (EMF)• Graph eXchange Language Metaschema (GXL)• UML 2.0 infrastructure• KM3
04/10/2008
7
16
Mireille Blay-Fornarino – 2008
La pyramide des quatre niveaux
meta-meta modèle
meta
modèle
Données UtilisateurM0
M1
M2
M3
17
Mireille Blay-Fornarino – 2008
Relations entre les niveaux
the UML Meta-Model
Class Attribute*1
a UML Model
Client
Name : String
M2
M1
the MOF
Class Associationsource
destination
M3
c2
c2
c2
metameta meta
metameta
metamodelmodel
"the real world"
meta-metamodel The MOF
The UML metamodel
Some UML ModelsVarious usagesof these models
M0
M1
M2
M3
χ χ
χ χ χ
04/10/2008
8
18
Mireille Blay-Fornarino – 2008
Les 4 niveaux de modélisation
• Hiérarchie à 4 niveaux existe en dehors du MOF et d'UML, dans d'autres espaces technologiques que celui de l'OMG– Langage de programmation
• M0 : l'exécution d'un programme• M1 : le programme• M2 : la grammaire du langage dans lequel est écrit le programme• M3 : le concept de grammaire EBNF
– XML• M0 : données du système• M1 : données modélisées en XML• M2 : DTD XML• M3 : le langage XML
19
Mireille Blay-Fornarino – 2008
II. Principes généraux de l’ingénierie dirigée par les modèles
a) Modèle ?b) Correspondances entre modèlesc) Transformations de modèles
Top Related