ECMFA2011: Incremental Evaluation of Model Queries over EMF Models: a Tutorial on EMF-IncQuery

This tutorial builds on the previous one at MODELS 2010, and presents the most up-to-date version of IncQuery, with detailed usage instructions and a case study. The full-fledged validation framework that we built on IncQuery technology is presented for the first time.

Basic information

  • Title: Incremental Evaluation of Model Queries over EMF Models: a Tutorial on EMF-IncQuery
  • Located at: ECMFA 2011, Seventh European Conference on Modelling Foundations and Applications, Tutorials Track
  • Schedule: June 6, 2011 (Half Day)
  • Presenters: István Ráth and Dániel Varró
  • Previous version: A previous version of this tutorial has been presented at the ACM/IEEE 13th International Conference on Model Driven Engineering Languages and Systems (MODELS) in Oslo, October 5 2010. The current tutorial extends the original by providing an extended case study example and we also include new material on benchmark comparisons with many other tools and technologies.
  • Pre-requisites and equipment: Overhead projector only. The audience may follow the live demo by downloading pre-configured Eclipse configurations from the project website.
  • Keywords: incremental pattern matching, EMF, model query


Goals and target audience

Model Driven Development platforms such as industry leader Eclipse Modeling Framework (EMF) greatly benefit from pattern matching, as it supports various goals including model validation, model transformation, code generation and
domain specific behaviour simulation. Pattern matching is a search for model elements conforming to a given pattern that describes their arrangement and properties, e.g. finding a violation of a complex well-formedness constraint of the domain specific modeling language.

Two major issues arise in pattern matching: (i) it can have significant impact on runtime performance and scalability; and (ii) it is often tedious and time consuming to (efficiently) implement manually on a case-by-case basis. The latter is typically addressed by a declarative query language (e.g., EMF Query, OCL) processed by a general-purpose pattern matching engine.

The current tutorial introduces a declarative model query framework over EMF called EMF-IncQuery, using the graph pattern formalism (from the theory of graph transformations) as its query language and relying on incremental pattern
matching for improved performance. In case of incremental pattern matching, matches of a pattern are explicitly stored and incrementally maintained upon model manipulation. In many scenarios this technique provides significant speed-up at the cost of increased memory consumption.

In this tutorial, we give an overview of the EMF-IncQuery system, demonstrating how the technology can be applied, and discuss gains and trade-offs. We will show how cheap pattern matching can have significant performance advantages in a number of scenarios, such as model validation (model editors can continuously evaluate complex well-formedness constraints and give efficient, immediate feedback), model transformation (determining the applicability of declarative transformation rules), and simulation of dynamic domain-specific models (identifying the possible model evolutions). These will be illustrated using a case study of on-the-fly well-formedness constraint evaluation in UML models.

Target audience

Our target audience includes experts already working with EMF-based query or model transformation technologies like MF Query or ATL and programmers/educators who wish to learn about a new EMF-based query technology. Practicioners from the following areas may find the tutorial especially interesting:

  • transformation developers, as we show how EMF-IncQuery may be used to significantly ease the development of high-performance transformations that need to process large models quickly;
  • modeling tool developers, as our case studies and benchmarks illustrate how EMF-IncQuery may be applied in a wide spectrum of typical tool development problems in order to solve scalability issues frequently encountered with state-of-the-art EMF tools;
  • generally, experts interested in incremental model query and validation techniques (in e.g. expert systems) since EMF-IncQuery addresses application scenarios beyond the traditional reach of EMF.

The tutorial will build on a basic understanding of EMF and graph patterns to explain these technicalities and will focus on a software engineer's viewpoint on using our framework.


István Ráth is a PhD candidate at the Budapest University of Technology and Economics. His main research interest is model-driven systems development with a special focus on domain-specific languages and model transformations. He is the chief technological architect of the VIATRA2 model transformation framework, and a regular contributor of the SENSORIA and MOGENTES European Union research projects. Previously, he was a visiting scholar at the University of Waterloo.

Dániel Varró is an associate professor at the Budapest University of Technology and Economics. His main research interest is model-driven systems and services engineering with special focus on model transformations. He regularly serves in the programme committee of various international conferences in the field. He is the founder of the VIATRA2 model transformation framework, and the principal investigator at his university of the SENSORIA, DIANA and SecureChange European Projects. Previously, he was a visiting researcher at SRI International, at the University of Paderborn and TU Berlin. He is a three time recipient of the IBM Faculty Award.



This work was partially supported by the SecureChange (ICT-FET-231101) European Research Project.