ii. principes généraux de l’ingénierie dirigée par les...

8
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èles c) Transformations de modèles 2 Mireille Blay-Fornarino – 2008 Les concepts de modèles en une image ...

Upload: volien

Post on 16-Sep-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: II. Principes généraux de l’ingénierie dirigée par les modèlesusers.polytech.unice.fr/.../IDM/Introduction/Modele2008Cours.pdf · Principes généraux de l’ingénierie dirigée

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 ...

Page 2: II. Principes généraux de l’ingénierie dirigée par les modèlesusers.polytech.unice.fr/.../IDM/Introduction/Modele2008Cours.pdf · Principes généraux de l’ingénierie dirigée

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

Page 3: II. Principes généraux de l’ingénierie dirigée par les modèlesusers.polytech.unice.fr/.../IDM/Introduction/Modele2008Cours.pdf · Principes généraux de l’ingénierie dirigée

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

Page 4: II. Principes généraux de l’ingénierie dirigée par les modèlesusers.polytech.unice.fr/.../IDM/Introduction/Modele2008Cours.pdf · Principes généraux de l’ingénierie dirigée

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 !

Page 5: II. Principes généraux de l’ingénierie dirigée par les modèlesusers.polytech.unice.fr/.../IDM/Introduction/Modele2008Cours.pdf · Principes généraux de l’ingénierie dirigée

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

Page 6: II. Principes généraux de l’ingénierie dirigée par les modèlesusers.polytech.unice.fr/.../IDM/Introduction/Modele2008Cours.pdf · Principes généraux de l’ingénierie dirigée

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

Page 7: II. Principes généraux de l’ingénierie dirigée par les modèlesusers.polytech.unice.fr/.../IDM/Introduction/Modele2008Cours.pdf · Principes généraux de l’ingénierie dirigée

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

χ χ

χ χ χ

Page 8: II. Principes généraux de l’ingénierie dirigée par les modèlesusers.polytech.unice.fr/.../IDM/Introduction/Modele2008Cours.pdf · Principes généraux de l’ingénierie dirigée

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