Practical Data Refinement for the Z Schema Calculus

  • Lindsay Groves
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3455)


It is well known that the principal operators in the Z schema calculus are not monotonic with respect to either operation or data refinement. This is generally regarded as limiting their usefulness in software development, and has lead to proposals to redefine the schema calculus and/or the notion of refinement so that monotonicity is established. We examine this issue more closely, to demonstrate just how non-monotonicity arises, and identify various conditions under which components of schema expressions can be safely replaced by their refinements. This shows that in a wide range of practical situations, refinement of such components can be justified by checking fairly simple conditions.


Simple Condition Schema Operator Proof Obligation Practical Data Concrete State 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Spivey, M.: The Z Notation: A Reference Manual. Prentice-Hall International, Englewood Cliffs (1988); 2nd edn. (1992)Google Scholar
  2. 2.
    Woodcock, J., Davies, J.: Using Z: Specification, Refinement and Proof. Prentice-Hall International, Englewood Cliffs (1996)zbMATHGoogle Scholar
  3. 3.
    Derrick, J., Boiten, E.: Refinement in Z and Object-Z: Foundations and Advanced Applications. Springer, Heidelberg (2001)zbMATHGoogle Scholar
  4. 4.
    Henson, M.C., Reeves, S.: Program development and specification refinement in the schema calculus. In: Bowen, J.P., Dunne, S., Galloway, A., King, S. (eds.) B 2000, ZUM 2000, and ZB 2000. LNCS, vol. 1878, pp. 344–362. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  5. 5.
    Groves, L.: Refinement and the Z schema calculus. In: Woodcock, J., Derrick, J., Boiten, E., von Wright, J. (eds.) Proc. REFINE 2002, Copenhagen, July 20-21, 2002. Electronic Notes in Theoretical Computer Science, vol. 70(3) (2002),
  6. 6.
    Barden, R., Stepney, S., Cooper, D.: The use of Z. In: Nicholls, J.E. (ed.) Proc. 6th Z User Meeting, York 1991, Workshops in Computing, pp. 99–124. Springer, Heidelberg (1992)Google Scholar
  7. 7.
    Hayes, I.: Specification Case Studies, 2nd edn. Prentice-Hall, Englewood Cliffs (1993)zbMATHGoogle Scholar
  8. 8.
    Morgan, C.: Programming from Specifications, 2nd edn. Prentice Hall, Englewood Cliffs (1994)zbMATHGoogle Scholar
  9. 9.
    Back, R.-J., von Wright, J.: Refinement Calculus: A Systematic Introduction. Graduate Texts in Computer Science. Springer, Heidelberg (1998)zbMATHGoogle Scholar
  10. 10.
    Wordsworth, J.: Software Development with Z. Addison-Wesley, Reading (1992)Google Scholar
  11. 11.
    Woodcock, J.C.P.: Implementing promoted operations in Z. In: Jones, C.B., Shaw, R.C., Denvir, T. (eds.) Proceedings of the 5th BCS Refinement Workshop, pp. 367–378. Springer, Heidelberg (1992)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Lindsay Groves
    • 1
  1. 1.School of Mathematics, Statistics and Computer ScienceVictoria University of WellingtonWellingtonNew Zealand

Personalised recommendations