Créer un métamodèle et générer le code correspondant

Créer un métamodèle
et générer le code correspondant
Le but de ce TP est de vous familiariser avec EMF. Vous allez apprendre à :
Créer un métamodèle UML avec Papyrus
Créer un métamodèle Ecore à partir du métamodèle UML
générer les classes Java à partir d’un métamodèle ECore
utiliser l’éditeur arborescent généré
créer de façon programmatique un modèle correspondant à votre
métamodèle
Questions rifiez vos connaissances
A la fin du TP, vérifiez vos connaissances nouvellement acquises en répondant
aux questions suivantes.
Vous devez répondre aux questions dans un document électronique à rendre au
format .pdf ou .txt.
Comment créer un métamodèle avec Papyrus ?
Comment créer un projet EMF à partir d’un modèle UML ?
Comment générer les classes Java et les éditeurs avec EMF ?
Comment exécuter l’éditeur généré ?
Comment créer une instance de modèle conforme au métamodèle ?
Quel doit être le concept racine de mon modèle ?
Tutorial EMF
Faite le tutorial «EMF - Generating an EMF Model” : Help->Help Contents
puis EMF Tutorial.
o Pour le tutorial, choisissez de charger le model à partir de Rose
(.mdl). Ne faites pas les exemples avec un chargement à partir de
Java ou autre.
Maintenant, vous allez créer votre métamodèle Java et générer les classes et les
éditeurs.
Créer un métamodèle avec Papyrus
Papyrus est un modeleur UML. Il permet de créer graphiquement des modèles
UML.
Dans ce TP, nous allons nous en servir pour commencer à créer notre métamodèle
Java. Pour cela, nous allons nous servir d’un diagramme de classes.
Lancez Papyrus
o Voir la page du fil :
http://www.fil.univ-lille1.fr/INTRANET/Evolution_Logiciels.html
o Utilisez un nouveau workspace nommé « modelesUML »
o Choisissez de créer un nouveau projet Papyrus, nommez le
« javagen.metamodel ». Nommez le modèle « mjava ».
Papyrus s’ouvre avec un diagramme de classe. Créez en un si il n’y en a pas.
Vous pouvez maintenant créer graphiquement quelques métaclasses de votre
métamodèle. Pour cela, créez des classes dans le diagramme et vous leur donnez
un nom. Contentez-vous de quelques concepts de base, comme package, classe,
attribut et méthode. Vous ajouterez les autres concepts par la suite.
Créer un projet EMF
Une fois le modèle UML créé, nous allons créer le métamodèle Ecore et le
générateur EMF (fichier .ecore et .genmodel). Il faut pour cela créer un nouveau
projet Eclipse.
Lancez Eclipse
o Voir la page du fil :
http://www.fil.univ-lille1.fr/INTRANET/Evolution_Logiciels.html
o Utilisez un nouveau workspace nommé « generateurjava »
Vous devez créer un nouveau projet EMF :
new -> project … puis Eclipse Modeling Framework -> EMF Project
Choisissez d’importer à partir d’UML
Recherchez votre modèle mjava.uml (Browse File System …)
Gardez les options
Choisissez le package mjava
Vous devez maintenant avoir un fichier .ecore et un fichier .genmodel
correspondent à votre métamodèle.
Ouvrez le .genmodel et comparez le au modèle UML. Que sont devenu vos
classes ?
Générer les classes Java pour le métamodèle
A partir du .genmodel, il est possible de générer :
des classes Java pour manipuler des modèles conforme à notre
métamodèle
un éditeur arborescent pour créer graphiquement des modèles
Pour cela, il faut générer les classes Java et les éditeurs :
ouvrez le .genmodel
selectionnez la racine
menu contextuel -> Generate All
Les classes et les éditeurs sont générés.
Tester l’éditeur arborescent généré
Pour savoir comment tester les éditeurs, vous pouvez aussi vous référer au
tutorial EMF.
Testez les classes et l’éditeur généré.
Vous devez lancer un deuxième Eclipse qui servira d’environnement de tests :
Run -> Run As -> Eclipse Application
Vous pouvez aussi cliquer sur la flèche noir à coté de cette icône , puis Run
As -> Eclipse Application
Dans l’Eclipse de test, créez un projet « test », new project -> general ->
project .
Puis créez un modèle en utilisant le wizard adéquat (cherchez le !)
Enrichir son métamodèle
Vous pouvez modifier votre métamodèle pour ajouter de nouveaux concepts
(Property, Method, …). Une fois fait, il faut recharger le tamodèle Ecore et
régénérer les classes et éditeurs :
modifiez votre métamodèle
Allez dans le projet contenant votre .genmodel et selectionnez-le
menu contextuel->Reload Model …
puis recommencez les étapes de générations de code et de teste de
l’éditeur arborescent.
Créer un modèle de façon programmatique
Un modèle peut aussi être créé, sauvé et chargé à l’aide d’un programme Java.
La documentation EMF (Help -> Help Content -> EMF Programmer’s
Guide -> EMF Framework Programmer’s Guide) donne des exemples de
code pour charger et sauver un modèle à l’aide des classes Java générées.
Créez une classe executable (i.e. avec une méthode main() )
javagen.metamodel.tests.TestProg.java. Dans cette classe :
Créez un mjava.package contenant une mjava.class
Sauvez le modèle dans un fichier xml
Chargez le modèle
1 / 5 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 !