Deriving Specifications from Requirements: an Example

A requirement is a desired relationship among phenomena of the environment of a system, to be brought about by the hardware/software machine that will be constructed and installed in the environment. A specification describes machine behaviour sufficient to achieve the requirement. A specification is a restricted kind of requirement: all the environment phenomena mentioned in a specification are shared with the machine; the phenomena constrained by the specification are controlled by the machine; and the specified constraints can be determined without reference to the future. Specifications are derived from requirements by reasoning about the environment, using properties that hold independently of the behaviour of the machine. These ideas, and some associated techniques of description, are illustrated by a simple example.

[1]  M. S. Dubois A logic of action for supporting goal-oriented elaborations of requirements , 1989, IWSSD '89.

[2]  Martin S. Feather,et al.  Language support for the specification and development of composite systems , 1987, TOPL.

[3]  Jack Mostow,et al.  A Problem-Solver for Making Advice Operational , 1983, AAAI.

[4]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[5]  Martin S. Feather,et al.  Composite System Design: The Good News And The Bad News , 1991, Proceedings., 6th Annual Knowledge-Based Software Engineering Conference.

[6]  Michael Jackson,et al.  Conjunction as composition , 1993, TSEM.

[7]  Michael Jackson,et al.  Domain descriptions , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[8]  Martín Abadi,et al.  Composing Specifications , 1989, REX Workshop.

[9]  Martín Abadi,et al.  Composing specifications , 1989, TOPL.

[10]  W. Lewis Johnson Deriving specification from requirements , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.