Contrasting Themes in the Semantics of Imperative Concurrency

A survey is given of work performed by the authors in recent years concerning the semantics of imperative concurrency. Four sample languages are presented for which a number of operational and denotational semantic models are developed. All languages have parallel execution through interleaving, and the last three have as well a form of synchronization. Three languages are uniform, i.e., they have uninterpreted elementary actions; the fourth is nonuniform and has assignment, tests and value-passing communication. The operational models build on Hennessy-Plotkin transition systems; as denotational structures both metric spaces and cpo domains are employed. Two forms of nondeterminacy are distinguished, viz. the local and global variety. As associated model-theoretic distinction that of linear time versus branching time is investigated. In the former we use streams, i.e. finite or infinite sequences of actions; in the latter the (metrically based) notion of process is introduced. We furthermore study a model with only finite observations. Ready sets also appear, used as technical tool to compare various semantics. Altogether, ten models for the four languages are described, and precise statements on (the majority of) their interrelationships are made. The paper supplies no proofs; for these references to technical papers by the authors are provided.

[1]  Ernst-Rüdiger Olderog,et al.  Transition systems, infinitary languages and the semantics of uniform concurrency , 1985, STOC '85.

[2]  A. Mazurkiewicz Concurrent Program Schemes and their Interpretations , 1977 .

[3]  Amir Pnueli,et al.  A Linear-History Semantics for Languages for Distributed Programming , 1984, Theor. Comput. Sci..

[4]  Glynn Winskel,et al.  Synchronisation Trees , 1983, ICALP.

[5]  J. W. de Bakker,et al.  Processes and a Fair Semantics for the Ada Rendez-Vous , 1983, ICALP.

[6]  E. Michael Topologies on spaces of subsets , 1951 .

[7]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

[8]  Jan A. Bergstra,et al.  Linear Time and Branching Time Semantics for Recursion with Merge , 1983, Theor. Comput. Sci..

[9]  Manfred Broy,et al.  Applicative Real-Time Programming , 1983, IFIP Congress.

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

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

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

[13]  Jan A. Bergstra,et al.  Algebra of Communicating Processes with Abstraction , 1985, Theor. Comput. Sci..

[14]  William C. Rounds,et al.  Connections Between Two Theories of Concurrency: Metric Spaces and Synchronization Trees , 1983, Inf. Control..

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

[16]  Glynn Winskel,et al.  Seminar on Concurrency , 1984, Lecture Notes in Computer Science.

[17]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[18]  Joost N. Kok,et al.  Towards a Uniform Topological Treatment of Streams and Functions on Streams , 1985, ICALP.

[19]  Gordon D. Plotkin,et al.  Dijkstras Predicate Transformers & Smyth's Power Domaine , 1979, Abstract Software Specifications.

[20]  Jan A. Bergstra,et al.  Readies and Failures in the Algebra of Communicating Processes , 1988, SIAM J. Comput..

[21]  Eike Best Relational Semantics of Concurrent Programs (With Some Applications) , 1982, Formal Description of Programming Concepts.

[22]  Ugo Montanari,et al.  Liveness properties as convergence in metric spaces , 1984, STOC '84.

[23]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[24]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[25]  Matthew Hennessy,et al.  Synchronous and Asynchronous Experiments on Processes , 1984, Inf. Control..

[26]  Dana S. Scott,et al.  Finite Automata and Their Decision Problems , 1959, IBM J. Res. Dev..

[27]  Amir Pnueli,et al.  Linear and Branching Structures in the Semantics and Logics of Reactive Systems , 1985, ICALP.

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

[29]  J. W. de Bakker,et al.  Compactness in Semantics for Merge and Fair Merge , 1983, Logic of Programs.

[30]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[31]  Ernst-Rüdiger Olderog,et al.  Infinite Streams and Finite Observations in the Semantics of Uniform Concurrency , 1987, Theor. Comput. Sci..

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

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

[34]  C. A. R. Hoare,et al.  Specification-Oriented Semantics for Communicating Processes , 1983, ICALP.

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

[36]  Rocco De Nicola,et al.  Testing Equivalences for Processes , 1984, Theor. Comput. Sci..

[37]  J. W. de Bakker,et al.  Processes and the Denotational Semantics of Concurrency , 1982, Inf. Control..

[38]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[39]  Ernst-Rüdiger Olderog,et al.  Infinite Streams and Finite Observations in the Semantics of Uniform Concurrency , 1985, Theor. Comput. Sci..

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

[41]  Matthew Hennessy,et al.  An Algebraic Theory of Fair Asynchronous Communicating Processes , 1985, ICALP.

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

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

[44]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[45]  Pierre America,et al.  Operational semantics of a parallel object-oriented language , 1986, POPL '86.

[46]  Stephen D. Brookes,et al.  On the Relationship of CCS and CSP , 1983, ICALP.

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

[48]  Krzysztof R. Apt,et al.  Logics and Models of Concurrent Systems , 1989, NATO ASI Series.

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

[50]  Ralph-Johan Back,et al.  A Continuous Semantics for Unbounded Nondeterminism , 1983, Theor. Comput. Sci..

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