Practical Data Refinement for the Z Schema Calculus
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.
KeywordsSimple Condition Schema Operator Proof Obligation Practical Data Concrete State
Unable to display preview. Download preview PDF.
- 1.Spivey, M.: The Z Notation: A Reference Manual. Prentice-Hall International, Englewood Cliffs (1988); 2nd edn. (1992)Google Scholar
- 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), http://www.mcs.vuw.ac.nz/~lindsay/Papers
- 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
- 10.Wordsworth, J.: Software Development with Z. Addison-Wesley, Reading (1992)Google Scholar
- 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