Module description
Aims and Learning Outcomes
To provide an overall understanding of model-driven engineering and its cost-benefit trade-off in software engineering, and to provide an overall understanding of the role of domain-specific modelling languages and techniques and skills for their implementation:
At the end of this module you should be able to:
- Provide an overall understanding of model-driven engineering and its cost-benefit trade-off in software engineering;
- Provide an overall understanding of the role of domain-specific modelling languages and techniques for their implementation;
- Apply knowledge and skills to produce advice on whether to apply an MDE approach or not;
- Apply knowledge and skills for developing DSMLs and their supporting tool infrastructure.
Knowledge and understanding:
- Explain core principles of MDE and the general cost-benefit trade-off involved;
- List and explain constituent elements of language definition in different formalisms (textual, graphical, projectional);
- Explain concepts and technologies for model transformation and code generation;
Skills:
- Develop a textual or graphical domain-specific modelling language (DSML) and support tooling (transformations, code generators, validators) from a description of the domain;
Transferable skills:
- Present a reasoned and well-structured argument about technical choices in DSML development.
Syllabus
The course will cover the concepts, principles and motivations for model-driven engineering (MDE) and model-driven development (MDD). Key techniques such as model transformations and domain-specific languages (DSLs) will be explored in detail, and students will learn how to implement their own modelling language. The course will survey the industrial uptake of MDE, and factors that are important to consider when introducing MDE in industry. A practical team-based assessed coursework will involve the application of MDE tools to a practical problem.
- Introduction to MDE: Motivations and benefits, different MDE approaches, introduction of case studies
- Domain specific languages. DSLs in UML and textual languages
- Tool support for MDE and DSLs
- Code generation techniques and tools
- Metamodeling concepts
- Model transformations and MT languages
- Graphical DSLs and MDE tools
- Semantics and verification in MDE
- Outlook: MDE across different domains, Agile MDE, MDA
- A view from industry: industrial guest speaker
Assessment details
Please note: The below assessment details for the 2025/26 academic year may be updated. The confirmed details will be available on the Student Handbook and on the module KEATS page at the beginning of the semester.
- 60% Examination
- 40% Coursework