16/09/2010
1
Modèles et Métamodèles
Cedric Dumoulin
Plan
Définition
Comment faire un métamodèles
Papyrus
les éléments de base
Comment générer les classes Java
Tester le métamodèle
Créer un modèle de façon
programmatique
16/09/2010
2
Définitions
Modèlisation
activité qui permet d’appréhender un système complexe en
vue d’en déduire ses caractéristiques en tenant compte de
différents points de vue.
conduit à un ensemble de modèles
Modèles
c’ est une simplification de la réalité
c’ est une abstraction de la réalité
Peut prendre différentes formes: schéma, texte, ...
Métamodèles
Définit les concepts utilisables dans le modèle
Définit le vocabulaire ou la grammaire
Exemples de modèles et
métamodèles
fichier XML DTD ou schema
carte routière légende
modèle UML métamodèle UML
modèle Java métamodèle Java
16/09/2010
3
Model and Metamodel
OMG view
Meta-metamodel
Language to describe languages
Ex : ECore, MOF
Metamodel
Can be seen as a “language” definition:
Available modeling elements
Construction rules
Model
Follow the rules expressed in the language
Describe an application
Application
Concrete realization of a model
Example : generated code
meta metamodel
M3
(Ecore, MOF)
metamodel
M2
(UML description)
model
M1
(UML example)
application
M0
(a program)
Metametamodel
Concevoir un métamodèle
Les éléments structurants
Les classes
pour définir les concepts du MM
Les éléments de regroupement
les paquetages
Les éléments de documentation
Les notes
Coordonnee
telephone : undefined
eMail : undefined
fax : undefined
<<comment>>
Ceci est une note
PckFournisseur1
16/09/2010
4
Concevoir un métamodèle
Les relations
d’association
par référence
par composition
de généralisation
nomAssociationrôle1 rôle2
1..* 0..1
Langages
pour la conception de MM
MOF
Meta Object Facilities
Définit par l’OMG
ECore
similaire a MOF
définit par Eclipse
permet de générer des classes Java
UML + profile
Pour concevoir un MM avec UML
16/09/2010
5
Exemple de MM
En pratique : Générer les
classes à partir du MM
Dessiner le MM dans un éditeur UML (comme
Papyrus)
Importer le modèle UML dans un projet EMF
Générer les classes à partir du .genmodel
Editeur
UML
.uml
.genmodel src/*.java
editor
.ecore
édite importe generate
EMF -Eclipse
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !