Course syllabus for Software language engineering for domain-specific languages

Course syllabus adopted 2021-02-17 by Head of Programme (or corresponding).

Overview

  • Swedish nameProgramvaruspråksteknik för domänspecifika språk
  • CodeDAT240
  • Credits7.5 Credits
  • OwnerMPSOF
  • Education cycleSecond-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language English
  • Application code 24112
  • Maximum participants50
  • Block schedule
  • Open for exchange studentsYes

Credit distribution

0110 Examination 3 c
Grading: TH
0 c0 c3 c0 c0 c0 c
  • 16 Mar 2022 am L
  • 09 Jun 2022 pm L
  • 15 Aug 2022 pm L
0210 Project 4.5 c
Grading: UG
0 c0 c4.5 c0 c0 c0 c

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for Master's level (second cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

English 6 (or by other approved means with the equivalent proficiency level)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Course specific prerequisites

To be eligible for the course the student should have 1) have a bachelor degree in Software Engineering, Computer Science or equivalent and 2) successfully completed a course in object oriented programming e.g. DAT042, DAT050, DAT055, DAT170, TDA545, TDA550 or equivalent.

Aim

Standard visual modeling languages, such as UML, taken out of the box, often do not fit an organization's needs. Extending modeling languages with necessary constructs and features, or creating complementary languages, requires specialist knowledge beyond that of software modeling. The purpose of this course is for the student to get familiarized with contemporary technologies and notations for creation, adaptation, and transformation of modeling languages.    

Learning outcomes (after completion of the course the student should be able to)

Knowledge and understanding
  • explain the following concepts: models, metamodel, constraints, transformation, semantics, abstract and concrete syntax;
  • explain the architecture of contemporary modeling frameworks
  • explain how domain specific modeling languages can be realized within a contemporary modeling framework
  • explain current research trends in domain-specific language (DSL) engineering
Skills and abilities
  • construct domain specific languages, e.g. specify meta models including syntax and semantics
  • define syntactic constraints using a constraint language
  • implement meta models within a modeling framework
  • construct model editors within a modeling framework
  • create model validators within a modeling framework
  • specify model transformations, and realize them within a modeling framework
  • apply the domain specific modeling approach to an authentic case
Judgement and approach.
  • recognize emerging technologies for model driven engineering using relevant information sources
  • select appropriate modeling technologies for a modeling tooling problem at hand
  • propose effective strategies and concrete technologies for realizing parts of a DSL based on a concrete problem

Content

The course consists of a series of lectures and a project. The lectures introduce each theme; the project explores the themes by development of a modeling tool. The tool is aimed at an authentic situation, and is realized by a contemporary modeling framework. The project consists of weekly iterations, during which the modeling tool is incrementally developed. Project work is carried out in teams with support of a group supervisor.

Students will be familiarized with contemporary technologies and notations for creation, adaptation, and transformation of modeling languages.

Organisation

The course consists of a series of lectures and a project. The lectures introduce each theme; the project explores the themes by development of a modeling tool. The tool is aimed at an authentic situation, and is realized by a contemporary modeling framework. The project consists of weekly iterations, during which the modeling tool is incrementally developed.  Project work is carried out in teams of 6 students, with support of a group supervisor.

Literature

Brambilla, Marco, Jordi Cabot, and Manuel Wimmer. "Model-driven software engineering in practice." Synthesis Lectures on Software Engineering 1.1 (2012): 1-182.

Examination including compulsory elements

Examination consists of two parts: a written examination (4,5 hec) and a project examination (3 hec). The written examination is individual. The project examination is based on the outcome of the group work.

For the written examination the grading scale used is Five, Four, Three, Not passed.

For the project the grading scale used is Passed and Not passed. The project part is graded individually, taking into account the group work as well as the student's individual contribution to the group work.

For Passed (3) as a complete course grade, both the written exam and the project part must have been awarded Passed. For 4 or 5, the Project part must have been awarded Passed, and the written exam must have been awarded 4 respectively 5.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.