SENG405-21S1 (C) Semester One 2021

Model-Driven Software Engineering

This occurrence is not offered in 2021

15 points

Start Date: Monday, 22 February 2021
End Date: Sunday, 27 June 2021
Withdrawal Dates
Last Day to withdraw from this course:
  • Without financial penalty (full fee refund): Sunday, 7 March 2021
  • Without academic penalty (including no fee refund): Friday, 14 May 2021


The purpose of this course is to introduce students to model-driven software engineering practices where models (e.g., software component or activity diagrams, state or flow charts,...) are not used as documentation and reasoning artefacts solely, but are first class products from which other modelling, simulation artefacts or executable source code can be produced. Students will first learn about appropriate methodologies and suitable tooling support for model-driven software engineering. Then, they will develop team work skills as software language engineers where they will create their own software language and implement a dedicated development environment. Last, they will conduct a scientifically-grounded empirical evaluation of a domain specific language framework developed by their peers. The course will use a mix of theoretical lectures (e.g., language engineering, model notations, knowledge management, ontologies) and practical labs (using e.g., Arduinos, testing frameworks) to put in practice both software language engineering and model-driven engineering techniques. The assignments will be executed in pairs and presented to the whole class. The final examination will be an open book exam.

Learning Outcomes

  • Understand the differences between languages’ abstract syntax, concrete syntax and semantics, especially focusing on the functional mapping from syntax to a particular problem (semantic) domain.
  • Apply analysis skills to comprehend a particular domain and translate its  core concepts using an appropriate meta-modelling language.
  • Propose and implement a concrete syntax for a domain-specific language in order to ease the work of domain experts including model checking,  visualisation and exportation techniques.
  • Analyse available semantics-mapping solutions and apply the most suitable  strategy to write mapping rules and/or model transformations from the  domain specific infrastructure to a runnable environment
  • Understand and apply advanced model-driven software engineering techniques, i.e.,  model/code refactoring, model analysis techniques and model-based  testing
  • Conduct an evaluation of a tool set on a mid-scale realistic sample to assess  its benefits in terms of, usability, development time gain, reusability  and maintainability of models
    • University Graduate Attributes

      This course will provide students with an opportunity to develop the Graduate Attributes specified below:

      Employable, innovative and enterprising

      Students will develop key skills and attributes sought by employers that can be used in a range of applications.

      Engaged with the community

      Students will have observed and understood a culture within a community by reflecting on their own performance and experiences within that community.

      Globally aware

      Students will comprehend the influence of global conditions on their discipline and will be competent in engaging with global and multi-cultural contexts.


Course Coordinator

Fabian Gilson


Assessment Due Date Percentage 
Develop a Domain Specific Language 30%
Evaluate a Peer's Language 30%
Open Book Exam 40%

Indicative Fees

Domestic fee $1,033.00

International fee $4,938.00

* All fees are inclusive of NZ GST or any equivalent overseas tax, and do not include any programme level discount or additional course-related expenses.

For further information see Computer Science and Software Engineering.

All SENG405 Occurrences

  • SENG405-21S1 (C) Semester One 2021 - Not Offered