Skip to main content
KBS_Icon_questionmark link-ico

Model-Driven Engineering

Key information

  • Module code:

    6CCS3MDE

  • Level:

    6

  • Semester:

      Spring

  • Credit value:

    15

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


Module description disclaimer

King’s College London reviews the modules offered on a regular basis to provide up-to-date, innovative and relevant programmes of study. Therefore, modules offered may change. We suggest you keep an eye on the course finder on our website for updates.

Please note that modules with a practical component will be capped due to educational requirements, which may mean that we cannot guarantee a place to all students who elect to study this module.

Please note that the module descriptions above are related to the current academic year and are subject to change.