A Refinement Tool for Z

  • Angela Freitas
  • Carla Nascimento
  • Ana Cavalcanti
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2885)


Recently, a refinement calculus called ZRC has been proposed for Z; it follows the style and conventions of the Z notation and is completely formalised. As any other formal technique, however, it needs tool support to be of practical use. In this paper, we present such a tool, which we call ZRC-Refine. It is an interactive tool, whose design makes it distinctively user-friendly. We believe that ZRC-Refine is a significant encouragement to the extended application of ZRC and of Z itself.


program development calculation ZRC 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    ISO/IEC 13568: Information technology—Z formal specification notation— syntax, type system and semantics. International Standard (2002)Google Scholar
  2. 2.
    Abrial, J.-R.: The B-Book: Assigning Progams to Meanings. Cambridge University Press, Cambridge (1996)CrossRefGoogle Scholar
  3. 3.
    Back, R.J.R.: Procedural Abstraction in the Refinement Calculus. Technical report, Department of Computer Science, Åbo, Finland, Ser. A No. 55 (1987)Google Scholar
  4. 4.
    Back, R.J.R., Wright, J.: Refinement Concepts Formalised in Higher Order Logic. Formal Aspects of Computing 2, 247–274 (1990)CrossRefGoogle Scholar
  5. 5.
    Butler, M.J., Grundy, J., Langbacka, T., Rukvenas, R., Wright, J.: The Refinement Calculator – Proof Support for Program Refinement. In: FMP 1997 – Formal Methods Pacific. Springer, Heidelberg (1997)Google Scholar
  6. 6.
    Carrington, D., Hayes, I., Nickson, R., Watson, G., Welsh, J.: A program Refinement Tool. Formal Aspects of Computing 10(2), 97–124 (1998)zbMATHCrossRefGoogle Scholar
  7. 7.
    Cavalcanti, A.L.C.: A Refinement Calculus for Z. PhD thesis, Oxford University Computing Laboratory, Oxford - UK, Technical Monograph TM-PRG-123 (1997) ISBN 00902928-97-XGoogle Scholar
  8. 8.
    Cavalcanti, A.L.C., Sampaio, A.C.A., Woodcock, J.C.P.: Procedures and Recursion in the Refinement Calculus. Journal of the Brazilian Computer Society 5(1), 1–15 (1998)CrossRefGoogle Scholar
  9. 9.
    Cavalcanti, A.L.C., Sampaio, A.C.A., Woodcock, J.C.P.: An Inconsistency in Procedures, Parameters, and Substitution the Refinement Calculus. Science of Computer Programming 33(1), 87–96 (1999)zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Cavalcanti, A.L.C., Woodcock, J.C.P.: A Weakest Precondition Semantics for Z. The Computer Journal 41(1), 1–15 (1998)zbMATHCrossRefGoogle Scholar
  11. 11.
    Cavalcanti, A.L.C., Woodcock, J.C.P.: ZRC—A Refinement Calculus for Z. Formal Aspects of Computing 10(3), 267–289 (1999)CrossRefGoogle Scholar
  12. 12.
    Coutinho, S.L., Reis, T.P.C., Cavalcanti, A.L.C.: Uma Ferramenta Educacional de Refinamentos. In: XIII Simpósio Brasileiro de Engenharia de Software, Florianópolis - SC, pp. 61–64. Sessão de Ferramentas (1999)Google Scholar
  13. 13.
    Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)zbMATHGoogle Scholar
  14. 14.
    Gordon, M.J.C., Melham, T.F. (eds.): Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, Cambridge (1993)zbMATHGoogle Scholar
  15. 15.
    Groves, L.: Adapting Formal Derivations. Technical Report CS-TR-95-9, Victoria University of Wellington (1995)Google Scholar
  16. 16.
    Groves, L., Nickson, R., Utting, M.: A Tactic Driven Refinement Tool. In: Jones, C.B., Shaw, R.C., Denvir, T. (eds.) 5th Refinement Workshop, Workshops in Computing, pp. 272–297. Springer, Heidelberg (1992)Google Scholar
  17. 17.
    Grundy, J.: A Window Inference Tool for Refinement. In: Jones, C.B., Shaw, R.C., Denvir, T. (eds.) 5th Refinement Workshop, Workshops in Computing, pp. 230–254. Springer, Heidelberg (1992)Google Scholar
  18. 18.
    Hamer, U., Peleska, J.: Z Applied to the A330/340 CIDS Cabin Communication System. In: Hinchey, M.G., Bowen, J.P. (eds.) Applications of Formal Methods. ch. 11, pp. 253–284. Prentice-Hall, Englewood Cliffs (1995)Google Scholar
  19. 19.
    King, S.: Z and the Refinement Calculus. In: Langmaack, H., Hoare, C.A.R., Bjorner, D. (eds.) VDM 1990. LNCS, vol. 428, pp. 164–188. Springer, Heidelberg (1990)Google Scholar
  20. 20.
    Laibinis, L.: Mechanised Formal Reasoning about Modular Programs. PhD thesis, Turku Centre for Computer Science (2000)Google Scholar
  21. 21.
    Morgan, C.C.: Programming from Specifications, 2nd edn. Prentice-Hall, Englewood Cliffs (1994)zbMATHGoogle Scholar
  22. 22.
    Oliveira, M., Cavalcanti, A.L.C.: Tactics of Refinement. In: 14th Brazilian Symposium on Software Engineering, pp. 117–132 (2000)Google Scholar
  23. 23.
    Snepscheut, J.L.A.: Mechanised Support for Stepwise Refinement. In: Gutknecht, J. (ed.) Programming Languages and System Architectures. LNCS, vol. 782, pp. 35–48. Springer, Heidelberg (1994)Google Scholar
  24. 24.
    Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. Prentice-Hall, Englewood Cliffs (1992)Google Scholar
  25. 25.
    Staples, M.: A Mechanised Theory of Refinement. PhD thesis, Cambridge University (1999)Google Scholar
  26. 26.
    Utting, M.: The ergo5 generic proof engine. Technical Report 97-44, Software Verification Research Centre (1997)Google Scholar
  27. 27.
    Vickers, T.: An Overview of a Refinement Editor. In: 5th Australian Software Engineering Conference, Sidney, Australia, pp. 39–44 (1990)Google Scholar
  28. 28.
    Woodcock, J.C.P.: Implementing Promoted Operations in Z. In: Jones, C.B., Shaw, R.C., Denvir, T. (eds.) 5th Refinement Workshop,Workshops in Computing, London - UK. Prentice-Hall, Englewood Cliffs (1992)Google Scholar
  29. 29.
    Woodcock, J.C.P., Davies, J.: Using Z—Specification, Refinement, and Proof. Prentice-Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  30. 30.
    Wright, J.: Program Refinement by Theorem Prover. In: Till, D. (ed.) 6th Refinement Workshop, Workshops in Computing, London - UK, pp. 121–150. Springer, Heidelberg (1994)Google Scholar
  31. 31.
    Wright, J., Hekanaho, J., Luostarinen, P., Langbacka, T.: Mechanizing Some Advanced Refinement Concepts. Formal Methods in System Design 3, 49–81 (1993)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Angela Freitas
    • 1
  • Carla Nascimento
    • 1
  • Ana Cavalcanti
    • 2
  1. 1.Universidade Federal de Pernambuco/Centro de InformáticaRecifeBrazil
  2. 2.University of Kent/Computing Laboratory CanterburyKentEngland

Personalised recommendations