# Guarded commands, nondeterminacy and formal derivation of programs

@article{Dijkstra1975GuardedCN, title={Guarded commands, nondeterminacy and formal derivation of programs}, author={E. Dijkstra}, journal={Communications of the ACM}, year={1975}, volume={18}, pages={453 - 457} }

So-called “guarded commands” are introduced as a building block for alternative and repetitive constructs that allow nondeterministic program components for which at least the activity evoked, but possibly even the final state, is not necessarily uniquely determined by the initial state. For the formal derivation of programs expressed in terms of these constructs, a calculus will be be shown.

#### Topics from this paper

#### 1,971 Citations

Implementations of Nondeterministic Programs

- Computer Science
- Symposium on Programming
- 1984

This paper treats the problem of suppressing the non-determinism of a given program, within the framework of the relational semantics of non-Deterministic programs, and provides the justification of the validity of some usual techniques which are based on an intuitive understanding of the concept. Expand

Output Guards and Nondeterminism in “Communicating Sequential Processes”

- Computer Science
- TOPL
- 1980

This paper points out two problems that arise in connection with guarded commands and nondeterminism in a language for concurrent programming and addresses one of them. Expand

Semantics of Nondeterministic and Noncontinuous Constructs

- Computer Science
- Program Construction
- 1978

The semantics of the nondeterministic and noncontinuous constructs of the descriptive and applicative parts of the wide spectrum language CIP-L is given by defining both, a "breadth-function",… Expand

Proving Total Correctness of Programs in Weak Second-Order Logic

- Mathematics, Computer Science
- REX Workshop
- 1992

Weak second-order logic is used to formalize the weakest precondition for an imperative programming language similar to Dijkstra's language of guarded commands and a new normal form representation for wp plays an important role. Expand

Logical reversibility

- Computer Science
- IBM J. Res. Dev.
- 2001

A technique is developed that transforms any program in the probabilistic Guarded Command Language (pGCL) into an equivalent but reversible program and the expectation-transformer semantics for pGCL is used to prove the result. Expand

An Exercise in Transformational Programming: Backtracking and Branch-and-Bound

- Computer Science
- Sci. Comput. Program.
- 1991

A formal derivation of program schemes that are usually called Backtracking programs and Branch-and-Bound programs is presented, for structures, to elementwise linear recursion and elementwise tail recursion; and a transformation between them is derived too. Expand

Semantic Models for Total Correctness and Fairness

- Computer Science
- Mathematical Foundations of Programming Semantics
- 1989

This work addresses the question of when the reasoning techniques are semantically complete, and introducesassertional s-rings to provide an algebraic setting in which the finite and infinite behavior of nondeterministic programs can be expressed and reasoned about. Expand

Semantic Models for Total Correctness and Fairness

- Mathematics, Computer Science
- Theor. Comput. Sci.
- 1993

This work addresses the question of when the reasoning techniques are semantically complete, and introducesassertional s-rings to provide an algebraic setting in which the finite and infinite behavior of nondeterministic programs can be expressed and reasoned about. Expand

On the Total Correctness of Nondeterministic Programs

- Computer Science
- Theor. Comput. Sci.
- 1981

A general approach seems to be needed for dealing with programming languages and execution methods other than the particular ones treated by Dijkstra, and a variety of plausible methods of execution falling under the general definition are described. Expand

Analysis of infinite loops using S-formulas

- Computer Science
- 2012 20th Telecommunications Forum (TELFOR)
- 2012

This paper considers formulas of the firstorder predicate logic defined on the abstract state space (briefly S-formulas) that describe three possible behavioral patterns for the WHILE loop: it does… Expand

#### References

SHOWING 1-4 OF 4 REFERENCES

An axiomatic basis for computer programming

- Computer Science
- CACM
- 1969

An attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics by elucidation of sets of axioms and rules of inference. Expand

Report on the algorithmic language ALGOL 60

- Computer Science
- CACM
- 1960

It was decided to hold an international meeting in January 1960 for improving the ALGOL language and preparing a final report, and seven representatives were selected to attend the January 1960 international conference. Expand