II. Principes généraux de l`ingénierie dirigée par les modèles Les

Transcription

II. Principes généraux de l`ingénierie dirigée par les modèles Les
04/10/2008
1
II.
Les concepts de modèles en une image ...
2
Principes généraux de l’ingénierie dirigée
par les modèles
a) Modèle ?
b) Correspondances entre modèles
c) Transformations de modèles
Mireille Blay-Fornarino – 2008
Mireille Blay-Fornarino – 2008
3
MDA concepts
4
MDA: concepts de base
“Design once, build it on any platform”
platform”
• Au cours des deux dernières décennies l'approche orientée objet est peu à peu
devenue l'approche de choix pour le développement de logiciels dans
l’industrie. Or, l'objectif de l'IDM est de proposer une approche intégrant de
manière homogène différents espaces technologiques dans laquelle l'approche
orientée-objet et la technologie correspondante ne représentent qu'un cas
particulier.
• Se pose alors la question des concepts essentiels. L'approche orientée objet est
basée sur deux relations fondamentales: la relation InstanceDe qui permet
d'introduire la notion de classe et la relation HériteDe qui permet d'introduire la
notion de superclasse. Il s'agit de déterminer quels sont les relations et les
concepts essentiels de l'IDM. Bien qu'aucune réponse à cette question ne puisse
être définitive à ce stade des recherches, il apparaît de plus en plus consensuel
que deux relations sont fondamentales. La première relation, appelée
ReprésentationDe est liée à la notion de modèle, alors que la relation
EstConformeA permet de définir la notion de modèle par rapport à celle de
métamodèle. Il est essentiel de comprendre que ces relations peuvent avoir des
incarnations différentes dans tel où tel espace technologique, même si des
concepts similaires peuvent s’y retrouver. C'est là le point fort de l'IDM, que de
faire ressortir des concepts essentiels et fédérateurs de technologies
développées de manière disjointe.
Mireille Blay-Fornarino – 2008
ƒ 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èle
ƒ Une spécification basée sur UML est un modèle
Mireille Blay-Fornarino – 2008
5
Modèle
Un modèle : un point de vue sur un système
France in 1453
• 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
µ
The cheese
french map
Percentage
of termite infestation
in France.
The System
Railroad map
in western
fFrance
systéme modélisé
Représente
System
Magritte
Mireille Blay-Fornarino – 2008
6
repOf
Models
Model
Mireille Blay-Fornarino – 2008
1
04/10/2008
Modèle : abstraction/simplification
MDA proposed R&D Agenda :
"Everything is a model"
7
… (or may be converted into a model), not only PIMs and PSMs
1. 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 model
11. A decoration is a model
12. An aspect is a model
13. A pattern is a model
14. A legacy system is a model
15. etc.
Metro avant 1949
Make everything as simple as possible, but not simpler. by Albert Einstein
Mireille Blay-Fornarino – 2008
Mireille Blay-Fornarino – 2008
Lewis Carroll and the 1:1 map
9
Lewis Carroll and the blank map
10
De la « pertinence » d’un modèle
De la « complétude » d’un modèle
“That’s another thing we’ve learned from your Nation,” said Mein Herr, “map-making. But we’ve
carried it much further than you. What do you consider the largest map that would be really
useful?”
“About six inches to the mile.”
“Only six inches!” exclaimed Mein Herr. “We very soon got to six yards to the mile. Then we tried
a hundred yards to the mile. And then came the grandest idea of all! We actually made a map
of the country, on the scale of a mile to the mile!”
”Have you used it much?” I enquired.
“It has never been spread out, yet,” said Mein Herr: “the farmers objected: they said it would
cover the whole country, and shut out the sunlight! So we now use the country itself, as its own
map, and I assure you it does nearly as well."
Lewis Carroll, Sylvie and Bruno concluded (Londres, 1893)
He had bought a large map representing the sea,
Without the least vestige of land:
And the crew were much pleased when they found it to be
A map they could all understand.
"What's the good of Mercator's North Poles and Equators,
Tropics, Zones, and Meridian Lines?"
So the Bellman would cry: and the crew would reply
"They are merely conventional signs!
"Other maps are such shapes, with their islands and capes!
But we've got our brave Captain to thank:
(So the crew would protest) "that he's bought us the best-A perfect and absolute blank!"
See also J.-L. Borges, J. François, and more recently Umberto Eco.
Mireille Blay-Fornarino – 2008
THE HUNTING OF THE SNARK
an Agony in Eight Fits by Lewis Carroll
Mireille Blay-Fornarino – 2008
Modèle représentant un modèle
11
Un modèle n’a pas de signification sans « son métamodèle »
First round of political
election in France in 2002.
<MAP name="france"
taille="20x20">
<region>
<departement>
38
</departement>
<departement>
73
</departement>
...
<couleur>
Vert
8
modèle
µ
systéme
modélisé
modèle
µ
12
Percentage of places infested
by termites in France.
système
modélisé
Ce n’est pas un métamodèle !
Mireille Blay-Fornarino – 2008
Mireille Blay-Fornarino – 2008
2
04/10/2008
13
Modèle et métamodèle
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);
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);
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);
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".
χ
Li
nu
x
modèle
The Meta-model
Région
métamodèle
Département
ConformeA
A Model
The System S
Mireille Blay-Fornarino – 2008
Mireille Blay-Fornarino – 2008
Des langages pour décrire des métamodèles
•
•
•
•
•
14
15
La pyramide des quatre niveaux
Meta Object Facility (MOF)
Eclipse Modeling Framework (EMF)
Graph eXchange Language Metaschema (GXL)
UML 2.0 infrastructure
KM3
meta-meta modèle
16
M3
M2
meta
M1
modèle
M0
Données Utilisateur
Mireille Blay-Fornarino – 2008
Mireille Blay-Fornarino – 2008
17
Relations entre les niveaux
source
Class
M3
M2 metamodel
M1
M0
model
Association
destination
meta-meta
model
The MOF
The UML
c2
metamodel
Some UML Models
Various usages
of these models
χ
meta
χ
meta
χ
meta
the UML Meta-Model
M2
18
c2
the MOF
M3
Les 4 niveaux de modélisation
1
Class
*
Attribute
• 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
"the real world"
c2
meta
χ
a UML Model
M1
Client
χmeta
•
•
•
•
M0 : données du système
M1 : données modélisées en XML
M2 : DTD XML
M3 : le langage XML
Name : String
Mireille Blay-Fornarino – 2008
Mireille Blay-Fornarino – 2008
3
04/10/2008
19
II.
Principes généraux de l’ingénierie dirigée
par les modèles
a) Modèle ?
b) Correspondances entre modèles
c) Transformations de modèles
Mireille Blay-Fornarino – 2008
4