Search course

Use the search function to find more information about the study programmes and courses available at Chalmers. When there is a course homepage, a house symbol is shown that leads to this page.

Graduate courses

Departments' graduate courses for PhD-students.

​​​​
​​

Syllabus for

Academic year
DAT240 - Software language engineering for domain-specific languages  
Programvaruspråksteknik för domänspecifika språk
 
Syllabus adopted 2020-02-20 by Head of Programme (or corresponding)
Owner: MPSOF
7,5 Credits
Grading: TH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail
Education cycle: Second-cycle
Major subject: Computer Science and Engineering, Software Engineering
Department: 37 - COMPUTER SCIENCE AND ENGINEERING


Teaching language: English
Application code: 24118
Open for exchange students: Yes
Maximum participants: 50

Module   Credit distribution   Examination dates
Sp1 Sp2 Sp3 Sp4 Summer course No Sp
0110 Examination 3,0c Grading: TH   3,0c   17 Mar 2021 am L,  09 Jun 2021 pm L,  16 Aug 2021 pm L
0210 Project 4,5c Grading: UG   4,5c    

In programs

MPIDE INTERACTION DESIGN AND TECHNOLOGIES, MSC PROGR, Year 2 (elective)
MPSOF SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 1 (compulsory elective)

Examiner:

Thorsten Berger

  Go to Course Homepage


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

Standard visual modelling languages, such as UML, do often not fit an organization's needs out of the box. Extending modelling languages with necessary constructs and features, or creating complementary languages, requires specialist knowledge beyond that of software modelling. The purpose of this course is to familiarize the student 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.


Page manager Published: Thu 04 Feb 2021.