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
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0110 Examination 3 c Grading: TH | 3 c |
| |||||
0210 Project 4.5 c Grading: UG | 4.5 c |
In programmes
- 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
- Senior Lecturer, Interaction Design and Software Engineering, Computer Science and Engineering
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
- 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
- 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.
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.