The Z notation: a reference manual
The Z notation: a reference manual
Programming in Martin-Lo¨f's type theory: an introduction
Programming in Martin-Lo¨f's type theory: an introduction
Using Z: specification, refinement, and proof
Using Z: specification, refinement, and proof
Singular and Plural Nondeterministic Parameters
SIAM Journal on Computing
An Improved Recipe for Specifying Reactive Systems in Z
ZUM '97 Proceedings of the 10th International Conference of Z Users on The Z Formal Specification Notation
VDM '90 Proceedings of the Third International Symposium of VDM Europe on VDM and Z - Formal Methods in Software Development
An Approach to Nondeterminism in Translation of CZ Set Theory into Martin-Löf 's Theory of Types
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
The abstraction inherent in most specifications and the need to specify nondeterministic programs are two well-known sources of nondeterminism in formal specifications. In this paper, we present a Z-based formalism by which one can specify bounded, unbounded, erratic, angelic, demonic, loose, strict, singular, and plural nondeterminism. To interpret our specifications, we use a constructive set theory, called CZ set theory, instead of the classical set theory Z. We have chosen CZ since it allows us to investigate the notion of nondeterminism from the formal program development point of view. In this way, we formally construct functional programs from Z specifications and then probe the effects of the initially specified nondeterminism on final programs. Our investigation shows that without specifying nondeterminism explicitly, the effects of the nondeterminism involved in initial specifications will not be preserved in final programs. We prove that using the new formalism, proposed by this paper, for writing nondeterministic specifications leads to programs that preserve the initially specified modalities of nondeterminism.