A DSL toolkit for deferring architectural decisions in DSL-based software design

A number of mature toolkits and language workbenches for DSL-based design have been proposed, making DSL-based design attractive for many projects. These toolkits preselect many architectural decision options. However, in many cases it would be beneficial for DSL-based design to decide for the DSL's architecture later on in a DSL project, once the requirements and the domain have been sufficiently understood. We propose a language and a number of DSLs for DSL-based design and development that combine important benefits of different DSL toolkits in a unique way. Our approach specifically targets at deferring architectural decisions in DSL-based design. As a consequence, the architect can choose, even late in a DSL project, for options such as whether to provide the DSL as one or more external or embedded DSLs and whether to use an explicit language model or not .

[1]  not Cwi,et al.  XHTML™ 1.0 The Extensible HyperText Markup Language , 2002 .

[2]  Donald Roberts Evolve Frameworks into Domain-Specific Languages , 1997 .

[3]  Valdis Berzins,et al.  The Realizable Benefits of a Language Prototyping Language , 1988, IEEE Trans. Software Eng..

[4]  Laurence Tratt,et al.  Domain specific language implementation via compile-time meta-programming , 2008, TOPL.

[5]  Jon Louis Bentley,et al.  Programming pearls: little languages , 1986, CACM.

[6]  Marjan Mernik,et al.  A preliminary study on various implementation approaches of domain-specific language , 2008, Inf. Softw. Technol..

[7]  Mark Strembeck,et al.  An approach for the systematic development of domain-specific languages , 2009 .

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

[9]  John K. Ousterhout,et al.  The Safe-Tcl Security Model , 1998, USENIX Annual Technical Conference.

[10]  Eric S. Raymond,et al.  The Art of Unix Programming , 2003 .

[11]  Paul Hudak,et al.  Building domain-specific embedded languages , 1996, CSUR.

[12]  Amey Karkare,et al.  Heap reference analysis using access graphs , 2006, ACM Trans. Program. Lang. Syst..

[13]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[14]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[15]  Viljem Zumer,et al.  Incremental programming language development , 2005, Comput. Lang. Syst. Struct..

[16]  Jean Bézivin,et al.  TCS:: a DSL for the specification of textual concrete syntaxes in model engineering , 2006, GPCE '06.

[17]  Gilles Dubochet On Embedding Domain-specific Languages with User-friendly Syntax , 2006 .

[18]  Jan Bosch,et al.  Software Architecture as a Set of Architectural Design Decisions , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

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

[20]  James O. Coplien,et al.  Pattern languages of program design , 1995 .

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

[22]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[23]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[24]  Terence Parr The Definitive ANTLR Reference: Building Domain-Specific Languages , 2007 .

[25]  Mark Strembeck,et al.  An approach for the systematic development of domain‐specific languages , 2009, Softw. Pract. Exp..

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

[27]  Aniruddha S. Gokhale,et al.  Domain-Specific Modeling , 2008, Handbook of Dynamic System Modeling.

[28]  Laurence Tratt Evolving a DSL Implementation , 2007, GTTSE.

[29]  Paul Graham On LISP: Advanced Techniques for Common LISP , 1993 .

[30]  S. Dmitriev Language Oriented Programming: The Next Programming Paradigm , 2004 .

[31]  Laurence Tratt,et al.  Domain Specific Language Implementation via Compile-Time MetaProgramming , 2008 .

[32]  Steven Kelly,et al.  Defining Domain-Specific Modeling Languages: Collected Experiences , 2004 .

[33]  Don Roberts,et al.  Patterns for evolving frameworks , 1997 .

[34]  Leslie Lamport,et al.  Latex : A Document Preparation System , 1985 .

[35]  Ivan Porres,et al.  A Relation Between Context-Free Grammars and Meta Object Facility Metamodels , 2003 .

[36]  Donald D. Chamberlin,et al.  SEQUEL: A structured English query language , 1974, SIGFIDET '74.