Decoding Choice Encodings

We study two encodings of the asynchronous ?-calculus with input-guarded choice into its choice-free fragment. One encoding is divergence-free, but refines the atomic commitment of choice into gradual commitment. The other preserves atomicity, but introduces divergence. The divergent encoding is fully abstract with respect to weak bisimulation, but the more natural divergence-free encoding is not. Instead, we show that it is fully abstract with respect to coupled simulation, a slightly coarser?but still coinductively defined?equivalence that does not enforce bisimilarity of internal branching decisions. The correctness proofs for the two choice encodings introduce a novel proof tech- nique exploiting the properties of explicit decodings from translations to source terms.

[1]  Roberto M. Amadio On the Reduction of Chocs Bisimulation to pi-Calculus Bisimulation , 1993, CONCUR.

[2]  Catuscia Palamidessi,et al.  Comparing the expressive power of the synchronous and the asynchronous π-calculus , 1998, POPL '97.

[3]  Davide Sangiorgi pi-Calculus, Internal Mobility, and Agent-Passing Calculi , 1996, Theor. Comput. Sci..

[4]  Robin Milner,et al.  Functions as processes , 1990, Mathematical Structures in Computer Science.

[5]  Pavel Tvrdík,et al.  Parallel Computers: Theory and Practice , 1997 .

[6]  David Walker Algebraic Proofs of Properties of Objects , 1994, ESOP.

[7]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

[8]  Vincent van Oostrom,et al.  Comparing Combinatory Reduction Systems and Higher-order Rewrite Systems , 1993, HOA.

[9]  David Walker,et al.  Pi-Calculus Semantics of Object-Oriented Programming Languages , 1991, TACS.

[10]  Davide Sangiorgi The Lazy Lambda Calculus in a Concurrency Scenario , 1994, Inf. Comput..

[11]  Wei Li An operational approach to semantics and translation for concurrent programming languages , 1982 .

[12]  Uwe Nestmann What is a 'good' encoding of guarded choice? , 1997, EXPRESS.

[13]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[14]  David Walker,et al.  Objects in the pi-Calculus , 1992, Inf. Comput..

[15]  Davide Sangiorgi,et al.  On Bisimulations for the Asynchronous pi-Calculus , 1996, Theor. Comput. Sci..

[16]  Martin Odersky,et al.  Polarized Name Passing , 1995, FSTTCS.

[17]  Zhenzhong Li A pi-calculus Specification of Prolog , 1993, ILPS.

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

[19]  Peter Sjödin,et al.  Multiway Synchronization Verified with Coupled Simulation , 1992, CONCUR.

[20]  D. J. Walker Process Calculus and Parallel Object-oriented Programming Languages , 1993 .

[21]  Davide Sangiorgi,et al.  From pi-Calculus to Higher-Order pi-Calculus - and Back , 1993, TAPSOFT.

[22]  Peter Sjödin,et al.  The Complete Axiomatization of Cs-congruence , 1994, STACS.

[23]  G. Smolka A Foundation for Higher-order Concurrent Constraint Programming , 1994 .

[24]  Frits W. Vaandrager,et al.  Process algebra semantics of POOL , 1992 .

[25]  Marco Pistore,et al.  Concurrent Semantics for the π-calculus1 1Work supported in part by Esprit Basic Research project CONFER and working group COMPUGRAPH II and by Progetto Speciale CNR “Specifica ad Alto Livelloe Verifica Formale di Sistemi Digitali”. , 1995 .

[26]  D. J. Walker,et al.  Bisimulation and Divergence , 1990, Inf. Comput..

[27]  David Walker Some Results on the pi-Calculus , 1989, Concurrency: Theory, Language, And Architecture.

[28]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[29]  Benjamin C. Pierce,et al.  Concurrent Objects in a Process Calculus , 1994, Theory and Practice of Parallel Programming.

[30]  Karl-Heinz Buth,et al.  Simulation of SOS Definitions with Term Rewriting Systems , 1994, ESOP.

[31]  G. Plotkin,et al.  Proof, language, and interaction: essays in honour of Robin Milner , 2000 .

[32]  Mario Tokoro,et al.  On Asynchronous Communication Semantics , 1991, Object-Based Concurrent Computing.

[33]  Robin Milner,et al.  Barbed Bisimulation , 1992, ICALP.

[34]  Ugo Montanari,et al.  Dynamic congruence vs. progressing bisimulation for CCS , 1992, Fundam. Informaticae.

[35]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .

[36]  Roberto Gorrieri,et al.  Distributed Conflicts in Communicating Systems , 1994, ECOOP Workshop.

[37]  Joachim Parrow,et al.  Trios in concert , 2000, Proof, Language, and Interaction.

[38]  Joachim Niehren,et al.  Functional computation as concurrent computation , 1996, POPL '96.

[39]  Nobuko Yoshida,et al.  On Reduction-Based Process Semantics , 1995, Theor. Comput. Sci..

[40]  Davide Sangiorgi,et al.  An Investigation into Functions as Processes , 1993, MFPS.

[41]  Nobuko Yoshida,et al.  Replication in Concurrent Combinators , 1994, TACS.

[42]  Frederick Knabe,et al.  A Distributed Protocol for Channel-Based Communication with Choice , 1992, PARLE.

[43]  Mitchell Wand,et al.  Compiler Correctness for Concurrent Languages , 1996, COORDINATION.

[44]  Björn Victor,et al.  Constraints as Processes , 1996, CONCUR.

[45]  Pichler Progress in Cybernetics and Systems Research , 1981 .

[46]  Davide Sangiorgi,et al.  On the bisimulation proof method , 1998, Mathematical Structures in Computer Science.

[47]  Brian J. Ross,et al.  A π-calculus Semantics of Logical Variables and Unification , 1992, NAPAW.

[48]  Nobuko Yoshida,et al.  Combinatory representation of mobile processes , 1994, POPL '94.

[49]  Lone Leth Thomsen,et al.  From a Concurrent Lambda-Calculus to the Pi-Calculus , 1995, FCT.

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

[51]  Cliff B. Jones A pi-Calculus Semantics for an Object-Based Design Notation , 1993, CONCUR.

[52]  Bent Thomsen A Theory of Higher Order Communicating Systems , 1995, Inf. Comput..