Model Driven Engineering
|
Note that this page still contains last year's material, to give you an idea of what is to come. It will soon be replaced by a planning for this year as well as new assignments. Note that this page is still under construction. Some material is still last year's. Lecturers: Prof. Dr. Hans Vangheluwe,
Prof. Dr. Moharram Challenger. Lab Assistant: Randy Paredis. |
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. |
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.
Week |
Date |
Time |
Type |
Room |
Subject |
1 | Friday 1 October | 16:00 -- 18:00 | Theory | M.G.004 | Domain-Specific Modelling: the need for Modelling Language Engineering; Modelling Languages: Meta-Modelling |
2 | Wednesday 6 October | 08:30 -- 10:30 | Lab Session | M.G.026 | Tutorial: MetaDepth |
2 | Assignment | Assignment 1: Production System (Meta-)Modelling in metaDepth | |||
2 | Friday 8 October | 16:00 -- 18:00 | Theory | M.G.004 | Paper discussion: "Matters of Metamodelling" |
3 | Wednesday 13 October | 08:30 -- 10:30 | Lab Session | M.G.026 | Work on assignment 1 (metaDepth) |
3 | Friday 15 October | 16:00 -- 18:00 | Theory | online (streaming in M.G.004) | Modelling Languages: Concrete (Visual) Syntax, Unifying Model- and Screen Sharing |
lecture recording: part 1, part 2 | |||||
4 | Tuesday 19 October | 23:59 | Deadline | Blackboard | Assignment 1: Production System (meta-)modelling in metaDepth |
4 | Wednesday 20 October | 08:30 -- 10:30 | Lab Session | M.G.026 | Tutorial: (meta-)modelling and concrete visual syntax in AToMPM |
4 | Assignment | Assignment 2: (Meta-)Modelling in AToMPM | |||
4 | Friday 22 October | 16:00 -- 18:00 | Theory | M.G.004 | Modelling Languages: Matters of (meta-)Modelling |
5 | Wednesday 27 October | 08:30 -- 10:30 | Lab Session | M.G.026 | Continue to work on Assignment 2 (abstract and concrete syntax in AToMPM) |
5 | Friday 29 October | 16:00 -- 17:30 | Evaluation | M.G.004 | Micro theory exam: meta-modelling, concrete visual syntax, semantics |
6 | Wednesday 3 November | 08:30 -- 10:30 | Lab Session | No class | |
6 | Friday 5 November | 16:00 -- 18:00 | Theory | online (M.G.004 available) | Meaningful Modeling: What's the Semantics of "Semantics"? The "Heart and Soul of Model Driven Engineering": (rule-based) Model Transformation |
lecture recording: part 1, part 2 | |||||
7 | Tuesday 9 November | 23:59 | Deadline | Blackboard | Assignment 2: Production System (meta-)modelling and concrete visual syntax in AToMPM |
7 | Wednesday 10 November | 08:30 -- 10:30 | Lab Session | M.G.026 | Tutorial: endogenous rule-based model transformation in AToMPM |
7 | Assignment | Assignment 3: Operational Semantics in AToMPM | |||
7 | Friday 12 November | 16:00 -- 18:00 | Theory | No class -- Armistice | |
8 | Wednesday 17 November | 08:30 -- 10:30 | Lab Session | M.G.026 | Continue work on assignment 3 |
8 | Friday 19 November | 16:00 -- 17:00 | Theory | online | Groove (guest lecture by Prof. Arend Rensink) |
lecture recording,
slides [pdf] examples from the talk: circular-buffer.gps.zip, wgc.gps.zip (wolf goat cabbage), petrinet.gps.zip, petrinet-recipe.gps.zip, |
|||||
9 | Tuesday 23 November | 23:59 | Deadline | Blackboard | Assignment 3: Operational Semantics in AToMPM |
9 | Wednesday 24 November | 08:30 -- 10:30 | Lab Session | M.G.026 | Tutorial: exogenous model transformation in AToMPM |
9 | Assignment | Assignment 4: Transformation to Petri-Nets in AToMPM | |||
9 | Friday 26 November | 16:00 -- 18:00 | Theory | M.G.005 | Specifying and Implementing Model Transformations |
10 | Wednesday 1 December | 08:30 -- 10:30 | Lab Session | M.G.026 | Continue work on assignment 4 |
10 | Friday 3 December | 16:00 -- 18:00 | Theory | online (M.G.004 available) | Specifying and Implementing Model Transformations: scheduling languages, RAMification, pivot/scope, matching |
lecture recording: part 1, part 2 | |||||
11 | Tuesday 7 December | 23:59 | Deadline | Blackboard | Assignment 4: Transformation to Petri-Nets in AToMPM |
11 | Wednesday 8 December | 08:30 -- 10:30 | Lab Session | M.G.026 | Tutorial: AToMPM code Synthesis using EGL and metaDepth |
lab recording | |||||
11 | Assignment | Assignment 5: Code Generation in AToMPM | |||
11 | Friday 10 December | 16:00 -- 18:00 | Theory | recorded (M.G.004 available) | Product Family/Variability modelling and Product Line Engineering |
lecture recording | |||||
12 | Wednesday 15 December | 08:30 -- 10:30 | No Class | ask questions about assignment via e-mail (a Teams meeting will be scheduled if needed) | |
12 | Friday 17 December | 16:00 -- 17:00 | Theory | online (M.G.004 available) | ProMoBox |
lecture recording | |||||
13 | Tuesday 21 December | 23:59 | Deadline | Blackboard | Assignment 5: Code Synthesis in AToMPM |
13 | Wednesday 22 December | 08:30 -- 10:30 | No Class | ||
Tuesday 25 January | 23:59 | Deadline | Project presentation submission (via e-mail) | ||
Friday 28 January | morning (timing TBA) | Evaluation | M.G.005 | Project presentations (you need to be present for all presentations) | |
Friday 28 January | 14:30 -- 17:30 | Evaluation | M.G.005 | Theory Exam |
Class scribbles. |
Presentation [pdf]. This presentation covers Domain-Specific Modelling (DSM) and Meta-Modelling (and some more not covered in class). |
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]. |
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. |
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. 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. 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) |
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] |
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). |
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] |
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 |
metaDepth, a framework for multi-level meta-modelling |
A package for Atom, a hackable text editor that enables a basic syntax highlighting for metaDepth can be downloaded here. |
|
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. |
|
LoLA, a Petri-Net analyser. Only for Linux! (Windows users could use Cygwin) |
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.
Maintained by Hans Vangheluwe. | Last Modified: 2022/08/29 00:46:47. |