Model Driven Engineering

Week 
Date 
Time 
Type 
Room 
Subject 
3  Friday 9 October  13:45  15:45  Theory  M.G.016  DomainSpecific Modelling: the need for Modelling Language Engineering; Modelling Languages: MetaModelling 
3  Friday 9 October  16:00  18:00  Lab Session  M.G.027  metaDepth: Metamodelling and Operational Semantics  assignment 1 
4  Friday 16 October  13:45  15:45  Theory  M.G.016  Modelling Languages: Concrete Syntax 
4  Friday 16 October  16:00  18:00  Lab Session  M.G.027  metaDepth; AToMPM introduction 
5  Friday 23 October  13:00  Deadline  Assignment 1: metaDepth (metamodelling + operational semantics)  
5  Friday 23 October  13:45  15:45  Theory  M.G.016  The Meaning of Semantics; The many uses of Model Transformation 
5  Friday 23 October  16:00  18:00  Lab Session  M.G.027  AToMPM: Metamodelling and Concrete Syntax  assignment 2 
6  Friday 30 October  13:00  Deadline  Assignment 2: AToMPM (metamodelling and concrete syntax)  
6  Friday 30 October  13:45  15:45  Theory  M.G.016  The many uses of Model Transformation; Specifying and Implementing Model Transformations 
6  Friday 30 October  16:00  18:00  Lab Session  M.G.027  AToMPM: rulebased transformation for Operational Semantics  assignment 3 
7  Tuesday 3 November  09:00  13:00  Evaluation  M.G.330  Assignments 1 and 2 
7  Friday 6 November  13:45  15:45  Theory  M.G.016  Specifying and Implementing Model Transformations; Putting it all together (with processes): the FTG+PM 
7  Friday 6 November  16:00  18:00  Lab Session  M.G.027  AToMPM: rulebased transformation for Denotational Semantics  assignment 4 
8  Friday 13 November  13:00  Deadline  Assignment 3: AToMPM (operational semantics)  
8  Friday 13 November  13:45  15:45  Project  M.G.016  Presentation of project topics; Overview of micro theory exam material 
8  Friday 13 November  16:00  18:00  Lab Session  M.G.027  Code Synthesis (model to text transformation) with EGL  assignment 5 
9  Friday 20 November  13:00  Deadline  Assignment 4: AToMPM (denotational semantics)  
9  Friday 20 November  13:45  15:00  Evaluation  M.G.016  Micro theory exam 
9  Friday 20 November  15:00  15:45  Project  M.G.016  Choosing projects 
9  Friday 20 November  16:00  18:00  Lab Session  M.G.027  Work on assignment 5 
10  Friday 27 November  13:00  Deadline  Assignment 5: Code Generation  
10  Friday 27 November  16:00  18:00  Project  M.G.116/M.G.330/M.G.317  Individual meetings about project 
11  Tuesday 1 December  09:00  13:00  Evaluation  M.G.330  Assignments 3, 4, and 5 
11  Friday 4 December  13:45  15:45  Project  M.G.116/M.G.330/M.G.317  Individual meetings about project 
11  Friday 4 December  16:00  18:00  Project  M.G.116/M.G.330/M.G.317  Individual meetings about project 
12  Friday 11 December  13:00  Deadline  Reading report and presentation uploaded to personal project page  
12  Friday 11 December  13:45  15:45  Evaluation  M.G.016  Project "reading/planned work" presentations 
12  Friday 11 December  16:00  18:00  Evaluation  M.G.016  Project "reading/planned work" presentations 
13  Friday 18 December  13:45  15:45  Project  M.G.116/M.G.330/M.G.317  Individual meetings about project 
13  Friday 18 December  16:00  18:00  Project  M.G.116/M.G.330/M.G.317  Individual meetings about project 
Friday 22 January  23:55  Deadline  Project report, implementation and presentation uploaded to personal project page  
Monday 25 January  09:30  18:00  Evaluation  M.G.015  Project presentations (you need to be present for all presentations) 
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 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.
Blackboard scribbles [pdf]. 
Presentation [pdf]. This presentation covers DomainSpecific Modelling (DSM) and MetaModelling (and some more not covered in class). 
Thomas Kühne. Matters of (Meta) Modeling. Software and System Modeling 5(4): 369385. 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]. 
JeanMarie 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 ModelBased Engineering of Embedded RealTime Systems. Volume 6100 of Lecture Notes in Computer Science, chapter 3, pages 5776. 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 573600. [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. 756779, November/December, 2009. [pdf]. 
Presentation [pdf]. 
David Harel, Bernhard Rumpe. Meaningful Modeling: What's the Semantics of "Semantics"?, IEEE Computer, vol. 37, no. 10, pp. 6472, 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 MultiParadigm Modelling for Analysis and Design of Traffic Networks. Winter Simulation Conference 2004, pages 249258. [pdf]. 
Model Transformation. Presentation [pdf]. 
Formalism Transformation Graph and Process Model. Presentation [pdf]. 
metaDepth, a framework for multilevel metamodelling 

A Tool for Multiformalism and MetaModelling: AToM^{3}. Tutorials [basic] and [slightly more advanced] on metamodelling with AToM^{3}. Use Juan de Lara's indepth AToM^{3} programming tutorial: the AToM^{3} Python API for details about AToM^{3}'s internal representation of models, about constraints and actions, and about manipulation of concrete syntax (visual) objects. 

AToMPM, A Tool for MultiParadim Modelling. 
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 [pdf]. 
1. DomainSpecific Modelling: metamodelling (abstract syntax modelling) and actioncode based operational semantics for a railway formalism in metaDepth. 
2. DomainSpecific Modelling: metamodelling (abstract and concrete syntax modelling) for a railway formalism in AToMPM. 
3. DomainSpecific Modelling: rulebased model transformation for operational semantics of a railway formalism in AToMPM. 
4. DomainSpecific Modelling: rulebased model transformation for translational semantics of a railway formalism (by mapping onto Petri Nets). 
5. DomainSpecific Modelling: templatebased modeltotext transformation for code synthesis. 
A list of tentative project topics can be found here. 
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 elsarticletemplateharv.tex is the document template you should use as a starting point for your report. 
Your report should contain at least the following:
