Use the Tab and Up, Down arrow keys to select menu items.
This occurrence is not offered in 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.
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 environmentUnderstand and apply advanced model-driven software engineering techniques, i.e., model/code refactoring, model analysis techniques and model-based testingConduct 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
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.
Students will comprehend the influence of global conditions on their discipline and will be competent in engaging with global and multi-cultural contexts.
COSC261 and SENG301
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.