SENG441-18S1 (C) Semester One 2018

Special Topic: Model-Driven Software Engineering

15 points

Details:
Start Date: Monday, 19 February 2018
End Date: Sunday, 24 June 2018
Withdrawal Dates
Last Day to withdraw from this course:
  • Without financial penalty (full fee refund): Friday, 2 March 2018
  • Without academic penalty (including no fee refund): Friday, 18 May 2018

Description

This course introduces model-driven software engineering, including related processes, practices and tools, domain-specific languages, automatic code generation and model analysis techniques.

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 or simulation artefacts can be created or executable source code can be generated. 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 language and implement a dedicated development environment. Last, they will conduct a scientifically grounded comparative study of their domain specific language framework regarding existing modelling techniques.

Learning Outcomes

  • In this course, students will:
  • Understand the differences between languages’ abstract syntax, concrete syntax and semantics. Students will be able to define a language metamodel, express its textual grammar and apply model transformations to a concrete semantics.
  • Apply analysis skills to comprehend a particular domain and translate its core concepts using an appropriate meta-modelling language.
  • Propose a concrete syntax for this domain-specific language in order to ease the work of domain experts, i.e., the potential or actual stakeholders of the language to be developed, by providing only the necessary constructs they can manipulate.
  • Implement the concrete syntax in a tool set with proper development support to domain experts with, among others, concrete syntax checking, model visualisation, and exportation facilities.
  • Analyse available semantics-mapping solutions (e.g., model transformation languages) and apply the most suitable strategy to write mapping rules and/or necessary model transformations from the domain specific infrastructure to a concrete 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 in the form of a comparative case study of the tool set on a mid-scale realistic sample to assess its benefits in terms of, among others, usability, development time gain, reusability and maintainability of models.
  • Write, compile and present their domain specific solution and its evaluation into a technical report, supported by an oral synthesis to demonstrate effective communication skills both in report writing and presentation.

Prerequisites

(1) COSC261 and SENG301 and (2) Subject to approval by Head of Department

Course Coordinator

For further information see Computer Science and Software Engineering Head of Department

Textbooks / Resources

Domain-Specific Languages, Martin Fowler, Addison-Wesley, ISBN 978-0321712943

Implementing Domain-Specific Languages with Xtext and Xtend, Lorenzo Bettini, Packt Publishing Ltd, 978-1782160304

DSL Engineering: Designing, Implementing and Using Domain-Specific Languages, M Voelter, 978-1481218580 (available freely on http://voelter.de/books/).

Indicative Fees

Domestic fee $982.00

International fee $4,363.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 SENG441 Occurrences

  • SENG441-18S1 (C) Semester One 2018