Kies de Nederlandse taal
Course module: 192135450
Model Driven Engineering
Course info
Course module192135450
Credits (ECTS)5
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 classification
•        Traceability in model transformations
•        Transformation languages examples: QVT Relations, ATL, Model-to-text languages
•        Concrete syntax specification

Practical work with modeling and model transformation techniques and environments such as
•        Eclipse Modelling Framework (EMF)
•        ATL Development Tools (ADT)
•        QVT operational mappings
•        Concrete textual syntax (Xtext)
•        Model-to-text transformation (Acceleo)
•        Model transformations in Java
Assumed previous knowledge
Students must have a good understanding of the concept of software architecture, and have some knowledge of software engineering, modelling languages (such as the Unified Modelling Language) and Integrated Development Environments (IDEs), such as Eclipse and IntelliJ.
Participating study
Master Computer Science
Participating study
Master Internet Science and Technology
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
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