https://tue.osiris-student.nl/onderwijscatalogus/extern/cursus?cursuscode=2IMP20&collegejaar=2026&taal=en
- Introduction to model-driven development and domain-specific languages;
- Language workbenches and tools such as Rascal and the Eclipse Modeling Framework;
- Lexical analysis and context-free grammars;
- Definition of the syntax of domain-specific languages: abstract and concrete;
- Definition of the static and dynamic semantics of domain-specific languages;
- Model transformation languages;
- Code generators.
The world of software development is rapidly changing. Models play a more important role than source code. The course Domain Specific Language Design prepares students for the model-driven software development world. After completing the course, the students should be able to:
- understand and use modern language workbenches such as Rascal;
- define regular grammars;
- define context-free grammars;
- understand formalisms to define static and dynamic semantics of a language;
- define abstract syntax definitions in the form of metamodels;
- define a concrete textual syntax for a language based on an abstract syntax definition;
- understand, develop and apply model transformations;
- understand, develop and apply code generators;
- develop textual editors for languages within workbenches and tools such as Rascal and the Eclipse Modeling Framework;
- design a small domain-specific language and create an environment for editing and executing.
These learning objectives will be tested via practical assignments.Final project and individual report