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
You must be enrolled for in an EngD degree programme.