www.289eme.fr Eclipse et ses plugins de modélisation (EMF – GEF – GMF). Entrée

www.289eme.fr Eclipse et ses plugins de modélisation (EMF – GEF – GMF). Entrée en matière par Jacques Barzic Avertissement Cette version incomplète du document (eclipse_emf_gef_gmf_alpha1.0.0, voir date édition ci-dessous) comprend : • l'introdcution, • la 1ére partie : préparation de la plate-forme d'expérimentation, • la 2ème partie : Eclipse Modeling Framework (EMF), • un début de bibliographie non finalisée. PDF créé le 12 janvier 2008 2 Eclipse et EMF, GEF, GMF Jacques Barzic 01/2008 - eclipse_emf_gef_gmf_alpha1.0.0 Eclipse et EMF, GEF, GMF 3 Table des matières Index des tableaux..................................................................................................................5 Index des illustrations............................................................................................................ 7 Liste des abréviations............................................................................................................ 9 Introduction........................................................................................................................... 11 1ère Partie : la plate-forme d'accueil.................................................................................. 13 1. Eclipse : généralités........................................................................................................13 2. Installation de Eclipse 3.2.............................................................................................. 13 2.1. Préalable................................................................................................................... 13 2.2. Téléchargement - Installation................................................................................... 14 2.3. Utilisation................................................................................................................. 14 3. Les versions utilisées...................................................................................................... 14 2ème Partie : Eclipse Modeling Framework (EMF)............................................................15 1. Introduction.................................................................................................................... 15 2. Objectif de EMF............................................................................................................. 16 3. Les formats d'entrée standards.....................................................................................16 3.1. UML......................................................................................................................... 16 3.2. XMI...........................................................................................................................17 3.3. Java Annoté.............................................................................................................. 17 4. Le (méta ?)méta-modèle pivot : Ecore..........................................................................18 5. Génération du code........................................................................................................ 19 5.1. Organisation du code généré.....................................................................................19 5.2. La re-génération et la fusion..................................................................................... 20 5.3. Le modèle générateur................................................................................................20 6. Autres services proposés par EMF............................................................................... 21 6.1. La notification et les Adaptateurs.............................................................................21 6.2. La gestion de la persistance...................................................................................... 21 6.3. L'API réflective.........................................................................................................21 6.4. L'EMF dynamique.................................................................................................... 22 7. EMF et les standards OMG...........................................................................................22 7.1. Pour UML.................................................................................................................22 7.2. Pour MOF.................................................................................................................22 7.3. Pour XMI..................................................................................................................23 7.4. Pour MDA................................................................................................................ 23 8. Un peu d'exercice............................................................................................................23 8.1. Installer le plugin EMF.............................................................................................23 8.2. Disposer d'un modèle d'entrée.................................................................................. 24 8.3. Générer le modèle ecore........................................................................................... 25 8.4. Descrire le modèles .genmodel.................................................................................25 8.5. Générer le code (vu ici comme un modèle)..............................................................26 8.6. Autres générations possibles.....................................................................................27 9. Conclusion.......................................................................................................................27 eclipse_emf_gef_gmf_alpha1.0.0 - 01/2008 Jacques Barzic 4 Eclipse et EMF, GEF, GMF 3ème Partie : Graphical Editing Framework (GEF)........................................................... 29 4ème Partie : Graphical Modeling Framework (GMF)....................................................... 29 5ème Partie : EMF, GEF et GMF en action......................................................................... 29 Conclusion.............................................................................................................................29 Annexe 1 : le méta-méta-modèle Ecore (simplifié)............................................................31 Bibliographie......................................................................................................................... 34 Index.......................................................................................................................................36 Glossaire................................................................................................................................37 Jacques Barzic 01/2008 - eclipse_emf_gef_gmf_alpha1.0.0 Eclipse et EMF, GEF, GMF 5 Index des tableaux Tableau I - Versions des logiciels utilisées...............................................................................14 Tableau II - Les espaces techniques de modélisation à fédérer............................................... 18 Tableau III - L'espace technique de modélisation fédérateur.................................................. 18 eclipse_emf_gef_gmf_alpha1.0.0 - 01/2008 Jacques Barzic 6 Eclipse et EMF, GEF, GMF Jacques Barzic 01/2008 - eclipse_emf_gef_gmf_alpha1.0.0 Eclipse et EMF, GEF, GMF 7 Index des illustrations Illustration 1 - Organisation générale de EMF ([BUDINSKY et al. 2004])............................16 Illustration 2 - Le modèle de l'exemple.....................................................................................24 Illustration 3 - Arborescence du modèle Ecore de notre projet « Bibliothèque »....................26 Illustration 4 - Méta-méta-modèle Ecore : hiérarchie des classes...........................................31 Illustration 5 - Méta-méta-modèle Ecore : éléments (1)...........................................................31 Illustration 6 - Méta-méta-modèle Ecore : éléments (2)...........................................................32 Illustration 7 - Méta-méta-modèle Ecore : éléments (3)...........................................................32 Illustration 8 - Méta-méta-modèle Ecore : éléments (4)...........................................................32 eclipse_emf_gef_gmf_alpha1.0.0 - 01/2008 Jacques Barzic 8 Eclipse et EMF, GEF, GMF Jacques Barzic 01/2008 - eclipse_emf_gef_gmf_alpha1.0.0 Eclipse et EMF, GEF, GMF 9 Liste des abréviations API : Application Programming Interface. BI : Business Intelligence. CWM : Commun Warehouse Metamodel. DTD : Document Type Definition (super ça marche aussi en français ! Définition de Type de Document). EBNF : Extended Backus-Naur Form. EMF : Eclipse Modeling Framework. EPL : Eclipse Public Licence. GEF : Graphical Editing Framework. GMF : Graphical Modeling Framework. MDA : Model Driven Architecture. MOF : Meta Object Facility. MVC : Model-Vue-Controler. OMG : Object Management Group. QVT : Query – View – Transformation. UML : Unified Modeling Language. W3C : World Wide Web Consortium. XMI : XML Metadata Interchange. XML : eXtensible Markup Language. XSL : eXtensible Stylesheet Language. eclipse_emf_gef_gmf_alpha1.0.0 - 01/2008 Jacques Barzic 10 Eclipse et EMF, GEF, GMF Jacques Barzic 01/2008 - eclipse_emf_gef_gmf_alpha1.0.0 Eclipse et EMF, GEF, GMF 11 Introduction Lors d'un travail1 sur la méthode MDA (Model Driven Architecture), j'ai été amené à rechercher des outils logiciels existants pour la mettre en oeuvre. Très rapidement, une famille de solutions autour de la plate-forme Eclipse se dégage. Ces solutions font référence de manière récurrente aux plugins EMF (Eclipse Modeling Framework) , GEF (Graphical Editing Framework) et GMF (Graphical Modeling Framework). Ayant, à ce moment là, utilisé Eclipse pour des développement d'application Web en Java, je décide d'étudier plus en avant les possibilités de cet outil pour expérimenter MDA. J'étais d'autant plus encouragé d'aller dans cette voie que les projets d'outils liés à MDA autour de Eclipse sont nombreux et prometteurs. Un des freins à ce travail pour moi était ma méconnaissance de ces plugins, phénomène accentué par le manque de documentations synthétique (notamment en langue française2) sur le sujet. Je me suis donc attelé à la rédaction du présent document, que je fournis à la communauté et aussi à sa critique. Il s'agit d'une introduction à ces technologies, rédigée par un non- spécialiste. Ce document n'a pas d'autre prétention que d'être une entrée en matière. On trouvera donc dans ce document quatre parties. La première décrira la plate-forme mise en place pour le reste de la démonstration (Eclipse et ses plugins) d'un point de vue pratique : installation, mise en oeuvre,... Puis suivrons trois parties descriptives des trois plugins en question : objectifs, description, exemples pratiques. La dernière et cinquième partie portera un regard sur l'usage que font de cette configuration les outils plus globaux se réclamant de l'Ingénierie Dirigée par les Modèles (IDM), dont MDA est une implémentation. Ce document nécessite quelques pré-requis pour être lu avec profit : • une connaissance de base de Eclipse, • savoir ce que représentent les concepts de modèles, méta-modèles, méta-méta- modèles (mon document déjà cité sur MDA les reprend), • avoir une pratique, sans être un expert, de UML (Unified Modeling Language) et de Java. Le lecteur trouvera les sources créées lors des exercices sur le site www.289eme.fr. Nom de l'archive : eclipse_emf_gef_gmf_sources.zip. L'archive contient des répertoires dont le nom est codé de la manière suivante : nom_x_y.z où : nom = chemin du répertoire dans le projet (celui dans l'explorateur Windows), x = numéro de la partie concernée du document, y.x = numéro de la section dans la partie. Les archives contiennent aussi les éléments des archives qui la précèdent dans le même projet. 1 Voir document [BARZIC 2006]. 2 Je n'ai rien contre l'anglais en soi, mais pour nous, francophones de naissance, le français est plus accessible !! eclipse_emf_gef_gmf_alpha1.0.0 - 01/2008 Jacques Barzic 12 Eclipse et EMF, GEF, GMF Jacques Barzic 01/2008 - eclipse_emf_gef_gmf_alpha1.0.0 Eclipse et EMF, GEF, GMF 13 1ère Partie : la plate-forme d'accueil 1. Eclipse : généralités Le présent document n'a pas pour objet de décrire la plate-forme Eclipse en elle même. Les lecteurs qui désirent la découvrir pourront consulter le site francophone qui lui est consacré [ECLIPSE TOTALE]. Il résume bien ce qu'est Eclipse et d'où elle vient. Par ailleurs, ce site tient différentes rubriques et revoie vers les pages Web officielles des projets que fédère la Fondation Eclipse. Un grand principe est à retenir quant à l'architecture de Eclipse : un noyau est diffusé sous ce nom qui offre les fonctionnalités de base. Ce noyau est conçu (et c'est un principe) pour pouvoir recevoir des extensions (les fameux plugins). Comme le noyau est diffusé en Open Source (sous licence Eclipse Public Licence – EPL), chacun peut développer de nouveaux plugins : il en existe sous licence libre et gratuite et il existe aussi des projet commerciaux et payants. Depuis juin 2006, la version courante de Eclipse est la version 3.2 batisée Callisto. La nouveauté organisationnelle, cette année, est que la livraison de nouvelles versions majeures, annuelle depuis 2004, est couplées à la livraison de neuf sous projets importants. Cela permet de se retrouver plus facilement dans les nombreux projets qui se basent sur Eclipse. Callisto est le nom de code donné à la sortie simultanée des 10 projets suivants : • Eclipse - Version 3.2, • BIRT - Business Intelligence and Reporting Tools - Version 2.1, • CDT - C/C++ Development Tools - Version 3.1, • DTP - Data Tools Project - Version 0.9, • EMF - Eclipse Modeling Framework - Version 2.2, • GEF - Graphical Editing Framework - Version 3.2, • GMF - Graphical Modeling Framework - Version 1.0, • TPTP - Test & Performance Tools Platform - Version 4.2, • VE - Visual Editor - Version 1.2, • WTP - Web Tools Project - Version 1.5, Source [ECLIPSE TOTALE]. Les quatre projets qui nous intéressent ici sont dans le lot. 2. Installation de Eclipse 3.2 2.1. Préalable Eclipse étant développée en Java, une machine virtuelle doit être installée sur l'ordinateur pour pouvoir l'utiliser. Vous pouvez télécharger cette machine virtuelle sur [SUN JAVA a] et ensuite l'installer. eclipse_emf_gef_gmf_alpha1.0.0 - 01/2008 Jacques Barzic 14 Eclipse et EMF, GEF, GMF 2.2. Téléchargement - Installation Aller à la page http://www.eclipse.org/downloads/ pour técharger Eclipse. La version 3.2.1 est utilisée pour ce rapport. Ensuite il suffit de décompresser l'archive dans le répertoire de votre choix. Il peut être utile aussi de télécharger et d'installer le pack de traduction pour avoir la version française. Pour cela téléchargez le pack Nlpack1-eclipse-SDK-3.2.1-win32.zip sur la uploads/s3/ eclipse-emf-gef-gmf-alpha1-0-0.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager