Algebraic laws for nondeterminism and concurrency

  title={Algebraic laws for nondeterminism and concurrency},
  author={Matthew C. B. Hennessy and Robin Milner},
  journal={J. ACM},
Since a nondeterministic and concurrent program may, in general, communicate repeatedly with its environment, its meaning cannot be presented naturally as an input/output function (as is often done in the denotational approach to semantics). In this paper, an alternative is put forth. First, a definition is given of what it is for two programs or program parts to be equivalent for all observers; then two program parts are said to be observation congruent if they are, in all program contexts… 

Tables from this paper

Categorical Models for Concurrency: Independence, Fairness and Dataflow
The work presented in this thesis contributes to a categorical approach to semantics for concurrency which have been developed through the last 15 years, aiming at a more coherent theory.
Models of Nondeterministic Regular Expressions
It is shown that the free model of the new set of axioms is a class of trees labelled over A, and the three proposed interpretations of regular expressions (algebraic, denotational, and behavioural) are proven to coincide.
Program Equivalence for Algebraic Effects via Modalities
The main novel contribution of the dissertation is defining the first logic for algebraic effects whose induced program equivalence coincides with contextual equivalence, a logic whose formulas express properties of higher-order programs with algebraiceffects.
Safe Implementation Equivalence for Asynchronous Nondeterministic Processes
This paper introduces an equivalence relation for processes based exclusively on communication relations and on the notion of process interface, called safe implementation equivalence, which is generated by various preorders relying on relations which allow to evaluate formally the nondeterminism of processes.
A logic for the specification and proof of regular controllable processes of CCS
The problem of program verification is reduced to the proof of the validity of a formula of an adequate logic whose language of formulas is obtained from constants true, false and ¦Nil¦ by using operators ∨, ∧, fixpoint operators, + and a for a∈A; the latter can be considered as extensions of the operators + andA of CCS.
Fully Abstract Models for Nondeterministic Regular Expressions
The effect of removing the idempotence law X+X=X and distribution law X·(Y+Z)=X·Y +X·Z from Kleene Algebras is studied and it is shown that resource bisimulation equivalence can be obtained as the kernel of resource simulation.
Finite Conjunctive Nondeterminism (Extended Abstract)
An approach to the semantics of processes is developed which reconciles the more usual denotational and operational semantics with logic and in such a framework the authors would expect the logic to determine theDenotational semantics.
Axioms for concurrency
It is shown that strong observational congruence over a subset of the usual CCS algebra with the full merge operator cannot be completely characterised by any finite set of equational axioms, thus requiring the power of the Expansion Theorem to present an infinite set of axiom within a single axiom schema.
On bisimulation and model-checking for concurrent systems with partial order semantics
This thesis provides some of the groundwork for the design of a logic-based, game-theoretic framework for studying, in a uniform manner, several concurrent systems regardless of whether they have an interleaving or a partial order semantics.
A Specification Formalism for Interacting Objects
The overall goal is to develop a practically useful formalism for specifying and reasoning about systems of concurrent objects, and it is essential that the proof system be simple, and that the specification language be based on concepts that are intuitively clear and mathematically simple.


Full Abstraction for a Simple Parallel Programming Language
A denotational semantics for a simple language with parallelism was given, treating parallelism in terms of non-deterministic mergeing of uninterruptible actions, and expected identities such as the associativity and commutativity of the parallel combinator were true in this semantics.
  • V. Pratt
  • Computer Science, Philosophy
    FOCS 1976
  • 1976
An appropriate axiom system is given which is complete for loop-free programs and also puts conventional predicate calculus in a different light by lumping quantifiers with non-logical assignments rather than treating them as logical concepts.
Concurrent Processes and Their Syntax
It is shown that processes are a flow algebra, and therefore constitute a suitable semantics for flowgraphs, and it is emphasized that the nouon of flowgraph evolved from the notion of process and not the reverse.
A Powerdomain Construction
  • G. Plotkin
  • Computer Science, Mathematics
    SIAM J. Comput.
  • 1976
A powerdomain construction is developed, which is analogous to the powerset construction and also fits in with the usual sum, product and exponentiation constructions on domains, and a restricted class of algebraic inductive partial orders is found which is closed under this construction.
The temporal logic of programs
  • A. Pnueli
  • Computer Science
    18th Annual Symposium on Foundations of Computer Science (sfcs 1977)
  • 1977
A unified approach to program verification is suggested, which applies to both sequential and parallel programs. The main proof method suggested is that of temporal reasoning in which the time
A Calculus of Communicating Systems
  • R. Milner
  • Computer Science
    Lecture Notes in Computer Science
  • 1980
A case study in synchronization and proof techniques, and some proofs about data structures in value-communication as a model of CCS 2.0.
The denotational description of programming languages - an introduction
The aim of this book is to provide a rigorous theory to support reliable reasoning in formal semantics of TINY, and to clarify the role of Dana Scott's theory in this book.
Synthesis of Communicating Behaviour