Skip to main content

What is a Good Formal Specification?

  • Conference paper
Z User Workshop, Oxford 1990

Part of the book series: Workshops in Computing ((WORKSHOPS COMP.))

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”.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. The Z bibliography,J Bowen, 1990, Programming Research Group, Oxford.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. Specification Cases Studies,edited by I C Hayes, 1987, Prentice Hall.

    Google Scholar 

  5. Specifications are not (necessarily) executable,I C Hayes and C B Jones, October 1989, University of Queensland, Australia.

    Google Scholar 

  6. Elements of Programming Style,B W Kernighan and P J Plauger, 1974, McGraw-Hill.

    Google Scholar 

  7. Specification of a Library System,S King and I H Sorenson, September 1987, Programming Research Group, Oxford.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. The Z Notation: a reference manual, J M Spivey, 1989, Prentice Hall.

    Google Scholar 

  10. A Tutorial Introduction to Relational Algebra,B Sufrin and J Hughes, 1985, in the Z Handbook, Programming Research Group, Oxford.

    Google Scholar 

  11. On the Shape of Mathematical Arguments,A J M van Gasteren, 1988, PhD Thesis, University of Eindhoven.

    Google Scholar 

  12. Software Engineering Mathematics,J Woodcock and M Loonies, 1988, Pitman.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics