A Demonstration of the EMF-IncQuery Development Environment
This page is created as to supplement the proposed paper EMF-IncQuery: An Integrated Development Environment for Live Model Queries by Zoltán Ujhelyi, Ábel Hegedüs, Gábor Bergmann, Ákos Horváth, István Ráth and Dániel Varró.
Installation
To evaluate the example of the paper (and EMF-IncQuery in general), the following prerequisites are to be installed:
- JDK 6 (JDK7 will also work)
- Eclipse Modeling 4.2 (we also evaluate it regularly using Eclipse 3.7 Indigo)
- Available from: http://eclipse.org/downloads/
- Xext SDK 2.3, Xtend SDK 2.3
- Available from the Eclipse update site: http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/
- Zest 2.0 (for the graph visualization features)
- Available from the Eclipse update site: https://hudson.eclipse.org/hudson/job/gef-zest-integration/lastSuccessfulBuild/artifact/targetPlatform/
- The Papyrus UML tools - for the UML example
- Available from the Eclipse update site: http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/maintenance/juno
For reproducibility, a composite update site has been created from all dependency and EMF-IncQuery code base for the following address: http://viatra.inf.mit.bme.hu/update/incquery-estdemo
However, in general we recommend following the steps of the Getting Started with EMF-IncQuery guide for installation.
Obtaining the Source Code for EMF-IncQuery
As of 16th November, 2012 all source code is managed in the projects Github page. In the near future it is planned to move all source code to the projects new site at eclipse.org.
To set up the development environment of EMF-IncQuery with source code directly from Github, please consult the developer guide.
For reproducibility, we also attached a zipped version (5,4 MB) of the source code to this page.
Evaluating the EMF-IncQuery Development Environment
To get started with EMF-IncQuery, please consult either our school example, that features a step-by-step introduction to the usage. Otherwise, we have created a Cheat sheet inside Eclipse: select Help/Cheat sheets, and look for the Getting started sheet.
Papyrus UML Example
The projects used by the UML example are available at our Github Examples repository. For reproducibility, we also attached a zipped version of the projects to this page.
To evaluate the projects, import all project into the EMF-IncQuery workspace. In the following we detail all the projects used for UML evaluation:
- hu.bme.mit.examples.uml.incquery: The IncQuery project. It contains the code used for the emptyClass example of the article. In addition to that it also includes State chart and Sequence Diagram related patterns in different files.
- hu.bme.mit.examples.uml.incquery.databinding: The data binding adapter project generated by EMF-IncQuery.
- hu.bme.mit.examples.uml.incquery.validation: The validation framework constraints generated by EMF-IncQuery.
- hu.bme.mit.examples.uml.instances: Instance models used for evaluating the patterns.
- hu.bme.mit.examples.uml.trace.model: The UML trace model.
- hu.bme.mit.examples.uml.trace.model.edit: UI components for the trace model. Generated by the EMF code generator.
- hu.bme.mit.examples.uml.trace.model.editor: Tree editor for the trace model. Generated by the EMF code generator.
Pattern Visualization
The Pattern Visualization feature of EMF-IncQuery is developed separately from the core IncQuery code, and is available as a separate Eclipse plug-ins.
Usage
To visualize graph patterns, find the query definition file (.eiq) in the Package Explorer, and select EMF-IncQuery/Visualize Graph Patterns from the popup menu on the file.
Obtaining the source code
The source code is managed separately from the IncQuery repository, but also available in Github: https://github.com/ujhelyiz/incquery-visualization
For reproducibility, we attach a zipped version of the source code to the page.