ECMFA 2011 University of Birmingham

  banner1           banner1

Seventh European Conference on Modelling Foundations and Applications


06-07 June, 2011, Birmingham, UK

List of Tutorials

T1 - Agile Development with domain Specific Languages [ More]
T2 - Incremental Evaluation of Model Queries over EMF Models: ATutorial on EMF-IncQuery [More]
 T3 - Integrated Model Management with Epsilon [More]
T4 - Creating Domain-Specific Modelling Languages that work: Hands-on [More]


Agile Development with Domain Specific Languages
June 6, 2011 (One Day)

Bernhard Rumpe and Ingo Weisemoeller, Software Engineering
RWTH Aachen, Germany

In an increasing number of software development processes, domain specific languages (DSLs) are involved at some stage. Such languages allow domain experts to take part in the product development, and they can often contribute to improved efficiency. As a drawback, the development of a DSL is a complex and error-prone software development process itself, which causes additional efforts and costs. Moreover, the actual software product and the DSL are often developed concurrently, and the requirements for the DSL may change according to the needs of developers of the actual product. Therefore, we have to address two interdependent development processes: the product development process, in which we may need to react on requirement changes by the customer quickly, and the language development process, in which we want to define an adaptable and extensible DSL.

In this tutorial, we use models to generate executable code, test cases or other models in their respective languages. To address the growing number and complexity of DSLs, we introduce concepts for the modular and compositional development of languages and their tools. Our tutorial provides an understanding of how to combine agile methods, well-known object-oriented concepts and model-based techniques, and thus contributes to more efficient development of high-quality software products.

Website of the Tutorial                                                                                Go to [TOP]

Incremental Evaluation of Model Queries over EMF Models: a Tutorial on EMF-IncQuery
June 6, 2011 (Half Day)

Gábor Bergmann, Ákos Horváth, István Ráth, and Dániel Varró
Budapest University of Technology and Economics

This tutorial introduces a declarative model query framework over EMF called EMF-IncQuery, that uses the graph pattern formalism (from the theory of graph transformations) as its query language and relies on incremental pattern matching for improved performance. The advantage of its declarative query specification is that it requires much less time-consuming, manual coding effort than ad-hoc model traversal , while the incremental pattern matching engine ensures that matches of a pattern are explicitly stored and incrementally maintained so that they remain available for immediate retrieval.

This technique provides significant speed-up in many scenarios (at the cost of increased memory consumption), including model validation (immediate feedback for complex structural well-formedness constraints), model transformations, and simulation of dynamic domain-specific models.

In this half-day tutorial, we give an overview of the EMF-IncQuery system, demonstrating how this novel technology can be applied, and discuss gains and trade-offs, illustrated using a simple modeling example.

Our target audience includes experts already working with EMF based query or model transformation technologies and programmers/educators who wish to learn about a new EMF based query technology. The tutorial will build on a basic understanding of EMF and will focus on a software engineer's viewpoint on using our framework.

 Website of the Tutorial                                                                                Go to [TOP]

Integrated Model Management with Epsilon
June 7, 2011  (One Day)

Dimitrios S. Kolovos, Richard F. Paige,Louis M. Rose, and James Williams Department of Computer Science, University of York

In this tutorial we will briefly discuss the basic concepts of MDE provide an overview of core Eclipse modelling technologies such as EMF and GMF. Then we will present the model management languages provided by the Epsilon GMT component (, which provide comprehensive support for core MDE tasks such as model transformation, validation, comparison, refactoring, merging, migration and code generation. We will also present the workflow mechanism that allows developers to assemble complex MDE tool chains, EuGENia, a tool that automates the process of constructing GMF-based editors, EUnit, a JUnit-like testing framework we have developed recently, and the Epsilon Model Connectivity framework that enables developers to extend Epsilon with support for additional modelling technologies.

Website of the Tutorial                                                                                 Go to [TOP]

Creating Domain-Specific Modelling Languages that work: Hands-on
June 7, 2011 (One Day)

Juha-Pekka Tolvanen

A horrible lie exists in our industry today: it says that defining a graphical DSL is difficult and time intensive. In this tutorial, we will lay bare this fallacy and demonstrate how simple and quick it is to create domain-specific modelling languages and their generators. Through a hands-on approach, we define a modelling language and related generators in a few hours. More than just a technical exercise, we will show how this reflects industry experiences in various domains, including telecom, consumer electronics and home automation.

Participants will learn hands-on the practical, repeatable steps to design and implement DSLs. We will focus on modelling languages that enable true model-driven engineering, in which working code is generated from models:

     The language is based on the concepts of the problem domain, not the solution domain

     The scope of the language is narrowed down to a particular domain

     The language minimizes the effort needed to create, update and check the models

     The language supports communication with users and customers

At the end of the tutorial participants will have implemented several versions of the language - each time raising the level of abstraction.

Website of the Tutorial
                                                                            Go to [TOP]


The Tutorial Chair can be contacted at