scispace - formally typeset
Search or ask a question

Showing papers by "C. A. R. Hoare published in 1984"


Journal ArticleDOI
TL;DR: In this article, a mathematical model for communicating sequential processes is given, and a number of its interesting and useful properties are stated and proved, and the possibilities of nondetermimsm are fully taken into account.
Abstract: A mathematical model for communicating sequential processes is given, and a number of its interesting and useful properties are stated and proved. The possibilities of nondetermimsm are fully taken into account.

1,193 citations


Journal ArticleDOI
TL;DR: A programming language is a subset of logical and mathematical notations, which is so restricted that products described in the language can be automatically implemented on a computer as mentioned in this paper, which can be used for optimizing program efficiency.
Abstract: A computer program is identified with the strongest predicate describing every relevant observation that can be made of the behaviour of a computer executing that program. A programming language is a subset of logical and mathematical notations, which is so restricted that products described in the language can be automatically implemented on a computer. The notations enjoy a number of elegant algebraic properties, which can be used for optimizing program efficiency. A specification is a predicate describing all permitted observations of a program, and it may be expressed with greatest clarity by taking advantage of the whole language of logic and mathematics. A program P meets its specification S iff [Note: Equation omitted. See the image of page 475 for this equation.]. The proof of this implication may use all the classical methods of mathematics and logic. These points are illustrated by design of a small language that includes assignments, conditionals, non-determinism, recursion, input, output, and concurrency.

103 citations