Ingénierie Dirigée par les Modèles: TP n°3
Ingénierie Dirigée par les Modèles
- Création d’instances via l’éditeur généré -
A. But
Quatre principaux objectifs seront visés :
• Générer un éditeur graphique ;
• Exécuter une configuration d'exécution ;
• Créer des instances via l'éditeur généré ;
• Valider des contraintes.
B. Description
Nous allons maintenant générer le code correspondant à un éditeur graphique. Cet éditeur
sera utilisé pour créer graphiquement des instances de notre modèle. Nous vérifierons par
ailleurs la validité de notre modèle par rapport à un jeu d'instances.
C. Étapes à suivre
• À partir du modèle de génération (genmodel), ouvrir l'éditeur EMF Generator et générer
le code de l'éditeur (Generate Edit Code et Generate Editor Code).
Deux plugins doivent être créés (eclipse.emf.addressbook.edit et
eclipse.emf.addressbook.editor).
1
Passer en perspective Java et créer une configuration d'exécution (Run -> Run
Configurations…) à partir d'un type Eclipse Application. Nommer cette configuration
AddressBookConfiguration, puis modifier la valeur de son chemin avec cette valeur
(${workspace_loc}/runtime-AddressBookConfiguration).
• Ajouter à cette configuration d'exécution les trois plugins (addressbook, edit et editor). •
Décocher Target Platform puis faites Add Required Plug-ins.
• Ajouter enfin le plugin org.eclipse.ui.ide.application et org.eclipse.ui.navigator.resources
et faites une nouvelle fois Add Required Plug-ins.
2
• Exécuter cette configuration d'exécution. Une nouvelle instance d'Eclipse s'exécute en
intégrant votre éditeur de modèle de carnet d'adresse.
• Créer un simple projet (File -> New -> Project… -> General -> Project) que vous appellerez
AddressBookSampleInstances.
• À partir de cette nouvelle instance, créer une instance du modèle AddressBook (File
-> New -> Other… -> Example EMF Model Creation Wizards -> Addressbook Model) que
vous appellerez Sample.addressbook. Choisir ensuite Address Book comme modèle objet à
créer.
3
4
•
Construire les instances via l'éditeur associé à votre modèle en s'appuyant sur les
instances données ci-dessous.
<addressbook:AddressBook ...>
<contains familyName="DUPONT" firstName="Raoul" age="37">
<location number="1" street="Rue DotNet"/>
</contains>
<contains familyName="BARON" firstName="Mickael" age="36">
<location number="50" street="Place de Java"/>
</contains>
<contains familyName="SARPOL" firstName="John" age="38">
<location number="50" street="Square Express"/>
</contains>
</addressbook:AddressBook>
5
Sélectionner le nœud racine de vos instances et valider ces instances en cliquant sur Validate
(via le menu contextuel).
6