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ó.


To evaluate the example of the paper (and EMF-IncQuery in general), the following prerequisites are to be installed:

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.


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.