Kies de Nederlandse taal
Course module: 201800179
Model Driven Engineering for EngD
Course info
Course module201800179
Credits (ECTS)6
Course typeCourse
Language of instructionEnglish
Contact persondr. L. Ferreira Pires
dr. L. Ferreira Pires
Contactperson for the course
dr. L. Ferreira Pires
dr. J.L. Rebelo Moreira
Academic year2022
Starting block
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes
After completing this course successfully, the student is able to:

•        Explain the principles and main concepts of Model-Driven Engineering (e.g., model, metamodel, transformation, metamodel-based transformation pattern, model-to-text transformation).
•        Apply the Model-Driven Engineering concepts in projects of medium complexity.  
•        Identify and evaluate alternative solutions for model-driven development of small and medium size projects starting from a domain-specific problem description and finishing with working application.
•        Critically evaluate and select among new and emerging model-driven tools and technologies.
This course focuses on Model-Driven Engineering (MDE) concepts and techniques. It describes software development processes that are driven by models of the software systems of concern. Model-driven engineering facilitates software adaptability at a higher level of abstraction. Models play a key role in the software development, by driving the development, documentation, and evolution of the software systems. MDE techniques are being applied in many areas of software development, for purposes like automatic code generation, reverse-engineering, reconciliation of different data formats and tool integration. Metamodelling and model transformation are being considered as essential tools for a professional in computer science
The main topics of the course are the following:
•        Overview of MDE and MDA (Model-Driven Architecture)
•        Model and metamodel concepts
•        Metamodelling stacks (MOF, EMF)
•        Object Constraint Language (OCL)
•        Metamodel-transformation pattern and scenarios
•        Model transformation languages: paradigms and classifications
•        Traceability in model transformations
•        Transformation languages examples: QVT Relations, ATL, Model-to-text languages
•        Concrete syntax specification

Practical work with modeling and model transformation environments such as
•        Eclipse Modelling Framework (EMF)
•        ATL Development Tools (ADT)
•        QVT operational mappings
•        Concrete textual syntax (Xtext)
•        Xpand model-to-text language
•        Model transformations in Java

This course can be a compulsory course for all EngD Maintenance trainees. Part of the course is an additional assignment for upgrading the course to a Post-Master level. The trainee must discuss the content of this additional assignment together with the lecturer of the course. Afterwards, the trainee needs a covering letter (see EngD study guide) stating that he/she has rounded the course at post-master level. This form must be signed by both the lecturer of the course and the EngD programme director, and a scan must be uploaded in ProDoc

Entry requirements
You must be enrolled for in an EngD degree programme.
Assumed previous knowledge
Students must have a good understanding of the concept of software architecture, and be well-versed in software engineering terminology and modelling languages (such as the Unified Modelling Language).
Participating study
Master Computer Science
Required materials
Recommended materials
Marco Brambilla, Jordi Cabot, Manuel Wimmer 2017. Model-Driven Software Engineering in Practice. 2nd edition; ISBN 978-3-031-02549-5
Gronback (2009). Eclipse Modeling Project; ISBN 978-0-321-53407-1
Instructional modes
Presence dutyYes

Presence dutyYes

Project supervised
Presence dutyYes

Presence dutyYes

Exam, Presentation

Assessment methods: exam, weekly questions, project deliverables, presentation

Kies de Nederlandse taal