Model Driven Engineering 

This is the first semester of the 2025-2026 academic year version of this course. Have a look at Prof. Vangheluwe's teaching page for earlier incarnations of this course.

In the first semester 2020-21 version of this course you will find recordings of online lectures. Though this year's course will cover roughly the same material, it does deviate in some parts. The recordings are provided as background material, not as a replacement for the lectures. You should attend all lectures.

  Course Description and Learning Outcomes

This is a mandatory course for the major in Software Engineering, and an elective for other majors. It is taught in the first year, first semester of the Master in Computer Science at the University of Antwerp.

Note that the course Modelling and Simulation of Software Intensive Systems (MoSIS) is a co-requisite: you can only take the Model Driven Engineering (MDE) course after you have taken the MoSIS course, or during the same term.

The official UA course number is 2001WETMTR.

The course is taught in English.

The course is an introduction to Model-Based Systems Engineering (MBSE), with as ultimate goal to increase the quality of the systems we build and the speed at which we build them. The course goes beyond the mere use of models to specify system requirements, designs (structure, behaviour), and their deployment, to the explicit modelling of modelling languages. This not only gives deeper insight in exisiting modelling languages, but also allows one to design new, Domain-Speficific Modelling Languages (DSMLs). Syntax as well as Semantics of languages need to be specified. Graphs and their (rule-based) transformation play an important role in modelling and modelling language engineering as any kind of model can always be symbolically represented as a typed attributed graph. The many techniques (meta-modelling, model transformation, physics of notation, ...) and issues (trace-ability, debugging, modelling language evolution, ...) are studied.

At the end of the course, you will have a deep understanding of (domain-specific) modelling languages and you will be able to construct your own, in particular for new application domains. You will know how to build supporting editing environments, translators, debuggers, etc.


  Assessment Methods and Criteria

Theory exam written, "closed book" 10%
Assignments 5% - 15% per assignment (depending on the amount of work and difficulty) 70%
Project for paper reading project: 60% on report, 40% on presentation
(if tried out some of the ideas in the paper, this work will be counted in the report part)
20%
for tool exploration project: 20% on report, 50% on work, 30% on presentation 20%

Note that you need to attend all parts of the course and submit all assignments 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 (theory exam, sum of all assignments, project) 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.

Here is a list of Exam Topics/Questions

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


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

  Lectures and References

Class scribbles.

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].
Presentation [pdf].
Yentl Van Tendeloo, Hans Vangheluwe. Unifying Model- and Screen Sharing. WETICE 2018. pp. 127-132. [pdf].
Presentation [pdf]. (Unicode) Characters vs. Glyphs.

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]. Presentation [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]

Related DSLs for Properties (Requirements) and Design
ProMoBox. Presentation [pdf]
Bart Meyers, Romuald Deshayes, Levi Lucio, Eugene Syriani, Hans Vangheluwe, Manuel Wimmer. ProMoBox: A Framework for Generating Domain-Specific Property Languages. SLE 2014: 1-20. Springer (or on researchergate).
Bart Meyers, Hans Vangheluwe, Joachim Denil, Rick Salay. A Framework for Temporal Verification Support in Domain-Specific Modelling. IEEE Trans. Software Eng. 46(4): 362-404 (2020). IEEE (or on researchergate).

Variability
Variability. Presentation [pdf]
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.
Thorsten Berger, Stefan Stanciulescu, Ommund Øgård, Øystein Haugen, Bo Larsen, Andrzej Wasowski. To connect or not to connect: experiences from modeling topological variability. In Stefania Gnesi, Alessandro Fantechi, editors, 18th International Software Product Line Conference, SPLC '14, Florence, Italy - September 15 - 19, 2014. pages 330 - 339, ACM, 2014. [pdf]

Adding workflow: 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]

Multi-Paradigm Modelling (MPM)
Moussa Amrani, Dominique Blouin, Robert Heinrich, Arend Rensink, Hans Vangheluwe, Adreas Wortmann. Multi-paradigm modelling for cyber-physical systems: a descriptive framework. Softw Syst Model 20, 611 - 639 (2021). https://doi.org/10.1007/s10270-021-00876-z

  Assignments


  Projects


Presentation guidelines
As mentioned in class, synthesis, going to the essence of the "why?", "what?", and "how?" of the paper or tool is the main quality criterion. This, with as main goal, to teach your colleagues.
Have a look at my very minimal and rather ad hoc list of criteria for a good presentation.
The course "Academic Literacies for Scientists" (2000WETSEN) uses the following marking rubric which may give you some insight in which criteria are used to assess the quality of a scientific presentation..

Report guidelines
As mentioned in class, synthesis, going to the essence of the "why?", "what?", and "how?" of the paper or tool is main quality criterion. This, with as main goal, to teach your colleagues.
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 (or the paper your reviewed) contribution. This could contain design details in case you built something yourself.
  • 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). Above all, remember it should synthesize and will be used to teach your colleagues.
Maintained by Hans Vangheluwe. Last Modified: 2025/12/19 12:04:32.