Innocent Strategies as Presheaves and Interactive Equivalences for CCS

Seeking a general framework for reasoning about and comparing programming languages, we derive a new view of Milner's CCS. We construct a category E of 'plays', and a subcategory V of 'views'. We argue that presheaves on V adequately represent 'innocent' strategies, in the sense of game semantics. We equip innocent strategies with a simple notion of interaction. We then prove decomposition results for innocent strategies, and, restricting to presheaves of finite ordinals, prove that innocent strategies are a final coalgebra for a polynomial functor derived from the game. This leads to a translation of CCS with recursive equations. Finally, we propose a notion of 'interactive equivalence' for innocent strategies, which is close in spirit to Beffara's interpretation of testing equivalences in concurrency theory. In this framework, we consider analogues of fair testing and must testing. We show that must testing is strictly finer in our model than in CCS, since it avoids what we call 'spatial unfairness'. Still, it differs from fair testing, and we show that it coincides with a relaxed form of fair testing.

[1]  Steffen van Bakel,et al.  A Logical Interpretation of the λ-Calculus into the π-Calculus, Preserving Spine Reduction and Types , 2009, CONCUR.

[2]  Ivan Lanese,et al.  Reversing Higher-Order Pi , 2010, CONCUR.

[3]  Parosh Aziz Abdulla,et al.  When Simulation Meets Antichains , 2010, TACAS.

[4]  Vincent Danos,et al.  Transactions in RCCS , 2005, CONCUR.

[5]  F. Bartels,et al.  On Generalised Coinduction and Probabilistic Specification Formats , 2004 .

[6]  Alexandra Silva,et al.  A Kleene Theorem for Polynomial Coalgebras , 2009, FoSSaCS.

[7]  André Hirschowitz,et al.  Modules over Monads and Linearity , 2006, WoLLIC.

[8]  Irek Ulidowski,et al.  A Reversible Process Calculus and the Modelling of the ERK Signalling Pathway , 2012, RC.

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

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

[11]  Paul-André Melliès,et al.  Asynchronous games 2: The true concurrency of innocence , 2006, Theor. Comput. Sci..

[12]  Rob J. van Glabbeek,et al.  The Linear Time-Branching Time Spectrum (Extended Abstract) , 1990, CONCUR.

[13]  Alexander Aiken,et al.  Implementing Regular Tree Expressions , 1991, FPCA.

[14]  Vladimiro Sassone,et al.  Deriving Bisimulation Congruences using 2-categories , 2003, Nord. J. Comput..

[15]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[16]  Frank D. Valencia,et al.  On the Expressive Power of Restriction and Priorities in CCS with Replication , 2009, FoSSaCS.

[17]  Reiko Heckel,et al.  A Bi-Categorical Axiomatisation of Concurrent Graph Rewriting , 1999, CTCS.

[18]  Rance Cleaveland,et al.  Priority in Process Algebra , 2001, Handbook of Process Algebra.

[19]  Peter Sewell,et al.  From rewrite rules to bisimulation congruences , 2002, Theor. Comput. Sci..

[20]  George B. Leeman A formal approach to undo operations in programming languages , 1986, TOPL.

[21]  Irek Ulidowski,et al.  A Logic with Reverse Modalities for History-preserving Bisimulations , 2011, EXPRESS.

[22]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[23]  Arend Rensink,et al.  Fair testing , 1995, Inf. Comput..

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

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

[26]  Fabio Gadducci,et al.  The tile model , 2000, Proof, Language, and Interaction.

[27]  André Hirschowitz,et al.  Modules over monads and initial semantics , 2010, Inf. Comput..

[28]  Philippe Malbos,et al.  Higher-dimensional categories with finite derivation type , 2008, 0810.1442.

[29]  Jean-Louis Krivine,et al.  Dependent choice, 'quote' and the clock , 2003, Theor. Comput. Sci..

[30]  Jan A. Bergstra,et al.  Decidability of Bisimulation Equivalence for Processes Generating Context-Free Languages , 1987, PARLE.

[31]  Robin Milner,et al.  Bigraphs and mobile processes (revised) , 2004 .

[32]  Angelo Vistoli Notes on Grothendieck topologies, fibered categories and descent theory , 2004 .

[33]  Julian Rathke,et al.  Deconstructing behavioural theories of mobility , 2008, IFIP TCS.

[34]  Björn Victor,et al.  The fusion calculus: expressiveness and symmetry in mobile processes , 1998, Proceedings. Thirteenth Annual IEEE Symposium on Logic in Computer Science (Cat. No.98CB36226).

[35]  Matthew Fluet,et al.  Transactional events , 2006, ICFP '06.

[36]  Dan Grossman,et al.  High-level small-step operational semantics for transactions , 2008, POPL '08.

[37]  Tom Hirschowitz,et al.  Contraction-free Proofs and Finitary Games for Linear Logic , 2009, MFPS.

[38]  Peter T. Johnstone,et al.  Corrigenda for ‘Connected limits, familial representability and Artin glueing’ , 2004, Mathematical Structures in Computer Science.

[39]  Bart Jacobs,et al.  Categorical Logic and Type Theory , 2001, Studies in logic and the foundations of mathematics.

[40]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[41]  J. Brzozowski Canonical regular expressions and minimal state graphs for definite events , 1962 .

[42]  Ivan Lanese,et al.  Proceedings of the Twenty-Third Annual IEEE Symposium on Logic in Computer Science, LICS 2008, 24-27 June 2008, Pittsburgh, PA, USA , 2008, LICS.

[43]  Rance Cleaveland,et al.  Divergence and Fair Testing , 1995, ICALP.

[44]  Raheel Ahmad,et al.  The π-Calculus: A theory of mobile processes , 2008, Scalable Comput. Pract. Exp..

[45]  Ivan Lanese,et al.  Controlling Reversibility in Higher-Order Pi , 2011, CONCUR.

[46]  W. W. Ball,et al.  Mathematical Recreations and Essays , 1905, Nature.

[47]  Iain Phillips,et al.  CCS with priority guards , 2001, J. Log. Algebraic Methods Program..

[48]  Grigore Rosu,et al.  Circular Coinduction with Special Contexts , 2009, ICFEM.

[49]  Jan J. M. M. Rutten,et al.  Automata and Coinduction (An Exercise in Coalgebra) , 1998, CONCUR.

[50]  Davide Sangiorgi,et al.  On asynchrony in name-passing calculi , 1998, Mathematical Structures in Computer Science.

[51]  D. Sangiorgi Introduction to Bisimulation and Coinduction , 2011 .

[52]  Emmanuel Beffara,et al.  Logique, Réalisabilité et Concurrence , 2005 .

[53]  Roberto Bruni,et al.  Zero-Safe Nets: Comparing the Collective and Individual Token Approaches , 2000, Inf. Comput..

[54]  Joseph Sifakis,et al.  A Notion of Glue Expressiveness for Component-Based Systems , 2008, CONCUR.

[55]  Gordon D. Plotkin,et al.  Towards a mathematical operational semantics , 1997, Proceedings of Twelfth Annual IEEE Symposium on Logic in Computer Science.

[56]  Carlos A. Varela,et al.  Transactors: a programming model for maintaining globally consistent distributed state in unreliable environments , 2005, POPL '05.

[57]  Pawel Sobocinski,et al.  Quasitoposes, Quasiadhesive Categories and Artin Glueing , 2007, CALCO.

[58]  Mogens Nielsen,et al.  Decidability Issues for Petri Nets - a survey , 1994, Bull. EATCS.

[59]  Iain C. C. Phillips,et al.  Reversing algebraic process calculi , 2006, J. Log. Algebraic Methods Program..

[61]  Didier Caucal,et al.  Graphes canoniques de graphes algébriques , 1990, RAIRO Theor. Informatics Appl..

[62]  Florence Maraninchi,et al.  Mode-Automata: a new domain-specific construct for the development of safe critical systems , 2003, Sci. Comput. Program..

[63]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[64]  Dale Miller,et al.  A Neutral Approach to Proof and Refutation in MALL , 2008, 2008 23rd Annual IEEE Symposium on Logic in Computer Science.

[65]  G. M. Kelly Elementary observations on 2-categorical limits , 1989, Bulletin of the Australian Mathematical Society.

[66]  J. Lambek A fixpoint theorem for complete categories , 1968 .

[67]  Suresh Jagannathan,et al.  Lightweight checkpointing for concurrent ML , 2010, Journal of Functional Programming.

[68]  J. Hopcroft,et al.  A Linear Algorithm for Testing Equivalence of Finite Automata. , 1971 .

[69]  Peter T. Johnstone,et al.  Connected limits, familial representability and Artin glueing , 1995, Mathematical Structures in Computer Science.

[70]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[71]  Cosimo Laneve,et al.  Reversible structures , 2011, CMSB.

[72]  Albert Burroni,et al.  Higher-Dimensional Word Problems with Applications to Equational Logic , 1993, Theor. Comput. Sci..

[73]  Anna Labella,et al.  Observational trees as models for concurrency , 1999, Mathematical Structures in Computer Science.

[74]  Alexandra Silva,et al.  Generalizing the powerset construction, coalgebraically , 2010, FSTTCS.

[75]  Tomás Vojnar,et al.  VATA: A Library for Efficient Manipulation of Non-deterministic Tree Automata , 2012, TACAS.

[76]  C. A. R. Hoare,et al.  A Trace Semantics for Long-Running Transactions , 2004, 25 Years Communicating Sequential Processes.

[77]  Marina Lenisa,et al.  From Set-theoretic Coinduction to Coalgebraic Coinduction: some results, some problems , 1999, CMCS.

[78]  Peter Sewell,et al.  From Rewrite to Bisimulation Congruences , 1998, CONCUR.

[79]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[80]  Joseph Sifakis,et al.  The Algebra of Connectors—Structuring Interaction in BIP , 2007, IEEE Transactions on Computers.

[81]  Vasco Thudichum Vasconcelos,et al.  Fundamentals of session types , 2009, Inf. Comput..

[82]  Ivan Lanese,et al.  A Reversible Abstract Machine and Its Space Overhead , 2012, FMOODS/FORTE.

[83]  Robin Milner,et al.  Deriving Bisimulation Congruences for Reactive Systems , 2000, CONCUR.

[84]  Ahmed Bouajjani,et al.  Abstract Regular Model Checking , 2004, CAV.

[85]  Thomas A. Henzinger,et al.  Antichains: A New Algorithm for Checking Universality of Finite Automata , 2006, CAV.

[86]  Jean-Jacques Lévy,et al.  Minimal and optimal computations of recursive programs , 1977, JACM.

[87]  Vincent Danos,et al.  On the Statistical Thermodynamics of Reversible Communicating Processes , 2011, CALCO.

[88]  Philippa Gardner,et al.  Explicit fusions , 2000, Theor. Comput. Sci..

[89]  Joachim Kock,et al.  Polynomial Functors and Trees , 2008, 0807.2874.

[90]  Matthew Hennessy,et al.  Communicating transactions , 2010, CONCUR 2010.

[91]  Tobias Nipkow,et al.  Higher-order critical pairs , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[92]  Marcelo P. Fiore,et al.  Second-Order and Dependently-Sorted Abstract Syntax , 2008, 2008 23rd Annual IEEE Symposium on Logic in Computer Science.

[93]  Jean-Yves Girard Locus Solum: From the Rules of Logic to the Logic of Rules , 2001, CSL.

[94]  Dominic Duggan,et al.  Abstractions for Fault-Tolerant Global Computing , 2002, F-WAN@ICALP.

[95]  Tom Hirschowitz,et al.  Cartesian closed 2-categories and permutation equivalence in higher-order rewriting , 2013, Log. Methods Comput. Sci..

[96]  Maurizio Gabbrielli,et al.  On the Expressive Power of Multiple Heads in CHR , 2008, TOCL.

[97]  C. K. R. T. Jones,et al.  The ϱ-Calculus , 1981, Math. Log. Q..

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

[99]  Benjamin C. Pierce,et al.  Regular expression types for XML , 2000, TOPL.

[100]  Faron Moller,et al.  A Polynomial Algorithm for Deciding Bisimilarity of Normed Context-Free Processes , 1994, Theor. Comput. Sci..

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

[102]  Moshe Y. Vardi,et al.  Experimental Evaluation of Classical Automata Constructions , 2005, LPAR.

[103]  Martín Abadi,et al.  Perspectives on Transactional Memory , 2009, CONCUR.

[104]  D. Sangiorgi - calculus , internal mobility , and agent-passing calculi , 1995 .

[105]  Glynn Winskel,et al.  Bisimulation and open maps , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[106]  David Lee,et al.  Online minimization of transition systems (extended abstract) , 1992, STOC '92.

[107]  Thierry Jéron,et al.  On-the-fly verification of finite transition systems , 1992, Formal Methods Syst. Des..

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

[109]  Thomas A. Henzinger,et al.  Computing simulations on finite and infinite graphs , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[110]  Søren Christensen,et al.  Bisimulation Equivalence is Decidable for all Context-Free Processes , 2022 .

[111]  I. Moerdijk,et al.  Sheaves in geometry and logic: a first introduction to topos theory , 1992 .

[112]  Cosimo Laneve,et al.  The Expressive Power of Synchronizations , 2010, 2010 25th Annual IEEE Symposium on Logic in Computer Science.

[113]  Roberto Bruni,et al.  Theoretical foundations for compensations in flow composition languages , 2005, POPL '05.

[114]  Damien Pous,et al.  Complete Lattices and Up-To Techniques , 2007, APLAS.

[115]  Vincent Danos,et al.  Reversible Communicating Systems , 2004, CONCUR.

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

[117]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.