Formal specification as a design tool

The formulation and analysis of a design specification is almost always of more utility than the verification of the consistency of a program with its specification. Good specification tools can assist in this process, but have generally not been proposed and evaluated in this light. In this paper we outline a specification language combining algebraic axioms and predicate transformers, present part of a non-trivial example (the specification of a high-level interface to a display), and finally discuss the analysis of this specification.

[1]  John V. Guttag,et al.  Notes on Type Abstraction , 1978, Program Construction.

[2]  John V. Guttag,et al.  Abstract data types and the development of data structures , 1976, Software Pioneers.

[3]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .