The Engineering Roles of Requirements and SpecificationReport
The distinction between requirements and specification is often confused in practice. This obstructs the system validation process, because it is unclear what exactly should be validated, and against what it should be validated. The reference model of Gunter et al. addresses this difficulty by providing a framework within which requirements can be distinguished from specification. It separates world phenomena from machine phenomena. However, it does not explain how the characterization can be used to help assure system validity.
In this paper, we enhance the reference model to account for certain key elements that are necessary to expose and clarify the distinction and the link between requirements and specification. We use the enhanced version to present a more refined picture of validity, where validation has two steps that can be undertaken separately. We use this picture to question whether the �what the system will do, not how it will do it� paradigm is useful in describing how to construct a specification, and propose an alternative. Finally, we present the requirements and specification for an illustrative example based on a runway incursion prevention system, with the ArchiTRIO formal language in a UML-like environment, to show how this might be done in practice.
All rights reserved (no additional license for public reuse)
Strunk, Elisabeth, Carlo Furia, Matteo Rossi, John Knight, and Dino Mandrioli. "The Engineering Roles of Requirements and Specification." University of Virginia Dept. of Computer Science Tech Report (2006).
University of Virginia, Department of Computer Science