Language-driven system design

Studies have shown significant benefits of the use of Domain-Specific Languages (DSL) in software engineering. We discuss a software engineering methodology that fully exploits these benefits. The methodology, called the Language-Driven Approach (LDA), is centred around the design of a DSL. It prescribes a staged development of a DSL, which is tailored to the system-under-construction. On the basis of a domain analysis, a formal definition of the problem is obtained. This formal problem definition contains all the relevant ingredients for designing the syntax, the semantics and the pragmatics, which together comprise the DSL. The methodology is illustrated by an elaborate example dealing with the problem of regulating traffic lights at a traffic junction.

[1]  Rubén Prieto-Díaz,et al.  Domain analysis: an introduction , 1990, SOEN.

[2]  Arie van Deursen,et al.  The Asf+Sdf Meta-Environment: a Component-Based Language Development Environment , 2001, LDTA@ETAPS.

[3]  Paul Klint,et al.  A meta-environment for generating programming environments , 1989, TSEM.

[4]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[5]  Andy Schürr,et al.  A graph grammar approach to graphical parsing , 1995, Proceedings of Symposium on Visual Languages.

[6]  Sjouke Mauw,et al.  The Formalization of Message Sequence Charts , 1996, Comput. Networks ISDN Syst..

[7]  Henk Sol,et al.  Proceedings of the 54th Hawaii International Conference on System Sciences , 1997, HICSS 2015.

[8]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[9]  Michel R. V. Chaudron,et al.  Software Engineering with Formal Methods: The Development of a Storm Surge Barrier Control System Revisiting Seven Myths of Formal Methods , 2001, Formal Methods Syst. Des..

[10]  Paul Klint,et al.  Semantics of programming languages: a tool-oriented approach , 1999, SIGP.

[11]  Arie van Deursen,et al.  The ASF+SDF Meta-environment: A Component-Based Language Development Environment , 2001 .

[12]  David Lorge Parnas,et al.  On the Design and Development of Program Families , 2001, IEEE Transactions on Software Engineering.

[13]  Charles Consel,et al.  Architecture Software Using: A Methodology for Language Development , 1998, PLILP/ALP.

[14]  Tim Sheard,et al.  A software engineering experiment in software component generation , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[15]  Francisco Durán,et al.  Maude as a Formal Meta-tool , 1999, World Congress on Formal Methods.

[16]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[17]  Donald E. Knuth,et al.  Semantics of context-free languages , 1968, Mathematical systems theory.

[18]  Zohar Manna,et al.  Proving termination with multiset orderings , 1979, CACM.

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

[20]  Matthew Hennessy,et al.  Semantics of programming languages - an elementary introduction using structural operational semantics , 1990 .

[21]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[22]  Sjouke Mauw,et al.  Language-driven system design , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[23]  Raymond T. Yeh,et al.  An alternative paradigm for software evolution , 1989 .

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

[25]  Uwe Kastens,et al.  Configuring component-based specifications for domain-specific languages , 2001, Proceedings of the 34th Annual Hawaii International Conference on System Sciences.

[26]  Lars S. Nyland,et al.  KHEPERA: A System for Rapid Implementation of Domain Specific Languages , 1997, DSL.

[27]  M. Lynn Hawaii International Conference on System Sciences , 1996 .

[28]  Charles Consel,et al.  Domain-Specific Languages: From Design to Implementation Application to Video Device Drivers Generation , 1999, IEEE Trans. Software Eng..

[29]  Jonathan P. Bowen,et al.  Seven More Myths of Formal Methods , 1995, IEEE Softw..

[30]  Alfonso Pierantonio,et al.  Montages Specifications of Realistic Programming Languages , 1997, J. Univers. Comput. Sci..

[31]  Robert Balzer,et al.  On the inevitable intertwining of specification and implementation , 1982, CACM.

[32]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[33]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[34]  David A. Schmidt,et al.  Denotationaisemantics: a methodology for language development , 1986 .

[35]  Krzysztof Czarnecki,et al.  Generative programming - methods, tools and applications , 2000 .

[36]  Kenneth Slonneger,et al.  Formal syntax and semantics of programming languages - a laboratory based approach , 1995 .

[37]  Luca Aceto,et al.  Structural Operational Semantics , 1999, Handbook of Process Algebra.