Skip to main content

The Z-into-Haskell tool-kit: An illustrative case study

  • Animation
  • Conference paper
  • First Online:
ZUM '95: The Z Formal Specification Notation (ZUM 1995)

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

Included in the following conference series:

Abstract

This paper presents an illustrative case study in the use of a new method of writing Haskell programs from Z specifications. Whereas previous methods of writing functional programs from formal specifications have relied either too little or too much on the intellectual skills of the programmer, this new approach aims to strikes a balance, by providing what is essentially a tool-kit, consisting of a framework of code together with a set of rules and guidelines for the programmer.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Jonathan P. Bowen and Michael G. Hinchey. Ten commandments of formal methods. IEEE Computer, 28(4):56–63, April 1995.

    Google Scholar 

  2. J. M. Spivey. The Z Notation — A Reference Manual. International Series in Computer Science. Prentice Hall, Hemel Hempstead, 2nd edition, 1992.

    Google Scholar 

  3. David Gries. The Science of Programming. Texts and Monographs in Computer Science. Springer-Verlag, New York, 1981.

    Google Scholar 

  4. Carroll Morgan. Programming from Specifications. International Series in Computer Science. Prentice Hall, Hemel Hempstead, 1990.

    Google Scholar 

  5. John Backus. Can programming be liberated from the Von Neumann style? A functional style and its algebra of programs. Communications of the ACM, 21(8):613–41, 1978.

    Google Scholar 

  6. Paul Hudak, Simon Peyton Jones, Philip Wadler, et al. Report on the programming language Haskell, a non-strict, purely functional language. SIGPLAN Notices, 27, May 1992. Version 1.2.

    Google Scholar 

  7. G. O'Neill. Automatic translation of VDM specifications into Standard ML programs. Technical Report DITC 196/92, National Physical Laboratory, Teddington, 1992.

    Google Scholar 

  8. Paulo Borba and Silvio Meira. From VDM specifications to functional prototypes. Journal of Systems and Software, 21(3):267–78, June 1993.

    Google Scholar 

  9. Michael Johnson and Paul Sanders. From Z specifications to functional implementations. In John E. Nicholls, editor, Z User Workshop, Oxford 1989, Workshops in Computing, pages 86–112. Springer-Verlag, 1990.

    Google Scholar 

  10. Linda B. Sherrell and Doris L. Carver. Experiences in translating Z designs to Haskell implementations. Software — Practice and Experience, 24(12): 1159–78, December 1994.

    Google Scholar 

  11. Antoni Diller. Z: An Introduction to Formal Methods. John Wiley and Sons, Chichester, 2nd edition, 1994.

    Google Scholar 

  12. Howard S. Goodman. The Z-into-Haskell tool-kit. Technical Report CSR-95-1, School of Computer Science, University of Birmingham, April 1995. Available from the author's WWW home-page, URL http://www.cs.bham.ac.uk/∼hsg/.

    Google Scholar 

  13. Philip Wadler. The essence of functional programming. In 19th ACM Symposium on Principles of Programming Languages, January 1992.

    Google Scholar 

  14. Howard S. Goodman. Animating Z specifications in Haskell using a monad. Technical Report CSR-93-10, School of Computer Science, University of Birmingham, August 1993. Revised with corrections, April 1995. Available from the author's WWW homepage, URL http://www.cs.bham.ac.uk/∼hsg/.

    Google Scholar 

  15. Samuel H. Valentine. Z—, an executable subset of Z. In John E. Nicholls, editor, Z User Workshop, York 1991, Workshops in Computing, pages 157–187. Springer-Verlag, 1992.

    Google Scholar 

  16. Ben F. Potter, Jane E. Sinclair, and David Till. An Introduction to Formal Specification and Z. International Series in Computer Science. Prentice Hall, Hemel Hempstead, 1990.

    Google Scholar 

  17. Ian J. Hayes and Cliff B. Jones. Specifications are not (necessarily) executable. Software Engineering Journal, 4(6):330–8, 1989.

    Google Scholar 

  18. Antoni Diller. Specifying interactive programs in Z. Technical Report CSR-90-13, School of Computer Science, University of Birmingham, August 1990.

    Google Scholar 

  19. Ian J. Hayes, editor. Specification Case Studies. International Series in Computer Science. Prentice Hall, Hemel Hempstead, 2nd edition, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jonathan P. Bowen Michael G. Hinchey

Rights and permissions

Reprints and permissions

Copyright information

© 1995 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Goodman, H.S. (1995). The Z-into-Haskell tool-kit: An illustrative case study. In: Bowen, J.P., Hinchey, M.G. (eds) ZUM '95: The Z Formal Specification Notation. ZUM 1995. Lecture Notes in Computer Science, vol 967. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60271-2_131

Download citation

  • DOI: https://doi.org/10.1007/3-540-60271-2_131

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-60271-2

  • Online ISBN: 978-3-540-44782-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics