Model Driven Engineering 

  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.

The UA course description can be found here.

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 (architecture, behaviour), and their deployment, to the explicit modelling of modelling languages. This meta-modelling 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 15%
Assignments 10% - 20% per assignment 70%
Project presentation 15%

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.

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.

Schedule

You can find the URLs of the online sessions in the course announcements on Blackboard

Week

Date

Time

Type

Room

Subject

1 Thursday 24 September 08:30 -- 10:30 Theory online Domain-Specific Modelling: the need for Modelling Language Engineering;
Modelling Languages: Meta-Modelling
lecture recording: part 1, part 2, part 3
1 Thursday 24 September 16:00 -- 18:00 Lab Session M.G.025 + online Tutorial: MetaDepth
Assignment 1: Production System (meta-)modelling in metaDepth
lab recording
2 Thursday 1 October 08:30 -- 10:30 Theory online Paper discussion: "Matters of Metamodelling"
lecture recording: part 1, part 2
2 Friday 2 October 10:45 -- 12:45 Lab Session M.G.025 + online Work on assignment 1 (metaDepth)
lab recording
3 Thursday 8 October 08:30 -- 10:30 Theory online Modelling Languages: "Matters of Metamodelling", Concrete (Visual) Syntax
lecture recording: part 1, part 2
3 Thursday 8 October 23:59 Deadline Blackboard Assignment 1: Production System (meta-)modelling in metaDepth
3 Friday 9 October 10:45 -- 12:45 Lab Session M.G.025 + online Tutorial: (meta-)modelling and concrete visual syntax in AToMPM
Assignment 2: Production System (meta-)modelling and concrete visual syntax in AToMPM
lab recording
4 Thursday 15 October 13:45 -- 14:30 Theory online Modelling Languages: Concrete Visual Syntax
lecture recording: part 1, part 2
4 Friday 16 October 10:45 -- 12:45 Lab Session M.G.025 + online Continue to work on Assignment 2 (abstract and concrete syntax in AToMPM)
5 Thursday 22 October 8:30 -- 10:30 Theory online Concrete Visual Syntax: Unifying Model- and Screen Sharing
Modelling Languages: Syntax, Semantics, and all that Stuff
lecture recording: part 1, part 2
5 Thursday 22 October 23:59 Deadline Blackboard Assignment 2: Production System (meta-)modelling and concrete visual syntax in AToMPM
5 Friday 23 October 10:45 -- 12:45 Lab Session online Tutorial: endogenous rule-based model transformation in AToMPM
Assignment 3: Production System Operational Semantics in AToMPM
lab recording
6 Thursday 29 October 8:30 -- 10:30 Theory online (rule-based) Model Transformation
lecture recording: part 1, part 2
6 Friday 30 October 10:45 -- 12:45 Lab Session Online Continue to work on Assignment 3 (operational semantics in AToMPM)
7 Thursday 5 November 8:30 -- 10:30 Theory Online (rule-based) Model Transformation
lecture recording: part 1, part 2
7 Friday 6 November 10:45 -- 12:45 Lab Session Online Work on assignment 3 (operational semantics in AToMPM)
lab recording
8 Tuesday 10 November 23:59 Deadline Blackboard Assignment 3: Production System Operational Semantics in AToMPM
8 Thursday 12 November 8:30 -- 10:30 Theory Online Specifying and Implementing Model Transformations
lecture recording: part 1, part 2
8 Friday 13 November 10:45 -- 12:45 Lab Session Online Tutorial: exogenous model transformation in AToMPM
Assignment 4: Production System Analysis by Transformation to Petri Nets
lab recording
9 Thursday 19 November 8:30 -- 10:30 Theory Online Specifying and Implementing Model Transformations: scheduling languages, RAMification, pivot/scope
lecture recording: part 1, part 2
9 Friday 20 November 10:45 -- 12:45 Lab Session Online Work on assignment 4
lab recording
10 Thursday 26 November 8:30 -- 10:00 Theory Online Specifying and Implementing Model Transformations: matching
lecture recording
10 Thursday 26 November 23:59 Deadline Blackboard Assignment 4: Production System Analysis by Transformation to Petri Nets
10 Friday 27 November 10:45 -- 12:45 Lab Session Online
lab recording
11 Thursday 3 December 8:30 -- 9:30 Project Online Overview of Reading Topics
recording
11 Thursday 3 December 9:30 -- 10:30 Theory Online Product Family/Variability modelling and Product Line Engineering
lecture recording
11 Friday 4 December 10:45 -- 12:45 Lab Session Online Work on assignment
lab recording
12 Thursday 10 December 8:30 -- 10:30 Theory No class
12 Friday 11 December 10:45 -- 12:45 Lab Session No class
13 Thursday 17 December 9:30 -- 10:30 Theory Online Overview of different tools: GROOVE, MPS, Xtext, Eugenia/EMFatic
recording of presentations
Groove example: ferryman-typed.gps.zip
Xtext and MPS slides
Eugenia/EMFatic slides
Tuesday 19 January 23:59 Deadline Presentation uploaded to personal project page on (this) course website
Thursday 21 January 08:30 -- 12:30 Evaluation online Project presentations (you need to be present online for all presentations)
Thursday 21 January 14:30 -- 17:30 Evaluation M.A.143 Theory Exam

  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]

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. (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.

  Assignments

The weight of each assignment is given between [square brackets] as a percentage of the total course grade. The combined assignments count for 70% of the course grade.

All assignments are in the domain of production engineering.
Different versions of a modelling language ManufacturingLang will be developed:

1. [10%] Abstract Syntax and Operational semantics in metaDepth.
2. [10%] Abstract and Concrete Visual Syntax in AToMPM.
3. [20%] Operational (rule-based) Semantics in AToMPM.
4. [20%] Translational Semantics in AToMPM with Traceability and Animation in AToMPM.
5. [10%] Template Based Model-to-Text Transformation using EGL; Property Language Modelling.

  Reading and Presentations

Topics
Choose one from the overview of possible topics (and links to the papers to read). These topics go beyond the basics taught in the theory lectures and practiced in the assignments. The topics cover a range of important papers on Model-Based Systems Engineering (MBSE).
On the morning of Thursday 21 January, you will give an online presentation of the topic/paper you have chosen. Time for these presentations has been reserved in the exam schedule and is visible in SisA. The theory exam takes place in-person during the afternoon.
You must attend all presentations.

Presentation info

Personal Pages
Maintained by Hans Vangheluwe. Last Modified: 2021/10/01 00:09:02.