Skip to content

Model-Driven Engineering (MDE)

Model-Driven Engineering (MDE) shifts the focus of software development from coding to modelling. Models are treated as first-class development artefacts that can be automatically transformed into code, documentation, or other models.

My research in MDE is deeply intertwined with my work on system assurance. By treating assurance arguments as models rather than static documents, we can apply software engineering rigour (like version control, validation, and automated generation) to the safety-certification process.


Research Focus Areas

  • Metamodelling & Domain-Specific Languages (DSLs): Constructing customised metamodels and DSLs to capture domain-specific constraints in software architectures.
  • Model Transformation & Code Generation: Designing rules to translate system design models into compliance reports, code templates, or verification proofs.
  • Visual Notation Metamodels: Designing and implementing metamodels that formalise the visual layout and concrete syntax of diagrams, ensuring that the visual representations of models are as clean and correct as their underlying abstract syntax.