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}
}
  • E. Dijkstra
  • Published 1975
  • Computer Science
  • Communications of the ACM
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. 
Implementations of Nondeterministic Programs
TLDR
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”
TLDR
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
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
TLDR
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
TLDR
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
TLDR
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
  • M. Main, D. Black
  • Computer Science
  • Mathematical Foundations of Programming Semantics
  • 1989
TLDR
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
TLDR
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
  • D. Harel
  • Computer Science
  • Theor. Comput. Sci.
  • 1981
TLDR
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
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 doesExpand
...
1
2
3
4
5
...

References

SHOWING 1-4 OF 4 REFERENCES
An axiomatic basis for computer programming
TLDR
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
TLDR
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
Report on the algorithmic language ALGOL 60