Abstract
Most interesting problems can be specified in many different but equivalent ways. Which of these is to be preferred depends on your sense of style. This paper investigates the choices that arise in writing a. formal specification, and suggests some guidelines that may help authors. For reasons of space, only small examples are given. The tension between clarity and brevity is investigated, and it is suggested that clarity must be preferred, though some suggestions are made for writing specifications that are brief but still clear. The most important point is that, if readers of a specification are to have confidence in its integrity, it must contain formal definitions and informal narrative that correspond closely, so that they can be checked. A natural specification is one where the mathematics follows the form of the English description (and not the other way round). The separation between the form of the mathematics and the English is referred to as the “syntactic gap”.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
The Z bibliography,J Bowen, 1990, Programming Research Group, Oxford.
A Relational Model of Data for Large Shared Data Banks,E F Codd, June 1970, Communications of the ACM, vol 13, no 6, pages 377–387.
The Formal Specification of a Small Bookshop Information Sys-tem,February 1988, David Gray, IEEE Transactions on Software Engineering, vol 14, no 2, pages 263–272.
Specification Cases Studies,edited by I C Hayes, 1987, Prentice Hall.
Specifications are not (necessarily) executable,I C Hayes and C B Jones, October 1989, University of Queensland, Australia.
Elements of Programming Style,B W Kernighan and P J Plauger, 1974, McGraw-Hill.
Specification of a Library System,S King and I H Sorenson, September 1987, Programming Research Group, Oxford.
Unix Filing System,C Morgan and B Sufrin, in [Hayes 87], pages 91–140, also in IEEE Transactions on Software Engineering, 1984, vol 10, no 2, pages 128–142.
The Z Notation: a reference manual, J M Spivey, 1989, Prentice Hall.
A Tutorial Introduction to Relational Algebra,B Sufrin and J Hughes, 1985, in the Z Handbook, Programming Research Group, Oxford.
On the Shape of Mathematical Arguments,A J M van Gasteren, 1988, PhD Thesis, University of Eindhoven.
Software Engineering Mathematics,J Woodcock and M Loonies, 1988, Pitman.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gravell, A. (1991). What is a Good Formal Specification?. In: Nicholls, J.E. (eds) Z User Workshop, Oxford 1990. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3540-1_10
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3540-1_10
Publisher Name: Springer, London
Print ISBN: 978-3-540-19672-3
Online ISBN: 978-1-4471-3540-1
eBook Packages: Springer Book Archive