Processes and the Denotational Semantics of Concurrency

A framework allowing a unified and rigorous definition of the semantics of concurrency is proposed. The mathematical model introduces processes as elements of process domains which are obtained as solutions of domain equations in the sense of Scott and Plotkin. Techniques of metric topology as proposed, e.g., by Nivat are used to solve such equations. Processes are then used as meanings of statements in languages with concurrency. Three main concepts are treated, viz. parallellism (arbitrary interleaving of sequences of elementary actions), synchronization, and communication. These notions are embedded in languages which also feature classical sequential concepts such as assignment, tests, iteration or recursion, and guarded commands. In the definitions, a sequence of process domains of increasing complexity is used. The languages discussed include Milner's calculus for communicating systems and Hoare's communicating sequential processes. The paper concludes with a section with brief remarks on miscellaneous notions in concurrency, and two appendices with mathematical details.

[1]  Amir Pnueli,et al.  The temporal logic of programs , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[2]  Ralph-Johan Back Semantics of Unbounded Nondeterminism , 1980, ICALP.

[3]  Arie de Bruin On the Existence of Cook Semantics , 1984, SIAM J. Comput..

[4]  William W. Wadge An Extensional Treatment of Dataflow Deadlock , 1981, Theor. Comput. Sci..

[5]  William B. Ackerman,et al.  Scenarios: A Model of Non-Determinate Computation , 1981, ICFPC.

[6]  Michael J. C. Gordon,et al.  The Denotational Description of Programming Languages , 1979, Springer New York.

[7]  Robert M. Keller,et al.  Denotational Models for Parallel Programs with Indeterminate Operators , 1977, Formal Description of Programming Concepts.

[8]  Patrick Cousot,et al.  Semantic Analysis of Communicating Sequential Processes (Shortened Version) , 1980, ICALP.

[9]  Robin Milner,et al.  Flowgraphs and Flow Algebras , 1979, JACM.

[10]  Maurice Nivat,et al.  Metric Interpretations of Infinite Trees and Semantics of non Deterministic Recursive Programs , 1980, Theor. Comput. Sci..

[11]  Dana S. Scott,et al.  Data Types as Lattices , 1976, SIAM J. Comput..

[12]  Joseph E. Stoy,et al.  Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory , 1981 .

[13]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[14]  Daniel J. Lehmann Categories for fixpoint-semantics , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[15]  Gordon Plotkin,et al.  An Operational Semantics for CSP. , 1982 .

[16]  Edmund M. Clarke,et al.  Characterizing Correctness Properties of Parallel Programs Using Fixpoints , 1980, ICALP.

[17]  J. W. de Bakker,et al.  Semantics of Infinite Processes Using Generalized Trees , 1977, MFCS.

[18]  Per Brinch Hansen,et al.  Distributed processes: a concurrent programming concept , 1978, CACM.

[19]  C. A. R. Hoare,et al.  Semantics of Nondeterminism, Concurrency, and Communication , 1979, J. Comput. Syst. Sci..

[20]  Robin Milner,et al.  Concurrent Processes and Their Syntax , 1979, JACM.

[21]  Marly Roncken,et al.  Procedures and concurrency: A study in proof , 1982, Symposium on Programming.

[22]  C. A. R. Hoare,et al.  A Model for Communicating Sequential Processes , 1980, On the Construction of Programs.

[23]  Vaughan R. Pratt,et al.  On the composition of processes , 1982, POPL '82.

[24]  Robin Milner,et al.  Processes: A Mathematical Model of Computing Agents , 1975 .

[25]  Gordon D. Plotkin,et al.  A Powerdomain Construction , 1976, SIAM J. Comput..

[26]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

[27]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[28]  G. Plotkin,et al.  A Cook's Tour of Countable Nondeterminism , 1981 .

[29]  Matthew Hennessy,et al.  Full Abstraction for a Simple Parallel Programming Language , 1979, MFCS.

[30]  Krzysztof R. Apt,et al.  Formal Justification of a Proof System for Communicating Sequential Processes , 1983, JACM.

[31]  Krzysztof R. Apt,et al.  A Cook's Tour of Countable Nondeterminism , 1981, ICALP.

[32]  Amir Pnueli,et al.  A linear history semantics for distributed languages extended abstract , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[33]  Stephen D. Brookes,et al.  Possible futures, acceptances, refusals, and communicating processes , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[34]  Maurice Nivat,et al.  The metric space of infinite trees. Algebraic and topological properties , 1980, Fundam. Informaticae.

[35]  Odd Pettersen Synchronization of concurrent processes. , 1975 .

[36]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[37]  J. W. de Bakker,et al.  Denotational semantics of concurrency , 1982, STOC '82.

[38]  J. W. de Bakker,et al.  Mathematical theory of program correctness , 1980, Prentice-Hall international series in computer science.

[39]  Gilles Kahn,et al.  The Semantics of a Simple Language for Parallel Programming , 1974, IFIP Congress.

[40]  Willem P. de Roever,et al.  A Proof System for Communicating Sequential Processes , 1980, ACM Trans. Program. Lang. Syst..

[41]  Frédéric Boussinot Proposition de Semantique Denotationelle pour des Reseaux de Processus avec Operateur de Melange Equitable , 1982, Theor. Comput. Sci..

[42]  Antony A. Faustini An Operational Semantics for Pure Dataflow , 1982, ICALP.

[43]  Paul R. Kosinski,et al.  A straightforward denotational semantics for non-determinate data flow programs , 1978, POPL 1978.

[44]  Christopher Strachey,et al.  A theory of programming language semantics , 1976 .

[45]  Dana S. Scott,et al.  Some Domain Theory and Denotational Semantics in Coq , 2009, TPHOLs.

[46]  Ernst-Rüdiger Olderog,et al.  Proof Rules Dealing with Fairness , 1981, Logic of Programs.

[47]  永田 守男,et al.  Verifying Properties of Parallel Programs : An Axiomatic Approach , 1976 .

[48]  Rob Gerth A Sound and Complete Hoare Axiomatization of the Ada-Rendevous , 1982, ICALP.