Methods and Techniques for the Design and Implementation of Domain-Specific Languages

Zef Hemel. Methods and Techniques for the Design and Implementation of Domain-Specific Languages. PhD thesis, Delft University of Technology, Delft, The Netherlands, January 2012.


The promise of model-driven engineering is to reduce the development and maintenance effort of software by developing at a higher-level of abstraction through the use of domain-specific languages (DSLs). Domain-specific languages, as opposed to general-purpose languages, are software languages that focus on a specific problem domain, e.g. insurance, database querying, grammars or workflow.

The research in this thesis is conducted as part of the MoDSE (Model- Driven Software Evolution) project. The goal of the MoDSE project is to develop a systematic approach to model-driven software development using domain-specific languages. This approach includes methods, techniques, and underlying tool support. The group in which the research is conducted (the Software Engineering Research Group at Delft University of Technology) is building and evolving tools to simplify the development of domain-specific languages, including SDF [Heering et al., 1989] and SGLR [Visser, 1997a] for parsing, Stratego/XT [Visser, 2004, Bravenboer et al., 2008] for program transformation and Spoofax [Kats and Visser, 2010a] for building IDE (Integrated Development Environment) plug-ins for the developed languages.

The goal of the research is to explore the DSL design space and to develop techniques to simplify the implementation of DSLs. The research is conducted through case studies in DSL design, using tools developed as part of the MoDSE project.