EECS Publication
Applying string-rewriting to sequence-based specification
Robert Eschbach, Lan Lin, and Jesse H. Poore
Sequence-based specification is a constructive method designed to convert ordinary functional requirements (that are often imprecisely and informally composed) into precise specifications. The method prompts a human requirements analyst to make the many decisions necessary to resolve the ambiguities, omissions, inconsistencies, and errors inherent in the original requirements document, and construct a complete, consistent, and traceably correct specification. We find that string-rewriting theory can be applied to make a number of these decisions automatically. In this paper we develop a theory of applying string-rewriting to sequence enumeration. We give prescriptions on how prefix rewrite rules and general string rewrite rules can be declared, and used later in the process to automatically make new equivalences thereby prompting the human for fewer decisions. Based on the results we present an enhanced enumeration process, in which one develops working enumerations and working reduction systems concurrently, applying string-rewriting to deduce new reductions as needed, until a complete enumeration is obtained. We present data from four published applications that shows the feasibility and applicability of applying string-rewriting. In addition to effort reduction we have observed the benefit of eliminating rework achieved by consistent decisions, as well as an additional opportunity string-rewriting provides for validation of specification decisions to requirements.
Published 2012-01-17 05:00:00 as ut-cs-12-692 (ID:4)