Jump to content

PCS953 Model Driven Software Engineering

Course description for academic year 2017/2018

Contents and structure

Model-driven software engineering (MDSE) is a software engineering discipline that focuses on models as primary artefacts of the software development process wherein programs are, for the most part, generated by means of model-to-code transformations. In particular, modelling languages tailored to specific domains promise to increase the productivity and quality of software. This course concentrates on modelling, syntax and semantic of (domain specific) modelling languages, model transformations, and tools and technologies for MDSE.

The course covers paradigms and example languages central to MDSE including UML, Ecore, Graph transformations, QVT, ATL and the Diagram Predicate Framework. Model transformation and code generation is a main topic of the course; different control and execution mechanisms for model transformations are covered, as well as positive and negative application conditions, bi-directionality, sequential and parallel rule execution. Specific MDSE related topics like model version control, meta-model/model co-evolution, multilevel and deep meta-modelling are discussed. The object constraint language (OCL), first order logic and graph constraints/predicates are introduced for specification of correctness properties.

Learning Outcome

Upon completion of the course the candidate should be able to:

  • different ways of defining syntax and semantics of (domain specific) modelling languages.
  • the principles behind state-of-the-art tools and frameworks used for (meta)modelling, language definition, and model transformation.
  • different kinds of models, such as structural and behavioural models.
  • and graph based and rule based model transformation systems.
  • abstract and concrete syntaxes for modelling languages and distinguish between graph based and text based semantics of models.
  • and ways of defining constraints on software models, including OCL, graph constraints, and relational logic.
  • model management activities such as version control, model evolution, and model-meta-model migration.

  • proper abstraction levels for domain specific modelling languages.
  • correctness and quality criteria for software models and model transformations.
  • computer tools for model driven development of software.
  • tools for verification of models against constraints and properties.
  • and experimental evaluation of tools and techniques for MDSE.
  • MDSE in all phases of software development from requirements capturing to deployment and maintenance.

  • the applicability and limitations of MDSE for development of software.
  • and recent developments and research trends within MDSE.
  • central scientific venues and journals within MDSE.

Entry requirements

General admission criteria for the PhD programme.

Teaching methods

The course consists of a combination of lectures, seminars and workshops. The lectures will be used for covering the core material of the course. Seminars permit participants to present and discuss recent research papers on topics in model-driven software engineering. The seminars will also be used for presentations by visiting-researchers in the field. The workshops will be used for experimentation and assessment of tools and technologies supporting MDSE. The course includes a number of small assignments concentrating on the application of MDSE for the development of small and medium sized software systems. A larger project will be conducted by the participants focusing on either theoretical development, or a case study applying empirical methods to evaluate MDSE tools on a larger example of a software system. The results from the project must be presented in a seminar and documented in a research paper.

Assessment

The course is graded pass/fail based on the research paper and an oral exam. Each of the two components must result in a pass grade in order to obtain a pass grade for the entire course. Each participant must give one research seminar and an oral presentation of the larger project. The smaller assignments must have been approved in order to take the exam.