Académique Documents
Professionnel Documents
Culture Documents
Christine Solnon
2014 - 2015
1/47
Introduction
2/47
Introduction
Questions :
Peut-on décrire tous les langages comme ça ?
Comment décrire le langage des grammaires formelles ?
; Plus de détails dans le cours “Grammaires et langages"
3/47
Introduction
7/47
Méta-modélisation, description et manipulation de modèles Méta-modélisation et MOF
Plan du cours
1 Introduction
3 Model-Driven Architecture
8/47
Méta-modélisation, description et manipulation de modèles Méta-modélisation et MOF
Méta-modèles
Qu’est-ce qu’un méta-modèle ?
Modèle d’un ensemble de modèles
' Grammaire décrivant un langage de modélisation
; Définit la syntaxe abstraite des modèles
9/47
Méta-modélisation, description et manipulation de modèles Méta-modélisation et MOF
Méta-méta-modèles
Qu’est-ce qu’un méta-méta-modèle ?
Modèle d’un ensemble de méta-modèles
' Grammaire décrivant les grammaires décrivant des lang. de modélisation
; Définit la syntaxe abstraite des méta-modèles
11/47
Méta-modélisation, description et manipulation de modèles Méta-modélisation et MOF
M2 : Méta-modèles des
modèles de M1
M1 : Modèles
(Diagrammes de classes,
de séquence, ...)
M0 : Instances des
modèles à l’exécution
13/47
Méta-modélisation, description et manipulation de modèles Méta-modélisation et MOF
Pourquoi le MOF ?
Standardisation des langages de méta-modélisation
; Outils génériques pour la transformation de modèles
14/47
Méta-modélisation, description et manipulation de modèles Méta-modélisation et MOF
15/47
Méta-modélisation, description et manipulation de modèles Méta-modélisation et MOF
Description de MOF2.0
Essential MOF (EMOF) : décrit méta-modèles sans association
; Intègre le package Basic de l’infrastructure
Complete MOF (CMOF) : décrit méta-modèles avec associations
; Intègre le package Constructs de l’infrastructure
17/47
Méta-modélisation, description et manipulation de modèles Contraintes et OCL
Plan du cours
1 Introduction
3 Model-Driven Architecture
18/47
Méta-modélisation, description et manipulation de modèles Contraintes et OCL
context Pile
inv : taille() >= 0
inv : taille() = 0 implies estVide()
inv : estVide() implies taille()=0)
...
21/47
Méta-modélisation, description et manipulation de modèles Contraintes et OCL
Commentaire ?
22/47
Méta-modélisation, description et manipulation de modèles Contraintes et OCL
Plan du cours
1 Introduction
3 Model-Driven Architecture
24/47
Méta-modélisation, description et manipulation de modèles XMI/JMI et la sérialisation/manipulation de modèles
26/47
Méta-modélisation, description et manipulation de modèles XMI/JMI et la sérialisation/manipulation de modèles
Plan du cours
1 Introduction
3 Model-Driven Architecture
28/47
Méta-modélisation, description et manipulation de modèles Synthèse
Plan du cours
1 Introduction
3 Model-Driven Architecture
Présentation générale
MDA et les profils UML
Eclipse Modeling Framework
30/47
Model-Driven Architecture Présentation générale
31/47
Model-Driven Architecture Présentation générale
Exemples de
mise-en-œuvre :
Les profils UML
EMF (Eclipse
Modeling
Framework)
32/47
Model-Driven Architecture MDA et les profils UML
Plan du cours
1 Introduction
3 Model-Driven Architecture
Présentation générale
MDA et les profils UML
Eclipse Modeling Framework
33/47
Model-Driven Architecture MDA et les profils UML
Profils UML
34/47
Model-Driven Architecture MDA et les profils UML
Contrainte en français :
Une association Coloured ne peut lier que
des classes Coloured de même couleur que
l’association
Contrainte en OCL :
37/47
Model-Driven Architecture MDA et les profils UML
Contrainte
Plan du cours
1 Introduction
3 Model-Driven Architecture
Présentation générale
MDA et les profils UML
Eclipse Modeling Framework
39/47
Model-Driven Architecture Eclipse Modeling Framework
Eclipse ?
Une plateforme de développement “open source" :
Cadre extensible (plug-in) pour construire et maintenir des logiciels
Environnement de développement (IDE) construit à l’aide de ce cadre
Structurée en projets :
JDT : Java development tools
PDE : Plugin Development Environment
GMF : Graphical Modeling Framework
...
EMF : Eclipse Modeling Framework
The EMF project is a modeling framework and code generation facility for
building tools and other applications based on a structured data model.
40/47
Model-Driven Architecture Eclipse Modeling Framework
UML :
Java :
XML :
41/47
Model-Driven Architecture Eclipse Modeling Framework
Le Méta-modèle Ecore
Méta-modèle des modèles EMF
Choix délibéré d’un langage de modélisation très simple
; Sous-ensemble du MOF
Ecore
Exemple :
44/47
Model-Driven Architecture Eclipse Modeling Framework
Génération de code
Modèle de génération (genModel)
45/47
Model-Driven Architecture Eclipse Modeling Framework
47/47