TUG: An Executable Specification Language

The TUG (tree unified with grammar) specification language aims at providing formality and abstraction for capturing requirements and expressing the functionality of programs. A TUG specification is formal since the language uses a mathematical notation based on the principles of definite clause grammars (DCGs) and regular expression. This paper introduces the syntax and semantics of the TUG specification language. Some important features of TUG are illustrated with the aid of sample program specifications. With the formality of the TUG specification language, a specification in the language can be interpreted through a language processor. A prototype can be exercised by executing the specification. Formality and executability are designed into the language to give an improvement in quality for user requirements

[1]  David H. D. Warren,et al.  Definite Clause Grammars for Language Analysis - A Survey of the Formalism and a Comparison with Augmented Transition Networks , 1980, Artif. Intell..

[2]  Bertrand Meyer,et al.  On Formalism in Specifications , 1985, IEEE Software.

[3]  Fernando Pereira,et al.  Definite clause grammars for language analysis , 1986 .

[4]  Martin Wirsing,et al.  Algebraic Specification , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[5]  Johan Lewi,et al.  Algebraic Specifications in Software Engineering , 1989, Springer Berlin Heidelberg.

[6]  Antoni Diller,et al.  Z - an introduction to formal methods , 1990 .

[7]  Chia-Chu Chiang,et al.  Towards Quality of Software in TUG , 2004, J. Inf. Sci. Eng..

[8]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.