2IMI15: Metamodeling and Interoperability, Fall 2018-2019

Lecturer: dr. Natalia Sidorova
Mitchel Brunings


Credits: 5 ECTS (=140 hours)

Timetable:             Semester A, quartile 1
Lectures:               Tuesday, 8:45 – 10:30, LAPLACE-GEBOUW -1.19
                               Friday, 13:45 – 15:30,  LAPLACE-GEBOUW -1.19

Time for questions about the assignment: TBD

Written examination: November 2, 2017, 9:00 – 12:00

The grade for the course is the grade for the written examination. You can earn up to one bonus point for your grade by doing your homework regularly and well (the maximal grade you can obtain for the course is still 10).

Submit your homework via Canvas (canvas.tue.nl) before the indicated deadlines. Note that in most of the cases the format of homework submission is indicated to be PowerPoint.

Lecture slides can be found at Canvas (canvas.tue.nl)

Reading materials: You will find the links to a selection of papers in the table below. Some of the links can only be used when you are at the TU/e campus, or by using VPN or the library proxy server.

The table below gives an approximate planning; it may still change!


Lecture date


Reading materials



September 4

Introduction to Metamodeling

1.      J. Ludewig, Models in software engineering – an introduction. Software and Systems Modeling, 2(1), 2003, pp. 5-14.

2.      Thomas Kühne, Matters of (Meta-) Modeling. Software and Systems Modeling, 5(4), 2006, pp. 369-385.

3.      W. Hesse, More matters on (meta-)modelling: remarks on Thomas Kühne’s “matters”. Software and Systems Modeling, 5(4), 2006, pp. 387-394.

4.      Thomas Kühne, Clarifying matters of (meta-) modeling: an author’s reply. Software and Systems Modeling, 5(4), 2006, pp. 395-401.

1.      Read the four papers from the list of reading materials for Lecture 1 in the indicated order.

2.      For each of the papers [1] and [2], write down four statements which you find most interesting/ important/ arguable, clearly explaining to which of the three types (interesting, important or/and arguable) it belongs to in your opinion and why (max one page per paper).

3.      Give two examples of models which are in your view not metamodels, and two examples of metamodels; at least one model and one metamodel should be from the area of Computer Science. You are not allowed to directly use the examples from the papers. Explain why you consider them as metamodels (not just models).

Deadline: September 7, 11 p.m.


September 7

Basics of Metamodeling

1.      Eclipse tutorial by Luis Pedro, Matteo Risoldi, Centre Universitaire D'Informatique, Universite de Geneve, SMV technical report series, May 2008 – use the annotated version of it from Canvas (thanks to Maikel van Eck)

2.      MDA Guide, rev. 2.0

3.      Colin Atkinson, Thomas Kühne. Model-Driven Development: A Metamodeling Foundation, IEEE Software, 20(5), 2003.

4.      MOF core specification

1.      Read the annotated version of tutorial “Metamodeling with Eclipse” and then execute all the steps described in the tutorial Eclipse. Please use the annotated version of this tutorial which you can find on Canvas (folder Reading Materials). For questions, contact Maikel van Eck.

2.      Correct the metamodel of Petri nets from the lecture slides.

3.      Show how MOF is an instance of MOF itself, by mapping model elements to each other.

4.      Indicate three mistakes / incompletenesses /imprecisenesses in the UML metamodel from the slides. Explain how they can be repaired, if they can; If not – explain why not.

5.      What modification of the model and the metamodel you could make to accommodate the possibility to use synchronous communication when composing Petri net components?


You only send me the answers for tasks 2 and 4 with one slide per task in PowerPoint in the format of the lecture slides.


Deadline: September 10, 11 p.m.


September 11

Metamodeling exercises

Lecture slides

1.      Create metamodels for exercises 1-2 in the PowerPoint format: one model per slide.

Deadline: September 16, 11 p.m.


September 14

Declarative modeling style on the case of Declare

1.      M. Pesic and W.M.P. van der Aalst. A Declarative Approach for Flexible Business Processes. In J. Eder and S. Dustdar, editors, Business Process Management Workshops, Workshop on Dynamic Process Management (DPM 2006), volume 4103 of Lecture Notes in Computer Science, pages 169-180. Springer-Verlag, Berlin, 2006.

2.      M. Pesic. Constraint-Based Workflow Management Systems: Shifting Control to Users. PhD dissertation, Eindhoven University of Technology, 2008.

1.      Submit metamodels for exercises 3-4 in the PowerPoint format: one model per slide.

2.      Consider the description of Declare given in the lecture slides.

Make a metamodel of Declare according to this description.

List the imprecisions and ambiguities in the description (in case there are any) and explain which interpretation you gave to them in your metamodel.

List the constraints given in the description that you could not capture in your metamodel (if there are any).


Deadline: September 20, 11 p.m.


September 18

Metamodeling and model transformations

1.      Lecture slides

2.      https://www.eclipse.org/henshin/

Finish the previous homework


September 21

(an online tutorial, no lecture because of MomenTum)

Henshin tutorial

1.      https://www.eclipse.org/henshin/

2.      Materials at Canvas

3.      Thorsten Arendt, Enrico Biermann, Stefan Jurack, Christian Krause, Gabriele Taentzer: Henshin: Advanced Concepts and Tools for In-place EMF Model Transformations. Proceedings of MoDELS'10, LNCS 6394, 121-135, Springer-Verlag, 2010.


1.      Exercises on model transformations – see Canvas


Deadline: September 28, 11 p.m.



September 25

Metamodeling exercises

Lecture slides only – at Canvas

Finish the previous homework


September 28

Service orientation and interoperability.

Open nets for modeling and analysis of service orchestrations

Recommended, but optional:

         Thomas Erl. Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall 2005

See http://www.ibm.com/developerworks/webservices/ for more information on SOA

You can practice at home with old exams – tasks 1 – 3 (it is not part of the homework that counts for a bonus point)


October 2

Model transformation exercises

Lecture slides only – at Canvas

You can practice at home with old exams – tasks 1 – 3 (it is not part of the homework that counts for a bonus point)


October 5

Operating guidelines

Niels Lohmann, Peter Massuthe, and Karsten Wolf. Operating Guidelines for Finite-State Services. In volume 4546 of Lecture Notes in Computer Science, pages 321–341, June 2007. Springer-Verlag.

You can practice at home with old exams – tasks 1 – 3 (it is not part of the homework that counts for a bonus point)


October 9

Adapters: specification, construction and analysis

Gierds, C.; Mooij, A.J.; Wolf, K. Reducing Adapter Synthesis to Controller Synthesis. IEEE Transactions on Services Computing, vol.5, no.1, pp.72-85, Jan.-March 2012

1. Exercises partner construction a, b, c, d – see Canvas

2. Exercises adapters 1, 2, 3 – see Canvas


Deadline: October 15, 11 p.m.


October 12

Model selection, comparison, integration, …


See the slides at Canvas

Finish the previous homework


October 16

Exercise session: operating guidelines + adapters

See the slides and additional exercises at Canvas

Old exams – see Canvas


TBD: October 19 or 23

(question hour)

Solve the problems from old exams and prepare your questions.

Old exams – see Canvas