Model Driven Engineering 

Schedule

Week

Date

Time

Type

Room

Subject

1 Friday 27 September 13:45 -- 15:45 Theory M.G.016 Domain-Specific Modelling: the need for Modelling Language Engineering;
Modelling Languages: Meta-Modelling
2 Wednesday 2 October 08:30 - 10:30 Lab Session M.G.026 Metadepth Tutorial
Assignment 1: Building evacuation (meta-)modelling in metaDepth
2 Friday 4 October 13:45 -- 15:45 Theory M.G.016 Paper discussion: "Matters of Metamodelling"
3 Wednesday 9 October 08:30 -- 10:30 Lab Session M.G.026 Work on assignment 1 (metaDepth)
3 Friday 11 October 13:45 -- 14:15 Evaluation M.G.016 Micro theory exam: meta-modelling
3 Friday 11 October 14:15 -- 15:45 Theory M.G.016 Modelling Languages: Concrete (Visual) Syntax
4 Tuesday 15 October 23:59 Deadline Assignment 1: Building evacuation (meta-)modelling in metaDepth
4 Wednesday 16 October 08:30 -- 10:30 Lab Session M.G.026 AToMPM Tutorial: (meta-)modelling and concrete visual syntax
Assignment 2: Building evacuation (meta-)modelling and concrete visual syntax in AToMPM
4 Friday 18 October 13:45 -- 14:30 Theory M.G.016 Modelling Languages: Concrete Visual Syntax
4 Friday 18 October 14:30 -- 15:00 Evaluation M.G.016 Micro theory exam: visual languages, physics of notation
4 Friday 18 October 15:10 -- 15:45 Theory M.G.016 Syntax, Semantics, and all that Stuff
5 Wednesday 23 October 08:30 -- 10:30 Lab Session M.G.026 Work on assignment 2
5 Friday 25 October 14:30 -- 15:45 Theory M.G.016 The many uses of (rule-based) model transformation
6 Tuesday 29 October 23:59 Deadline Assignment 2: Building evacuation (meta-)modelling and concrete visual syntax in AToMPM
6 Wednesday 30 October 8:30 -- 10:30 Lab Session M.G.026 Tutorial: endogenous model transformations in AToMPM
Assignment 3: Operational Semantics in AToMPM
6 Friday 1 November 13:45 -- 15:45 Theory M.G.016 No class
7 Wednesday 6 November 08:30 -- 10:30 Lab Session M.G.026 Work on assignment 3
7 Friday 8 November 13:45 -- 15:45 Theory M.G.016 Specifying and Implementing Model Transformations: scheduling languages
8 Tuesday 12 November 23:59 Deadline Assignment 3: Operational Semantics in AToMPM
8 Wednesday 13 November 08:30 -- 10:30 Lab Session M.G.026 Tutorial: exogenous model transformations in AToMPM
Assignment 4: Evacuation Analysis of Bmod
8 Friday 15 November 13:45 -- 15:15 Theory M.G.016 Class Cancelled
9 Wednesday 20 November 08:30 -- 10:30 Lab Session M.G.026 Work on assignment 4
9 Friday 22 November 13:45 -- 15:15 Theory M.G.016 Specifying and Implementing Model Transformations: RAMification and matching algorithm
9 Friday 22 November 15:15 -- 15:45 Project M.G.016 Query of project interests
10 Tuesday 26 November 23:59 Deadline Assignment 4: Evacuation Analysis of Bmod
10 Wednesday 27 November 08:30 -- 10:30 Lab Session M.G.026 Tutorial: Code generation with AToMPM and metaDepth
Assignment 5: Evacuation visualization
10 Friday 29 November 13:45 -- 14:30 Evaluation M.G.016 Micro theory exam: model transformation
10 Friday 29 November 14:30 -- 15:45 Theory M.G.016 Product Family/Variability modelling and Product Line Engineering
11 Wednesday 4 December 23:59 Deadline Choosing project topic (notify Simon Van Mierlo by e-mail)
11 Wednesday 4 December 08:30 -- 10:30 Work on Project No class
11 Friday 6 December 13:45 -- 15:45 Theory M.G.016 Putting it all together (with processes): the FTG+PM
12 Tuesday 10 December 23:59 Deadline Assignment 5: Evacuation visualization
12 Wednesday 11 December 08:30 -- 10:30 Project No class
12 Friday 13 December 13:45 -- 15:45 Theory No class
13 Wednesday 18 December 08:30 -- 10:30 Project No class
13 Thursday 19 December - Friday 20 December TBD Evaluation TBD Assignments 1--5
13 Friday 20 December 13:45 -- 14:15 Evaluation M.G.116 Micro theory exam: variability, processes, FTG+PM
Monday 6 January 23:59 Deadline Project report, implementation and presentation uploaded to personal project page
Thursday 9 January 09:00 -- 12:30 Evaluation M.G.005 Project presentations (you need to be present for all presentations)

  Grading Scheme

Micro theory exam written 10%
Assignments (50/5)% per assignment 50%
Project project part (10% on report, 20% on work, 10% on presentation) 40%

Note that you need to pass (i.e., obtain a score of at least 50%) all parts of the course to pass. If not, your grade will be "AFW" - absent. If you do attend/submit every part, you still 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.

For the supplemental exam period, partial exemptions for specific parts of the course may be given. This is discussed individually.


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 2020 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 end 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].
(unicode) Characters vs. Glyphs [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].
Thomas Kuehne, Gergely Mezei, Eugene Syriani, Hans Vangheluwe, and Manuel Wimmer. Explicit transformation modeling. In Models in Software Engineering, Workshops and Symposia at MODELS 2009, Revised Selected Papers, volume 6002 of Lecture Notes in Computer Science (LNCS), pages 240-255. Springer-Verlag, 2010. [pdf]

Variability
Variability. Presentation [pdf] (guest lecture by Dr. Bart Meyers of Flanders Make).
Krzysztof Czarnecki: Overview of Generative Software Development. UPP 2004: 326-341. [pdf]
K.C. Kang, H. Lee. Variability Modeling. In R. Capilla et al., Systems and Software Variability Management. pp. 25 - 42. Springer 2013. (or on semanticscholar)

Putting it all together: the FTG+PM
Formalism Transformation Graph and Process Model. Presentation [pdf]
Sadaf Mustafiz, Joachim Denil, Levi Lucio, Hans Vangheluwe. The FTG+PM Framework for Multi-Paradigm Modelling: An Automotive Case Study. Proceedings of the 6th International Workshop on Multi-Paradigm Modeling. MODELS '12 ACM/IEEE 15th International Conference on Model Driven Engineering Languages and Systems. October 2012. Innsbruck, Austria. [pdf]

  Tools

metaDepth, a framework for multi-level meta-modelling

AToMPM, A Tool for Multi-Paradim Modelling. (AToMPM's website)
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.

  Examples

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

  Assignments

  Projects

Personal Pages

Topics
This year, all projects will re-use the Bmod case of the assignments and reproduce/enhance (aspects of) it using different MDE tools (choose one):
  1. MetaEdit+ (https://www.metacase.com/products.html) (note that this is commercial software -- you can however obtain a 31 day evaluation license)
  2. Epsilon family of languages (in Eclipse) (https://www.eclipse.org/epsilon/)
  3. Sirius (https://www.eclipse.org/sirius/)
  4. MPS (https://www.jetbrains.com/mps/)
  5. WebGME (https://webgme.org/)
  6. Xtext (https://www.eclipse.org/Xtext/)
  7. Spoofax (https://www.metaborg.org/en/latest/)
  8. GEMOC Studio (http://gemoc.org/studio.html)
  9. EMF/GMF tooling in Eclipse (https://www.eclipse.org/modeling/gmp/)

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 elsarticle.zip 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