Practical Data Refinement for the Z Schema Calculus

* Final gross prices may vary according to local VAT.

Get Access

Abstract

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.