Design Guidelines for Domain Specific Languages

Designing a new domain specific language is as any other complex task sometimes error-prone and usually time consuming, especially if the language shall be of high-quality and comfortably usable. Existing tool support focuses on the simplification of technical aspects but lacks support for an enforcement of principles for a good language design. In this paper we investigate guidelines that are useful for designing domain specific languages, largely based on our experience in developing languages as well as relying on existing guidelines on general purpose (GPLs) and modeling languages. We defined guidelines to support a DSL developer to achieve better quality of the language design and a better acceptance among its users.

[1]  John M. Rushby,et al.  An operational semantics for Stateflow , 2004, International Journal on Software Tools for Technology Transfer.

[2]  Niklaus Wirth,et al.  On the Design of Programming Languages , 1974, IFIP Congress.

[3]  Charles Antony Richard Hoare,et al.  Hints on programming language design. , 1973 .

[4]  Bernhard Rumpe,et al.  View-Based Modeling of Function Nets , 2014, ArXiv.

[5]  Diomidis Spinellis,et al.  Notable design patterns for domain-specific languages , 2001, J. Syst. Softw..

[6]  Steffen Becker,et al.  Classification of Concrete Textual Syntax Mapping Approaches , 2008, ECMDA-FA.

[7]  Uwe Kastens,et al.  Language Design and Implementation by Selection , 1997 .

[8]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[9]  John John Gough,et al.  Compiling for the .NET Common Language Runtime , 2001 .

[10]  David S. Wile,et al.  Supporting the DSL Spectrum , 2001 .

[11]  Bernhard Rumpe,et al.  Textbased Modeling , 2014, ArXiv.

[12]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[13]  David S. Wile,et al.  Lessons learned from real DSL experiments , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[14]  Richard F. Paige,et al.  Principles for modeling language design , 2000, Inf. Softw. Technol..

[15]  Bernhard Rumpe,et al.  MontiCore: Modular Development of Textual Domain Specific Languages , 2008, TOOLS.

[16]  Juha-Pekka Tolvanen,et al.  Domain-Specific Modeling: Enabling Full Code Generation , 2008 .