Automated rapid prototyping of TUG specifications using Prolog
A prototype is usually built quickly and cheaply to explore poorly understood user requirements in the front-end of the software development life cycle. There are several techniques to construct a prototype such as fourth generation languages, functional and logic programming languages, and simulation techniques. Despite their benefits, these techniques do not directly support formal user requirements and specifications. In this paper, a formal specification language, called TUG, is presented to support an automatic derivation of a prototype in Prolog from a specification in the language via a set of transformation rules. The work described in this paper is distinct from existing rapid prototyping techniques. There is a close correspondence between TUG and Prolog that makes the process of transformation relatively mechanical. The process also allows specifiers not to consider low-level details at implementation such as selection of data structures and algorithms due to the features of the TUG specification language and the Prolog programming language. In addition, rederivation of a prototype in Prolog from a TUG specification is also avoided whenever the specification is modified. A Change Request Script is used to update the prototype in response to the revised specification. The prototype construction and specification acquisition are integrated to handle the construction of user requirements. The formality of the TUG specification language improves the quality of the description of user requirements. Rapid prototyping from the specification via software transformations improves the understanding of user requirements in a cost effective way.
rapid prototyping tug formality formal specification language software transformation