A Chrestomathy of DSL Implementations

Status
Submitted for publication

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

Abstract
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.

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

Downloads and links

Bibtex entry
@article{metalib,
  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."
}