A Chrestomathy of DSL Implementations

Submitted for publication

Simon Schauss, Ralf Lämmel, Johannes Härtel, Marcel Heinz, Kevin Klein, Lukas Härtel, Thorsten Berger

We present a systematic approach to the development of a software chrestomathy (a collection of software systems useful for learning) for implementations of a domain-specific language (DSL). We focus on the involved metaprogramming techniques for syntax and semantics; we are not concerned with IDE-related aspects. The collected implementations are organized and documented with the help of feature modeling, semantic annotations, and model-based documentation. The chrestomathy is useful for learning (teaching) in so far that it provides a high level of abstraction for metaprogramming and it directly enables the side-by-side exploration of implementation approaches for DSLs (so that one can learn new metaprogramming techniques based on techniques already known). Source code, feature model, feature configurations, semantic annotations, and further documentation are available online, explorable through a web application, and maintained by a collaborative process.

DSL. DSL implementation. Metaprogramming. Software chrestomathy. Learning. MetaLib. Feature modeling. Model-based documentation. Open-source software. Software language engineering.

Downloads and links

Bibtex entry
  author    = {Simon Schauss, Ralf L\"ammel, Johannes H\"artel, Marcel Heinz, Kevin
  Klein, Lukas H\"artel, Thorsten Berger},
  title     = "{A Chrestomathy of DSL Implementations}",
  year      = {2017},
  note      = "Draft. 12 pages. Submitted for publication. Published online 25 June 2017."