Traces, Pomsets, Fairness and Full Abstraction for Communicating Processes

We provide a denotational trace semantics for processes with synchronous communication and a form of weakly fair parallelism. The semantics is fully abstract: processes have the same trace sets if and only if their communication behaviors are identical in all contexts. The model can easily be adapted for asynchronously communicating processes, or for shared-memory parallel programs. We also provide a partial-order semantics, using pomsets adapted for synchronization and our form of fairness. The pomset semantics can also be adjusted to model alternative paradigms. The traces of a process can be recovered from the pomset semantics by taking all fair interleavings consistent with the partial order.

[1]  David Michael Ritchie Park,et al.  On the Semantics of Fair Parallelism , 1979, Abstract Software Specifications.

[2]  R. J. vanGlabbeek The linear time - branching time spectrum , 1990 .

[3]  Robin Milner,et al.  Algebraic laws for nondeterminism and concurrency , 1985, JACM.

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

[5]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum II , 1993, CONCUR.

[6]  Stephen Brookes,et al.  Deconstructing CCS and CSP Asynchronous Communication , Fairness , and Full Abstraction , 2002 .

[7]  Stephen D. Brookes The essence of parallel Algol , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

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

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

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

[11]  S. Brookes,et al.  Full Abstraction for Strongly Fair Communicating Processes , 1995 .

[12]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[13]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[14]  Prakash Panangaden,et al.  The semantic foundations of concurrent constraint programming , 1991, POPL '91.

[15]  Rob J. van Glabbeek,et al.  The Linear Time - Branching Time Spectrum I , 2001, Handbook of Process Algebra.

[16]  Stephen D. Brookes Full Abstraction for a Shared-Variable Parallel Language , 1996, Inf. Comput..

[17]  Nachum Dershowitz,et al.  Abstract Effective Models , 2006, Electron. Notes Theor. Comput. Sci..

[18]  Glynn Winskel,et al.  Events in computation , 1980 .

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

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

[21]  Jan A. Bergstra,et al.  Process Algebra with Asynchronous Communication Mechanisms , 1984, Seminar on Concurrency.

[22]  Gerardo Costa,et al.  Weak and Strong Fairness in CCS , 1987, Inf. Comput..

[23]  Lutz Priese,et al.  Fairness , 1988, Bull. EATCS.

[24]  Jon M. Kerridge,et al.  Communicating parallel processes , 1986, Softw. Pract. Exp..

[25]  Gerardo Costa,et al.  A fair calculus of communicating systems , 1983, Acta Informatica.

[26]  C. A. Petri Concepts of Net Theory , 1973, MFCS.

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

[28]  Stephen Brookes,et al.  A denotational framework for fair communicating processes , 1996 .

[29]  Stephen D. Brookes,et al.  Idealized CSP: combining procedures with communicating processes , 1997, MFPS.

[30]  Frank S. de Boer,et al.  The Failure of Failures in a Paradigm for Asynchronous Communication , 1991, CONCUR.

[31]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[32]  Susan Older A Framework for Fair Communicating Processes , 1997, MFPS.

[33]  Stephen Brookes,et al.  On the Kahn Principle and Fair Networks , 1998 .

[34]  Iain Phillips,et al.  Refusal Testing , 1986, Theoretical Computer Science.