Skip to main content

Hierarchical refinement of A Z specification

  • Session 7 Programming Methodology
  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 287))

Abstract

In this paper we present a rigorous refinement method that transforms a hierarchically-structured Z specification into a correct implementation, using a set of transformation rules based on the pre- and post-conditions inherent in the specification language. The method allows for the full testing of each hierarchy of the specification, facilitating the early detection of specification error, and provides for a clear indication of the effect of specification change on the implementation, simplifying the task of program maintenance. The paper is based on the specification and implementation of a text editor.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J.-R. Abrial, Specification or how to give reality to abstraction, Technology and Science of Informatics, vol. 3 no. 3, 1984.

    Google Scholar 

  2. E. G. Dijkstra, A Discipline of Programming, Prentice-Hall, 1976.

    Google Scholar 

  3. D. Gries, The Science of Programming, Springer-Verlag, 1981.

    Google Scholar 

  4. I. J. Hayes (ed.), Specification Case Studies, Prentice-Hall, 1987.

    Google Scholar 

  5. P. Henderson, Functional Programming, Formal Specification, and Rapid Prototyping, IEEE Trans. Soft. Eng., Vol. SE 12, No. 2, 1986.

    Google Scholar 

  6. C. A. R. Hoare, Proof of Correctness of Data Representations, Acta Informatica 1, 1972.

    Google Scholar 

  7. C. A. R. Hoare, He Jifeng, J. W. Sanders, Data Refinement Refined, to appear.

    Google Scholar 

  8. J. J. Horning, Putting Formal Specifications to Productive Use, Proceedings of the Joint IBM/University of Newcastle upon Tyne Seminar, 1983.

    Google Scholar 

  9. C. B. Jones, Systematic Software Development Using VDM, Prentice-Hall, 1986.

    Google Scholar 

  10. C. C. Morgan, The Schema Language, Programming Research Group, Oxford University, 1984.

    Google Scholar 

  11. P. Naur, Intuition in software development, Proc. Int. Joint. Conf. on Theory and Practice of Software Development (TAPSOFT), 1985 (LNCS 186).

    Google Scholar 

  12. D. S. Neilson, Formal Specification Of An Occam Editor, Programming Research Group, Oxford University, 1985. M.Sc. Thesis.

    Google Scholar 

  13. D. S. Neilson, A Rigorous Refinement Method For Z, Programming Research Group, Oxford University. D.Phil. Thesis, to appear.

    Google Scholar 

  14. J.M.Spivey, Understanding Z: A Specification Language and its Formal Semantics, Programming Research Group, Oxford University, 1986. D.Phil Thesis.

    Google Scholar 

  15. B. Sufrin, Formal Specification of a Display Editor, PRG-21, Programming Research Group, Oxford University, 1981.

    Google Scholar 

  16. B. Sufrin, C. C. Morgan, I. H. Sørensen, I. J. Hayes, Notes for a Z Handbook, Part 1 — Mathematical Language, Programming Research Group, Oxford University, 1985.

    Google Scholar 

  17. D. A. Turner, Functional programs as executable specifications, Mathematical Logic and Programming Languages (C.A.R.Hoare and J.C.Shepherdson eds.), Prentice-Hall, 1984.

    Google Scholar 

  18. P.Wadler, Implementation of the VED text editor, Programming Research Group, Oxford University, 1984.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Kesav V. Nori

Rights and permissions

Reprints and permissions

Copyright information

© 1987 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Neilson, D. (1987). Hierarchical refinement of A Z specification. In: Nori, K.V. (eds) Foundations of Software Technology and Theoretical Computer Science. FSTTCS 1987. Lecture Notes in Computer Science, vol 287. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-18625-5_63

Download citation

  • DOI: https://doi.org/10.1007/3-540-18625-5_63

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-18625-0

  • Online ISBN: 978-3-540-48033-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics