Model Driven Engineering 








3 Friday 9 October 13:45 -- 15:45 Theory M.G.016 Domain-Specific Modelling: the need for Modelling Language Engineering;
Modelling Languages: Meta-Modelling
3 Friday 9 October 16:00 -- 18:00 Lab Session M.G.027 metaDepth: Metamodelling and Operational Semantics -- assignment 1
4 Friday 16 October 13:45 -- 15:45 Theory M.G.016 Modelling Languages: Concrete Syntax
4 Friday 16 October 16:00 -- 18:00 Lab Session M.G.027 metaDepth; AToMPM introduction
5 Friday 23 October 13:00 Deadline Assignment 1: metaDepth (metamodelling + operational semantics)
5 Friday 23 October 13:45 -- 15:45 Theory M.G.016 The Meaning of Semantics; The many uses of Model Transformation
5 Friday 23 October 16:00 -- 18:00 Lab Session M.G.027 AToMPM: Metamodelling and Concrete Syntax -- assignment 2
6 Friday 30 October 13:00 Deadline Assignment 2: AToMPM (metamodelling and concrete syntax)
6 Friday 30 October 13:45 -- 15:45 Theory M.G.016 The many uses of Model Transformation; Specifying and Implementing Model Transformations
6 Friday 30 October 16:00 -- 18:00 Lab Session M.G.027 AToMPM: rule-based transformation for Operational Semantics -- assignment 3
7 Tuesday 3 November 09:00 -- 13:00 Evaluation M.G.330 Assignments 1 and 2
7 Friday 6 November 13:45 -- 15:45 Theory M.G.016 Specifying and Implementing Model Transformations; Putting it all together (with processes): the FTG+PM
7 Friday 6 November 16:00 -- 18:00 Lab Session M.G.027 AToMPM: rule-based transformation for Denotational Semantics -- assignment 4
8 Friday 13 November 13:00 Deadline Assignment 3: AToMPM (operational semantics)
8 Friday 13 November 13:45 -- 15:45 Project M.G.016 Presentation of project topics; Overview of micro theory exam material
8 Friday 13 November 16:00 -- 18:00 Lab Session M.G.027 Code Synthesis (model to text transformation) with EGL -- assignment 5
9 Friday 20 November 13:00 Deadline Assignment 4: AToMPM (denotational semantics)
9 Friday 20 November 13:45 -- 15:00 Evaluation M.G.016 Micro theory exam
9 Friday 20 November 15:00 -- 15:45 Project M.G.016 Choosing projects
9 Friday 20 November 16:00 -- 18:00 Lab Session M.G.027 Work on assignment 5
10 Friday 27 November 13:00 Deadline Assignment 5: Code Generation
10 Friday 27 November 16:00 -- 18:00 Project M.G.116/M.G.330/M.G.317 Individual meetings about project
11 Tuesday 1 December 09:00 -- 13:00 Evaluation M.G.330 Assignments 3, 4, and 5
11 Friday 4 December 13:45 -- 15:45 Project M.G.116/M.G.330/M.G.317 Individual meetings about project
11 Friday 4 December 16:00 -- 18:00 Project M.G.116/M.G.330/M.G.317 Individual meetings about project
12 Friday 11 December 13:00 Deadline Reading report and presentation uploaded to personal project page
12 Friday 11 December 13:45 -- 15:45 Evaluation M.G.016 Project "reading/planned work" presentations
12 Friday 11 December 16:00 -- 18:00 Evaluation M.G.016 Project "reading/planned work" presentations
13 Friday 18 December 13:45 -- 15:45 Project M.G.116/M.G.330/M.G.317 Individual meetings about project
13 Friday 18 December 16:00 -- 18:00 Project M.G.116/M.G.330/M.G.317 Individual meetings about project
Friday 22 January 23:55 Deadline Project report, implementation and presentation uploaded to personal project page
Monday 25 January 09:30 -- 18:00 Evaluation M.G.015 Project presentations (you need to be present for all presentations)

  Grading Scheme

Micro theory exam written 10%
Assignments 10% per assignment 50%
Project reading part (7% on report, 3% on presentation) 10%
Project project part (10% on report, 10% on work, 10% on presentation) 30%

To pass the course, you need to attend or submit every part (if not, your grade will be "AFW" - absent). If you do attend/submit every part, you need an overall score of 50% to pass the course. Additionally, if for at least one part your score is strictly below 40%, your overall grade will be min(7, your_score). your_score is the score you would get when applying the weights given above.

A project typically contains a "reading" part and a "building" part. The first part describes (in a report and a presentation) what you found in the literature and/or by trying/evaluating existing tools. The second part will describe your own (prototype) development/implementation (possibly using MDE tools). The whole project will be due during the January 2016 exam period. A date will be fixed for the project presentations to be attended by all (and evaluated by all). The "reading" presentations will be held during the last lecture slot of the semester. After around mid November, there will be no more formal lectures, but rather individual meetings to discuss project progress. Those individual meetings (by appointment, made via e-mail) will actually start the moment project topics have been chosen.

The micro theory exam will cover the highlighted papers below. It is intended to refresh your knowledge of the topics covered in the theory lectures.

  Lectures and References

Blackboard scribbles [pdf].

Domain-Specific Modelling Languages: the need for Modelling Language Engineering
Presentation [pdf]. This presentation covers Domain-Specific Modelling (DSM) and Meta-Modelling (and some more not covered in class).

Modelling Languages: Meta-Modelling (Abstract Syntax)
Thomas Kühne. Matters of (Meta-) Modeling. Software and System Modeling 5(4): 369-385. 2006. [pdf].
Linguistic Conformance Check (as implemented in the Modelverse).
Colin Atkinson and Thomas Kühne. Rearchitecting the UML infrastructure. ACM Transactions on Modeling and Computer Simulation (TOMACS). Volume 12, Issue 4. pp 290 - 321. October 2002. [pdf].
Jean-Marie Favre. Megamodelling and Etymology. Proceedings of Dagstuhl Seminar 05161 - Transformation Techniques in Software Engineering. 2006. [pdf].
Jonathan Sprinkle, Bernhard Rumpe, Hans Vangheluwe, and Gabor Karsai. Metamodelling: State of the Art and Research Challenges. In Model-Based Engineering of Embedded Real-Time Systems. Volume 6100 of Lecture Notes in Computer Science, chapter 3, pages 57-76. Springer 2011. [pdf].

Modelling Languages: Concrete Visual Syntax
Presentation [pdf].
G. Costagliola, A. Delucia, S. Orefice and G. Polese. A Classification Framework to Support the Design of Visual Languages, Journal of Visual Languages and Computing, Volume 13, Issue 6, December 2002, pages 573-600. [pdf].
Daniel L. Moody. The "Physics" of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering. IEEE Transactions on Software Engineering, vol. 35, no. 6, pp. 756-779, November/December, 2009. [pdf].

Modelling Languages: Semantics
Presentation [pdf].
David Harel, Bernhard Rumpe. Meaningful Modeling: What's the Semantics of "Semantics"?, IEEE Computer, vol. 37, no. 10, pp. 64-72, October, 2004. [pdf].
David Harel, Bernhard Rumpe. Syntax, Semantics, and all that stuff (the original technical report on which the IEEE Computer paper is based).
Hans Vangheluwe and Juan de Lara. Computer Automated Multi-Paradigm Modelling for Analysis and Design of Traffic Networks. Winter Simulation Conference 2004, pages 249-258. [pdf].

Model Transformation
Model Transformation. Presentation [pdf].

Putting it all together: the FTG+PM
Formalism Transformation Graph and Process Model. Presentation [pdf].


metaDepth, a framework for multi-level meta-modelling

A Tool for Multi-formalism and Meta-Modelling: AToM3.
Tutorials [basic] and [slightly more advanced] on meta-modelling with AToM3.
Use Juan de Lara's in-depth AToM3 programming tutorial: the AToM3 Python API for details about AToM3's internal representation of models, about constraints and actions, and about manipulation of concrete syntax (visual) objects.

AToMPM, A Tool for Multi-Paradim Modelling.
To whet your appetite: the AToMPM teaser video for the MoDELS 2013 conference.
A tutorial on AToMPM can be found here.
The AToMPM user manual [pdf].


The examples page will be updated after each practical session. It will demonstrate the techniques learned using a simple, but complete, example.



A list of tentative project topics can be found here.

Report info
Your project report should be written in LaTeX. If you're new to LaTeX, many tutorials such as this LaTeX primer are available.
You must use Elsevier's elsarticle style. You should download the archive. elsdoc.pdf contains the user documentation and elsarticle-template-harv.tex is the document template you should use as a starting point for your report.
Your report should contain at least the following:
  • A title capturing the essence of your work.
  • Author name, affiliation, and contact information.
  • An abstract presenting the paper's contribution. Based on the abstract, readers will decide whether or not your paper is worth reading.
  • Keywords summarising the paper.
  • A introduction presenting the problem/context. The introduction section should end with an overview of the rest of the paper. For example: ``Section 2 gives an overview of related work. Section 3 presents the design of our new architecture. ... Section 7 concludes.
  • A related work section, with references. If it is not elaborate enough to warrant its own section, related work may go into the introduction section.
  • A number of sections presenting the details of your contribution. This could contain details of your design.
  • If applicable, a section presenting the experience with using your work, including a performance evaluation.
  • A comparison of your work with that of others (what is new/better/...).
  • Conclusions and future work.
  • A bibliography. You must use bibTeX!
Note that your report should be a cross between a journal publication (where only the essence of the novel contribution should be presented) and a technical report (where technical details may be explained and there is no limitation on the number of pages used).

Presentation info

Project Material
Bart Cools Operational semantics for Parallel DEVS using model transformations in AToMPM project page
Maryam Moein Domain modellig with Clafer project page
Mohammad Amin Sepasian Multi-level modelling with Melanee project page
Joeri Reyns Model Differencing project page
Joran Dox Mutation-based testing of model transformations project page
Ian Vermeulen Explicit modelling of DEVS experiments in AToMPM project page
Louis Tchiofor Nwanda Translating Statecharts to behaviourally equivalent Petrinets project page
Kristof De Middelaer Modelling with Papyrus project page
Mathias Beke Modelling with DPF project page
Jasper Verelst Reachability analysis of Petrinets models in AToMPM using model transformations project page
Fedor Biryukov Textual languages with Xtext project page
Sten Vercammen Efficient Model Transformations project page
Jens Smits Testing (of Statecharts, of transformations, ...) project page
Istvan David Incremental Model Transformation, Complex Event Processing project page
Claudio Gomes Verification of model transformations with DSLTrans project page