Syllabus for |
|
DAT240 - Software language engineering for domain-specific languages |
Programvaruspråksteknik för domänspecifika språk |
|
Syllabus adopted 2021-02-17 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 |
Main field of study: Computer Science and Engineering, Software Engineering
|
Department: 37 - COMPUTER SCIENCE AND ENGINEERING
|
Teaching language: English
Application code: 24112
Open for exchange students: Yes
Block schedule:
B
Maximum participants: 50
Module |
|
Credit distribution |
|
Examination dates |
Sp1 |
Sp2 |
Sp3 |
Sp4 |
Summer course |
No Sp |
0110 |
Examination |
3,0 c |
Grading: TH |
|
|
|
3,0 c
|
|
|
|
|
16 Mar 2022 am L, |
09 Jun 2022 pm L, |
15 Aug 2022 pm L |
0210 |
Project |
4,5 c |
Grading: UG |
|
|
|
4,5 c
|
|
|
|
|
|
In programs
MPIDE INTERACTION DESIGN AND TECHNOLOGIES, MSC PROGR, Year 2 (elective)
MPSOF SOFTWARE ENGINEERING AND TECHNOLOGY, MSC PROGR, Year 1 (compulsory elective)
Examiner:
Jan-Philipp Steghöfer
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
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.