Model Driven Engineering 

Schedule

Week

Date

Type

Room

Subject

1 Friday 27 September 08:30 - 10:30 Theory G.016 Domain-Specific Modelling: the need for Modelling Language Engineering
2 Friday 4 October 13:45 - 18:00 Lab Session G.016 MetaDepth: Metamodelling and Operational Semantics
3 Friday 11 October 13:45 - 15:45 Theory G.016 Modelling Languages: Meta-Modelling (and a bit of concrete syntax)
3 Friday 11 October 16:00 - 18:00 Lab Session G.027 MetaDepth: Metamodelling and Operational Semantics
4 Friday 18 October 13:45 - 15:45 Theory G.016 Modelling Languages: Concrete Syntax; the Meaning of Semantics
4 Friday 18 October Deadline Assignment 1: metaDepth (metamodelling + operational semantics)
4 Friday 18 October 16:00 - 18:00 Lab Session G.027 AToMPM: Metamodelling
5 Friday 25 October 13:45 - 15:45 Theory G.016 The Meaning of Semantics; Model Transformation
5 Friday 25 October Deadline Assignment 2: AToMPM (metamodelling)
5 Friday 25 October 16:00 - 18:00 Lab Session G.027 AToMPM: rule-based transformation for Operational and Denotational Semantics
6 Thursday 31 October Evaluation G.330 Assignment 1 and 2
6 Friday 1 November 13:45 - 15:45 All Saints Day - University closed, no class
6 Friday 1 November 16:00 - 18:00 All Saints Day - University closed, no class
7 Friday 8 November Deadline Assignment 3: AToMPM (operational semantics)
7 Friday 8 November 13:45 - 15:45 Theory G.016 Model Transformation
7 Friday 8 November 16:00 - 18:00 G.016 Project Topics
8 Friday 15 November 13:45 - 15:45 Theory no class, work on project
8 Friday 15 November 16:00 - 18:00 Lab Session G.027 Code Generation
8 Friday 15 November Deadline Assignment 4: AToMPM (denotational semantics)
9 Friday 22 November 15:00 - 15:45 Evaluation micro theory exam
9 Friday 22 November 16:00 - 18:00 Lab Session G.027 Code Generation questions and answers; demo of Simon's solution
9 Friday 22 November Deadline Assignment 4: AToMPM (denotational semantics)
10 Friday 29 November 13:45 - 15:45 Project G.116/G.330/G.317 no class, individual meetings about project
10 Friday 29 November 16:00 - 18:00 Project G.116/G.330/G.317 no class, individual meetings about project
10 Friday 29 November Deadline Assignment 5: Code Generation
11 Thursday 5 December 9:00 - 13:00 Evaluation G.015 Assignment 3, 4, and 5
11 Friday 6 December 13:45 - 15:45 Project G.116/G.330/G.317 no class, individual meetings about project
11 Friday 6 December 16:00 - 17:00 Project G.116/G.330/G.317 no class, individual meetings about project
12 Friday 13 December 13:45 - 15:45 Project G.116/G.330/G.317 no class, individual meetings about project
12 Friday 13 December 16:00 - 18:00 Project G.116/G.330/G.317 no class, individual meetings about project
13 Thursday 19 December Deadline Reading Report on personal "project page"
13 Friday 20 December 13:45 - 15:45 Evaluation G.016 Project "reading/planned work" presentations
13 Friday 20 December 16:00 - 18:00 Evaluation G.016 Project "reading/planned work" presentations
Thursday 23 January Deadline Project Report and Code on personal "project page"
Thursday 23 January 10:30 - 12:00 Evaluation G.015 Project presentations
Thursday 23 January 13:00 - 14:20 Evaluation G.015 Project presentations
Thursday 23 January 14:30 - 15:50 Evaluation G.015 Project presentations
Thursday 23 January 16:00 - 17:00 Evaluation G.015 Project presentations

A project will typically contain a "reading" part and a "building" part. The first part will describe (in a report and a presentation) what you found in the literature. The second part will describe your own (prototype) implementation (possibly using MDE tools). The whole project will be due during the January 2014 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 the Friday 8 November lecture, 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. Note that this year, this "closed book" written exam does not cover model transformation as that is adequately covered in the assignments.

  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%

Note that the assignments are not optional. You must complete all assignments before you can start on your project.


  Lectures

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

  Tools

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.
The AToMPM user manual [pdf].

  Assignments

  Projects

Topics
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 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

Project material
Mohammad Amin Sepasian arKitect project page
Leonardo Araújo de Jesus Advanced User Interfaces project page
Bojan Arnaudovski arKitect project page
Daniel Dragojevic GME project page
Leonard Elezi Spoofax and Xtext project page
Mouzzam Hussain Statecharts to Petri Nets translation project page
Daan Janssens ATL project page
Dylan Kiss VMTS project page
Athanasios Koutoulas Clafer project page
Maryam Moein GME project page
Ali Parsai Mutation-based testing of rule-based model transformations (using HOT) project page
Mhd Tarek Sharbak Visual layout of graph-like models project page
Bavo Vander Henst Causal Block Diagrams project page
Stijn Van Der Wee Fujaba project page
Ken Vanherpen Design-Space Exploration with Alloy project page