Engineering of Domain Specific Languages
Domain-Specific Languages (DSLs) are programming languages that are tailored to a particular application domain. This essential focus of DSLs allows to write more concise and understandable programs, with a tight stakeholder integration, and when done properly, to improve code quality. The course will feature the current state-of-the-art on both the design and implementation of DSLs. The course will emphasize the different design dimensions of DSLs, the involved language paradigms and features, and the drawbacks with respect to simple API modeling. As a student, you will also learn the difference between internal and external DSLs. In parallel, you will learn how to effectively implement a DSL from scratch, using modern language workbenches and programming languages that enable the construction of expressive and effective DSLs.
- DSL Engineering: Designing, Implementing and Using Domain-Specific Languages. Markus Voelter. 2013 (dslbook.org)
- Domain-Specific Languages. Martin Fowler. Addison Wesley 2013.
- Master of Science in Software & Data Engineering, Core course, Lecture and Laboratory, 1st year
- PhD programme of the Faculty of Informatics, Elective course, Lecture and Laboratory, 1st year (2 ECTS)
- PhD programme of the Faculty of Informatics, Elective course, Lecture and Laboratory, 2nd year (2 ECTS)