Skip to main content

From Programs to Z Specifications

  • Conference paper
Z User Workshop

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

Abstract

Universal techniques for transforming code from a typical procedural language to Z-like specifications will be discussed first; the latter make good starting points for the post hoc validation of programs which lack formal documentation. We prove properties of classes of programs, before we move on to discuss the further set of techniques we use to prove properties of individual programs. In the foundational work, we provide a concise algebraic language and axioms based on the simple mathematical theory of monads, and show that it is sufficiently expressive. We then give practical validation techniques which extend these transformations and provide several examples of such heuristically driven program validations.

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. Dijkstra E. W. A Discipline Of Programming Prentice Hall 1968.

    Google Scholar 

  2. Ward M. From Assembler To Z Durham University 1989.

    Google Scholar 

  3. UNIFORM: A Language Geared to System Description and Transformation, REDO (ESPRIT 2 Project P2487) document TN-NIL-1002.

    Google Scholar 

  4. An Axiomatic Semantics for UNIFORM. REDO Document TN-PRG-1011

    Google Scholar 

  5. Kahn, G. The Semantics of a Simple Language for Parallel Programming Information Processing 74, North Holland Amsterdam pp. 471–475 (1974).

    Google Scholar 

  6. Josephs, M. The Data Refinement Calculator for Z Specifications Inf. Proc. Lett., Vol 27, Nol, pp 29–33, 1988.

    Google Scholar 

  7. Bowen J., Gimson R., Topp-Jorgensen S. Specifying System Implementations in Z Technical monograph PRG-63. 1988.

    Google Scholar 

  8. Morgan C. et al. On the Refinement Calculus. PRG-70 Technical Monograph. 1988.

    Google Scholar 

  9. Gries D. The Science of Programming Springer-Verlag 1981.

    Google Scholar 

  10. Stark, E. W. On The Relations Computable by a Class of Concurrent Automata Dept. Of Computer Science, State University of New York. 1989.

    Google Scholar 

  11. Morgan C.C. Programming From Specifications Prentice Hall International Series in Computer Science, Prentice Hall International 1990.

    Google Scholar 

  12. Good D. Mechanical Proofs About Computer Programs Artificial Intelligence and Software Engineering, Eds Rich C., Walters C. Morgan Korfmann Ltd 1984.

    Google Scholar 

  13. Milner, R. Using Algebra for Concurrency: Some Approaches Springer-Verlag LNCS 207 Analysis of Concurrent Systems.

    Google Scholar 

  14. Dershowitz N. Program Abstraction and Instanciation ACM Transactions on Programming Languages and Systems, Vol 7, No. 3, July 1985, pp 446–477.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1990 Springer-Verlag London

About this paper

Cite this paper

Lano, K., Breuer, P.T. (1990). From Programs to Z Specifications. In: Nicholls, J.E. (eds) Z User Workshop. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3877-8_4

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-3877-8_4

  • Publisher Name: Springer, London

  • Print ISBN: 978-3-540-19627-3

  • Online ISBN: 978-1-4471-3877-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics