Building Domain-Specific Languages for the Web
Implementing web applications in an object-oriented language such as
Java using state-of-the-art frameworks produces robust software, but
involves a lot of boilerplate code. Domain-specific languages (DSLs)
increase the productivity of software engineers by replacing such
low-level boilerplate code by high-level models, from which code can
be generated. This tutorial shows how to find domain-specific
abstractions based on patterns in existing (reference) programs and
build domain-specific languages to capture these abstraction using
several DSLs for DSL engineering: SDF for syntax definition and
Stratego/XT for code generation. The approach is illustrated using the
design and implementation of WebDSL, a domain-specific language for
web applications, which provides abstractions for data models, page
definitions, access control, workflow, and styling. The tutorial will
show how code generation by model transformation is an
important technique for separation of concerns in DSL implementations
for designing a DSL as a tower of abstractions, rather than as a
monolithic language.Abstract
Material
Contributions by EelcoVisser