Categorical combinatorics of scheduling and synchronization in game semantics

Game semantics is the art of interpreting types as games and programs as strategies interacting in space and time with their environment. In order to reflect the interactive behavior of programs, strategies are required to follow specific scheduling policies. Typically, in the case of a purely sequential programming language, the program (Player) and its environment (Opponent) will play one after the other, in a strictly alternating way. On the other hand, in the case of a concurrent language, Player and Opponent will be allowed to play several moves in a row, in a non-alternating way. In both cases, the scheduling policy is designed very carefully in order to ensure that the strategies synchronize properly and compose well when plugged together. A longstanding conceptual problem has been to understand when and why a given scheduling policy works and is compositional in that sense. In this paper, we exhibit a number of simple and fundamental combinatorial structures which ensure that a given scheduling policy encoded as synchronization template defines a symmetric monoidal closed (and in fact star-autonomous) bicategory of games, strategies and simulations. To that purpose, we choose to work at a very general level, and illustrate our method by constructing two template game models of linear logic with different flavors (alternating and non-alternating) using the same categorical combinatorics, performed in the category of small categories. As a whole, the paper may be seen as a hymn in praise of synchronization, building on the notion of synchronization algebra in process calculi and adapting it smoothly to programming language semantics, using a combination of ideas at the converging point of game semantics and of categorical algebra.

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

[2]  Nobuko Yoshida,et al.  Two sides of the same coin: Session Types and Game Semantics , 2019, POPL 2019.

[3]  Martin Hyland,et al.  Abstract Games for Linear Logic , 1999, CTCS.

[4]  Tom Hirschowitz,et al.  A Theory for Game Theories , 2007, FSTTCS.

[5]  Tom Hirschowitz,et al.  What's in a game?: A theory of game models , 2018, LICS.

[6]  Glynn Winskel,et al.  Event Structures , 1986, Advances in Petri Nets.

[7]  Glynn Winskel,et al.  Concurrent Strategies , 2011, 2011 IEEE 26th Annual Symposium on Logic in Computer Science.

[8]  Samuel Mimram,et al.  Asynchronous Games: Innocence Without Alternation , 2007, CONCUR.

[9]  Jean Benabou,et al.  Fibered categories and the foundations of naive category theory , 1985, Journal of Symbolic Logic.

[10]  Peter Selinger Categorical Structure of Asynchrony , 1999, MFPS.

[11]  Glynn Winskel,et al.  The cartesian closed bicategory of generalised species of structures , 2008 .

[12]  Paul-André Melliès,et al.  An Asynchronous Soundness Theorem for Concurrent Separation Logic , 2018, LICS.

[13]  Nobuko Yoshida,et al.  Two sides of the same coin: session types and game semantics: a synchronous side and an asynchronous side , 2019, Proc. ACM Program. Lang..

[14]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[15]  C.-H. Luke Ong,et al.  On Full Abstraction for PCF: I, II, and III , 2000, Inf. Comput..

[16]  Radha Jagadeesan,et al.  Full Abstraction for PCF , 1994, Inf. Comput..

[17]  Russell Harmer,et al.  Categorical Combinatorics for Innocent Strategies , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[18]  Russell Harmer Games and full abstraction for non-deterministic languages , 1999 .

[19]  Jean-Yves Girard,et al.  Linear Logic , 1987, Theor. Comput. Sci..

[20]  Samuel Mimram From Asynchronous Games to Concurrent Games , 2008 .

[21]  J. Benabou Introduction to bicategories , 1967 .

[22]  Dan R. Ghica,et al.  Synchronous Game Semantics via Round Abstraction , 2011, FoSSaCS.

[23]  Martin Hyland,et al.  Glueing and orthogonality for models of linear logic , 2003, Theor. Comput. Sci..