ASE 2011 : Incremental Evaluation of Model Queries over EMF Models: a Tutorial on EMF-IncQuery
This tutorial builds on the previous one at ECMFA 2011, and presents the most up-to-date version of IncQuery, with detailed usage instructions and a case study.
Basic information
- Title: Incremental Evaluation of Model Queries over EMF Models: a Tutorial on EMF-IncQuery
- Located at: ASE 2011, 26th IEEE/ACM International Conference On Automated Software Engineering, Tutorials Track Schedule: November 8, 2011 (Half Day)
- Presenters: Ákos Horváth and Dániel Varró
- Previous version: A previous version of this tutorial has been presented at the Seventh European Conference on Modelling Foundations and Applications in Birmingham, June 6 2011. 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.
Presenters
Ákos Horváth is a PhD candidate at the Budapest University of Technology and Economics. His main research interest is model-driven systems engineering with a special focus on design space exploration and scaleable model transformations. He is a major contributor to the VIATRA2 model transformation framework and participated in the SENSORIa and DIANA European Union research projects.
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.
Files
- Update site: http://viatra.inf.mit.bme.hu/update/ecmfa11/
- Sample EMF-IncQuery project and additional model transformation code:
- Sample Papyrus UML models:
This work was partially supported by the SecureChange (ICT-FET-231101) European Research Project.