English

MontiCore: a Framework for Compositional Development of Domain Specific Languages

Software Engineering 2014-09-09 v1

Abstract

Domain specific languages (DSLs) are increasingly used today. Coping with complex language definitions, evolving them in a structured way, and ensuring their error freeness are the main challenges of DSL design and implementation. The use of modular language definitions and composition operators are therefore inevitable in the independent development of language components. In this article, we discuss these arising issues by describing a framework for the compositional development of textual DSLs and their supporting tools. We use a redundance-free definition of a readable concrete syntax and a comprehensible abstract syntax as both representations significantly overlap in their structure. For enhancing the usability of the abstract syntax, we added concepts like associations and inheritance to a grammar- based definition in order to build up arbitrary graphs (as known from metamodeling). Two modularity concepts, grammar inheritance and embedding, are discussed. They permit compositional language definition and thus simplify the extension of languages based on already existing ones. We demonstrate that compositional engineering of new languages is a useful concept when project-individual DSLs with appropriate tool support are defined.

Keywords

Cite

@article{arxiv.1409.2367,
  title  = {MontiCore: a Framework for Compositional Development of Domain Specific Languages},
  author = {Holger Krahn and Bernhard Rumpe and Stefan Völkel},
  journal= {arXiv preprint arXiv:1409.2367},
  year   = {2014}
}

Comments

20 pages, 6 figures

R2 v1 2026-06-22T05:51:21.818Z