The Z notation: a reference manual
The Z notation: a reference manual
Programming from specifications (2nd ed.)
Programming from specifications (2nd ed.)
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
Refinement in Z and object-Z: foundations and advanced applications
Refinement in Z and object-Z: foundations and advanced applications
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
Specification Case Studies
Proceedings of the Z User Workshop
Program Development and Specification Refinement in the Schema Calculus
ZB '00 Proceedings of the First International Conference of B and Z Users on Formal Specification and Development in Z and B
Model Based Refinement and the Tools of Tomorrow
ABZ '08 Proceedings of the 1st international conference on Abstract State Machines, B and Z
Hi-index | 0.00 |
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.