Software Development with Grammatical Approach

The paper presents a grammatical approach to software development. It supports formal software specification using attribute grammars, from which a rapid prototype can be generated, as well as the incremental software development. Domain concepts and relationships among them have to be identified from a problem statement and represented as a context-free grammar. The obtained context-free grammar describes the syntax of a domain-specific language whose semantics is the same as the functionality of the system under implementation. The semantics of this language is then described using attribute grammars from which a compiler is automatically generated. The execution of a particular program written in that domain-specific language corresponds to the execution of a prototype of the system on a particular use case.

[1]  Beum-Seuk Lee,et al.  Two-level grammar as an object-oriented requirements specification language , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[2]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[3]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[4]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process , 2001 .

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

[6]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[7]  Boris Roussev,et al.  Generating OCL specifications and class diagrams from use cases: a Newtonian approach , 2003, 36th Annual Hawaii International Conference on System Sciences, 2003. Proceedings of the.

[8]  Arie van Deursen,et al.  The Video Store Revisited – Thoughts on Refactoring and Testing , 2002 .

[9]  Viljem Zumer,et al.  LISA: An Interactive Environment for Programming Language Development , 2002, CC.

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

[11]  Pierre Deransart,et al.  Attribute Grammars: Definitions, Systems and Bibliography , 1988 .

[12]  Kendall Scott,et al.  UML distilled - applying the standard object modeling language , 1997 .

[13]  Maria João Varanda Pereira,et al.  Automatic Generation of Language-based Tools , 2002, Electron. Notes Theor. Comput. Sci..

[14]  Pierre Deransart,et al.  Attribute Grammars and their Applications , 1990, Lecture Notes in Computer Science.

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

[16]  Ali Arsanjani,et al.  Grammar-Oriented Object Design: Creating Adaptive Collaborations and Dynamic Configurations with Self-Describing Components and Services , 2001, TOOLS.

[17]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[18]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[19]  Ali Arsanjani,et al.  A goal-driven approach to enterprise component identification and specification , 2002, CACM.

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

[21]  Karl Lieberherr,et al.  Adaptive Object-Oriented Software: The Demeter Method with Propagation Patterns , 1995 .

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

[23]  Alistair Cockburn,et al.  Patterns for Effective Use Cases , 2002 .