Domain-Specific Language Engineering
From February to June 2009 I will be teaching a course on
Model-Driven Sofware Development.
For the course I plan to write a comprehensive set of lecture notes entitled 'Domain-Specific Language Engineering'.
Starting point for the lecture notes is the following paper:
E. Visser.
WebDSL: A Case Study in Domain-Specific Language Engineering.
In R. Laemmel, J. Saraiva, and J. Visser, editors,
Generative and Transformational Techniques in Software Engineering
(GTTSE 2007), Lecture Notes in Computer Science. Springer,
2008. Tutorial for International Summer School GTTSE 2007.
[
pdf]
Abstract:
The goal of domain-specific languages (DSLs) is to increase the
productivity of software engineers by abstracting from low-level
boilerplate code. Introduction of DSLs in the software development
process requires a smooth workflow for the production of DSLs
themselves. This requires technology for designing and implementing
DSLs, but also a methodology for using that technology. That is, a
collection of guidelines, design patterns, and reusable DSL components
that show developers how to tackle common language design and
implementation issues. This paper presents a case study in
domain-specific language engineering. It reports on a project in which
the author designed and built
WebDSL, a DSL for web applications with
a rich data model, using several DSLs for DSL engineering: SDF for
syntax definition and Stratego/XT for code generation. The paper
follows the stages in the development of the DSL. The contributions of
the paper are three-fold. (1) A tutorial in the application of the
specific SDF and Stratego/XT technology for building DSLs. (2) A
description of an incremental DSL development process. (3)~A
domain-specific language for web-applications with rich data models.
The paper concludes with a survey of related approaches.
--
EelcoVisser - 11 May 2008