Using Eclipse in MIS Research
GENERAL REMARK ECLIPSE and ECLIPSE PLUG- INS are very useful and powerful in the context of RESEARCH and EDUCATION but are probably not suited for developing commercial tools.
Contents Eclipse EMF plug- in GMF plug- in GraphiL plug- in Acceleo Plug- in Sirius plug- in Eclipse OCL plug- in M2M and M2T Ugent Modelling Experiments Ugent GitHub
Eclipse Integrated development environment (IDE) Highly modular applicalon consislng of hundreds of plug- ins Standard IDE for java programs but plug- ins exist for C, C++, You can also define your own plug- ins which extend your own eclipse environment Be careful with version
Eclipse Plug- in Project: Key files META- INF/MANIFEST.MF: describes plug- in dependencies, version and name Plugin.xml: declares what extensions this plug- in provides to the eclipse runlme build.properles contains informalon about the resources (images, properles files, ) that need to be made available to the plug- in.
Eclipse DemonstraLon Plug- in Hello Word Eclipse Plug- in Used extension points org.eclipse.ui.handlers è adds aclon when clicking on menu org.eclipse.ui.menus è adds 2 menu items Ontology suggeslon Plug- in Extends BPMN modeler with different views Ontology view SuggesLon view Ontology property view
Eclipse Run ConfiguraLons Script for launching program Determine Environment variables System properles Command line arguments Are not connected to specific projects Very important, but source of frustralon Select which run configuralon needs to executed while running a project
Eclipse RCP Rich Client Pla]orm(RCP) applicalons Eclipse plugins become standalone applicalons Introduced by Eclipse 3.0 is the minimal set of plug- ins needed to build a pla]orm applicalon with a UI Cheetah Experiments are Eclipse RCP applicalons
Eclipse 4.0 Must make it easier to control user interface of eclipse RCP applicalons a model- based user interface and a new CSS- based declaralve mechanism for applicalon styling. Interface is determined at design and run Lme by means of separate files: ApplicaLon.e4xmi and some css files.
References Eclipse 4 plug- in development by example beginner's guide / Alex Blewib è EBIB & Phd dropbox PracLcal Eclipse Rich Client Pla]orm Projects è Springerlink Eclipse modeling project : a domain- specific language toolkit / Richard C. Gronback. è EBIB
Contents Eclipse EMF plug- in GMF plug- in GraphiL plug- in Acceleo Plug- in Sirius plug- in Eclipse OCL plug- in M2M and M2T Ugent Modelling Experiments Ugent GitHub
Eclipse Modelling Framework (EMF) plug- in Plug- in for implemenlng meta- models Almost every OMG standard is linked to an Eclipse project which implements the proposed metamodel using EMF Models Ecore Language for specifying metamodels Subset of UML MOF Genmodel EMF generator model Model that is based on ecore model and allows crealng an editor for the ecore model
DemonstraLon EMF plug- in Ecore metamodel REA- EML Pla]orm Independent version è papers Pla]orm specific version è tool Genmodel REA- EML Editor REA- EML
References EMF : Eclipse Modeling Framework / Dave Steinberg è FEB library Eclipse Modeling Framework / Budinsky et al. è MIS Library hbp://www.eclipse.org/modeling/emf/docs/ Eclipse Modeling Project (EMP): hbp://www.eclipse.org/modeling/ Eclipse Model Development Tools (MDT) hbp://www.eclipse.org/modeling/mdt/
Experience EMF Stable framework Be careful with names of projects, packages, ecore elements Re- generalon of code is not always performed correctly if code is not deleted first Very useful to quickly test metamodel that you propose in your paper
Contents Eclipse EMF plug- in GMF plug- in GraphiL plug- in Acceleo Plug- in Siri plug- in Eclipse OCL plug- in M2M and M2T Ugent Modelling Experiments Ugent GitHub
Graphical Modelling Framework (GMF) Eclipse plugin for developing graphical modelling tools Code is generated based on Ecore model Genmodel Toolmodel Mappingmodel UML Tools for Eclipse is created with GMF
GMF DemonstraLon JOOLS EnLty RelaLonship Modeler is created with GMF
Useful GMF pointers Eclipse Modeling Project: A domain- specific Language Toolkit / Gronback è MIS Library hbp://wiki.eclipse.org/ Graphical_Modeling_Framework/ DocumentaLon
Experience GMF AutomaLc generalon of tool is impressive for standard modelling elements Tweaking things in the code is a nightmare because understanding the generated code is very difficult Mixing generated code with own code is possible but hard to control Requires knowledge programming design paberns
Contents Eclipse EMF plug- in GMF plug- in Graphi3 plug- in Acceleo Plug- in Siri plug- in Eclipse OCL plug- in M2M and M2T Ugent Modelling Experiments Ugent GitHub
Eclipse GraphiL Plug- in Eclipse plug- in build on top of GMF and EMF Focuses more on using extension points instead of crealng models that generate code Eclipse BPMN modeler is created with GraphiL
DemonstraLon GraphiL
References hbp://help.eclipse.org/kepler/index.jsp > GraphiL Developer Guide hbp://www.eclipse.org/graphil/ documentalon/
Experience GraphiL Easy to create graphical tools Less focus on model- driven development Requires knowledge Eclipse Extension Mechanism Less complex than GMF Future doub]ul because of Eclipse Siri
Contents Eclipse EMF plug- in GMF plug- in GraphiL plug- in Acceleo Plug- in Siri plug- in Eclipse OCL plug- in M2M and M2T Ugent Modelling Experiments Ugent GitHub
Eclipse Acceleo Plug- in code generator implemenlng the OMG's Model- to- text specificalon Part of Eclipse Modelling Project beo Model- driven Company
References Useful tutorial: hbp://wiki.eclipse.org/acceleo/ Geing_Started hbp://www.obeonetwork.com hbp://www.eclipse.org/acceleo/ hbp://www.obeo.fr/pages/acceleo/en
Experience Acceleo Easy to use for Model2Text because transformalons can be implemented using a trial and error approach Disadvantage: Introduces a new language for navigalng in model as alternalve for OCL
Contents Eclipse EMF plug- in GMF plug- in GraphiL plug- in Acceleo Plug- in Sirius plug- in Eclipse OCL plug- in M2M and M2T Ugent Modelling Experiments Ugent GitHub
Sirius Plug- ing Build on top of EMF and GMF Eclipse Acceleo: Very simple approach Start from ecore model + generated EMF poject Create RepresentaLon model for ecore model Load RepresentaLon Model in Sirius Model Development Environment allows crealng a view for instanlalon of the ecore model
DemonstraLon Sirius Show project with viewpoint specificalon Show Sirius Modelling Project
Experience Sirius Very new but hyped Easy to use Limited documentalon Supports easy crealon of different views for one meta- model
References hbp://www.eclipse.org/sirius/ Tutorial: hbp://www.eclipse.org/sirius/doc/
Contents Eclipse EMF plug- in GMF plug- in GraphiL plug- in Acceleo Plug- in Sirius plug- in Eclipse OCL plug- in Ugent Modelling Experiments Ugent MIS GitHub
Eclipse OCL Eclipse implementalon of OCL for EMF- based models Used by EMF to add OCL constraints to ecore model GMF to navigate within the model Used by Acceleo to navigate within the model Used by Sirius to navigate but other languages can also be used.
DemonstraLon OCL plug- in Add constraint to rea- eml.ecore Audit rules in UML_ER GMF project OCL navigalon in ugent.rea_eml.model2owl
Contents Eclipse EMF plug- in GMF plug- in GraphiL plug- in Acceleo Plug- in Sirius plug- in Eclipse OCL plug- in Ugent Modeling Experiments Ugent MIS GitHub
UGent Modelling Experiments Creates modelling experiment environment using Any kind of Eclipse Editor Cheetah plug- in Experiment workflow Wizards for queslons Possibility to store everything in the MIS database Tutorial integralon Logging aclons editors
DemonstraLon Experiment Nadia December 2013 Used Plug- ins Cheetah BPMN editor SuggesLon View plug- in which implements suggeslon generalon algorithms
Contents Eclipse EMF plug- in GMF plug- in GraphiL plug- in Acceleo Plug- in Sirius plug- in Eclipse OCL plug- in M2M and M2T Ugent Modelling Experiments Ugent MIS GitHub
Github web- based hoslng service for somware development projects Uses Git revision control system allows tracking changes allows easy sharing between group members Allows working together on same project Synchronize using local Github client
Ugent MIS Github Ugent has own GitHub Enterprise: hbps://github.ugent.be/ Ugent MIS group has organisalon defined on this server hbps://github.ugent.be/mis Repository for all somware projects Ugent MIS group Contains examples of EMF editors Graphical Modelling tools Experiments Both Phd student and Master DissertaLon students should add their project in a repository
General Reference Model- driven Development Model- Driven SoEware Engineering in Prac3ce Synthesis Lectures on SoEware Engineering September 2012, 182 pages, (doi:10.2200/ S00441ED1V01Y201208SWE001) Marco Brambilla Politecnico di Milano, Italy Jordi Cabot École des Mines de Nantes, France Manuel Wimmer Vienna University of Technology, Austria