UM 2 TP2 Facult´e des Sciences
2 Manipulation de mod`eles en EMF/Java
Objectif
G´en´erer le code d’un m´eta-mod`ele donn´e.
Charger et manipuler des mod`eles (chier xmi) en Java/EMF.
2.1 G´en´eration du code
R´ecup´erez le m´eta-mod`ele maps.ecore http: // www2. lirmm. fr/ ~ferdjoukh/ cv. html .
Pour g´en´erer le code du m´eta-mod`ele maps, suivez les ´etapes suivantes :
Cr´eer un nouveau EMF Empty project nomm´e maps.
Copier le chier maps.ecore dans le dossier model du projet maps.
Cr´eer un chier maps.genmodel.
Menu contextuel sur maps.ecore New Other,
EMF Generator Model Nommer puis Next Choisir Ecore Model puis Next,
Appuyer sur Load (pas d’erreurs) puis Next Finish.
Ouvrir le chier cr´e´e et menu contextuel sur la racine Generate Model Code.
Regarder le dossier src du projet, 3 nouveaux packages ont ´et´e cr´es. Ils contiennent des
classes pour instancier le m´eta-mod`ele et manipuler ses mod`eles conformes.
2.2 Charger une instance
Cr´eer un nouveau package java dans le dossier src et le nommer test.
Copier le chier test.java dans le package src/test.
Copier l’instance map.xmi dans le dossier model.
Ex´ecuter le programme test.java pour voir ce qu’il fait.
2.3 Travail demand´e
Utiliser la m´ethode chargerModele contenue dans test.java pour ´ecrire les m´ethodes suivantes :
R´ecup´erer et acher les noms de toutes les rues (Street) d’une map donn´ee.
R´ecup´erer toutes les rues pietonnes (Pedetrian) dont la longueur d´epasse 1000m.
Pour un nom de boulevard donn´e (Boulevard), trouver tous les noms des routes adjacentes.
Pour un nom de place (Square) donn´e, trouver tous les noms des routes la bordant.
Astuce G´en´erer le ECore Diagram du m´eta-mod`ele pour mieux voir les classes et r´ef´erences.
UM Septembre 2015 Facult´e des Sciences
1 / 1 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 !