Management of requirements changes in sequence-based software specifications

  • Authors:
  • Jesse H. Poore;Lan Lin

  • Affiliations:
  • The University of Tennessee;The University of Tennessee

  • Venue:
  • Management of requirements changes in sequence-based software specifications
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

The sequence-based software specification method was developed to convert ordinary, or typical requirements and requirements statements into mathematically precise specifications, at an acceptable level of abstraction, for deterministic systems. In view of the iterative nature of modern software developing process, requirements, once defined, are not frozen; changes are integrated continuously that need to be accommodated and validated. The need for managing changes of requirements in sequence-based specifications arises both as a consequence of practicing this method and as a general topic in software requirements engineering. In this research we have explored the theoretical consequences of three major requirements changes in sequence-based specifications: stimulus changes, response changes, and equivalence changes, as well as ways to manage these changes that lead to automated tool support. Our solution is dedicated to maintaining and evolving old specifications, while working at the lowest level dealing with atomic changes one at a time, and keeping the specifier informed of portions of the current enumeration that may need further consideration. Theoretical analysis of the consequences of requirements changes are performed with the aid of an axiomatic system for the sequence-based specification method to ensure mathematical soundness and in-depth understanding of the model. Most results are provable (and proved) by correct formalization and application of axioms. We have also proposed a transformation theory that relates an enumeration to other formal representations of a software program. Algorithms are provided for direct transformations among enumerations, state machines, regular expression sets, and prefix-recursive function sets. Enumeration minimization and compatibility are addressed as part of the transformation theory. Finally a safe controller example is demonstrated in great detail with respect to abstraction, enumeration, transformations from an enumeration, and requirements changes.