The Z notation: a reference manual
The Z notation: a reference manual
Action refinement in process algebras
Action refinement in process algebras
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
An Approach to the Design of Distributed Systems with B AMN
ZUM '97 Proceedings of the 10th International Conference of Z Users on The Z Formal Specification Notation
More Powerful Z Data Refinement: Pushing the State of the Art in Industrial Refinement
ZUM '98 Proceedings of the 11th International Conference of Z Users on The Z Formal Specification Notation
3FACS'98 Proceedings of the 3rd BCS-FACS conference on Northern Formal Methods
Changing System Interfaces Consistently: A New Refinement Strategy for CSP||B
IFM '09 Proceedings of the 7th International Conference on Integrated Formal Methods
Contexts, refinement and determinism
Science of Computer Programming
Changing system interfaces consistently: A new refinement strategy for CSP||B
Science of Computer Programming
Non-atomic refinement in z and CSP
ZB'05 Proceedings of the 4th international conference on Formal Specification and Development in Z and B
Refinement and consistency in component models with multiple views
Proceedings of the 2004 international conference on Architecting Systems with Trustworthy Components
From ODP viewpoint consistency to Integrated Formal Methods
Computer Standards & Interfaces
Hi-index | 0.00 |
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.