The Z notation: a reference manual
The Z notation: a reference manual
A practical theory of programming
A practical theory of programming
The B-book: assigning programs to meanings
The B-book: assigning programs to meanings
Specifications, programs, and total correctness
Science of Computer Programming
Proceedings of the 11th International Conference of Z Users on The Z Formal Specification Notation
ZUM '98 Proceedings of the 11th International Conference of Z Users on The Z Formal Specification Notation
Disjunction of LOTOS Specifications
FORTE X / PSTV XVII '97 Proceedings of the IFIP TC6 WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols (FORTE X) and Protocol Specification, Testing and Verification (PSTV XVII)
A Relational Model of Programs Without the Restriction to Egli-Milner-Monotone Constructs
PROCOMET '94 Proceedings of the IFIP TC2/WG2.1/WG2.2/WG2.3 Working Conference on Programming Concepts, Methods and Calculi
How Firing Conditions Help Inheritance
ZUM '95 Proceedings of the 9th International Conference of Z Usres on The Z Formal Specification Notation
How to Combine Z with Process Algebra
ZUM '98 Proceedings of the 11th International Conference of Z Users on The Z Formal Specification Notation
Inconsistency and Undefinedness in Z - A Practical Guide
ZUM '98 Proceedings of the 11th International Conference of Z Users on The Z Formal Specification Notation
Specification of Required Non-determinism
FME '97 Proceedings of the 4th International Symposium of Formal Methods Europe on Industrial Applications and Strengthened Foundations of Formal Methods
Handling Inconsistencies in Z Using Quasi-Classical Logic
ZB '02 Proceedings of the 2nd International Conference of B and Z Users on Formal Specification and Development in Z and B
An Analysis of Operation-Refinement in an Abortive Paradigm
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.01 |
In the common Z specification style operations are, in general, partial relations. The domains of these partial operations are traditionally called preconditions, and there are two interpretations of the result of applying an operation outside its domain. In the traditional interpretation anything may result whereas in the alternative, guarded, interpretation the operation is blocked outside its precondition. In fact these two interpretations can be combined, and this allows representation of both refusals and underspecification in the same model. In this paper we explore this issue, and we extend existing work in this area by allowing arbitrary predicates in the guard. To do so we adopt a non-standard three valued interpretation of an operation by introducing a third truth value. This value corresponds to a situation where we don't care what effect the operation has, i.e. the guard holds but we may be outside the precondition. Using such a three valued interpretation leads to a simple and intuitive semantics for operation refinement, where refinement means reduction of undefinedness or reduction of non-determinism. We illustrate the ideas in the paper by means of a small example.