Non-atomic Refinement in Z

  • Authors:
  • John Derrick;Eerke A. Boiten

  • Affiliations:
  • -;-

  • Venue:
  • FM '99 Proceedings of the Wold Congress on Formal Methods in the Development of Computing Systems-Volume II
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper discusses the refinement of systems specified in Z when we relax the assumption that the refinement will preserve the atomicity of operations. Data refinement is a well established technique for transforming specifications of abstract data types into ones which are closer to an eventual implementation. To verify a refinement a retrieve relation is used which relates the concrete to abstract states and allow the comparison between the data types to be made on a step by step basis by comparing an abstract operation with its concrete counterpart. A step by step comparison is possible because the two abstract data types are assumed to be conformal, i.e. there is a one-one correspondence between abstract and concrete operations, so each abstract operation has a concrete counterpart. In this paper we relax that assumption to discuss refinements where an abstract operation is refined by, not one, but a sequence of concrete operations. Such non-conformal or nonatomic refinements arise naturally in a number of settings and we illustrate our derivations with a simple example of a bank accounting system.