Abstract Machines for Game Semantics, Revisited

We define new abstract machines for game semantics which correspond to networks of conventional computers, and can be used as an intermediate representation for compilation targeting distributed systems. This is achieved in two steps. First we introduce the HRAM, a Heap and Register Abstract Machine, an abstraction of a conventional computer, which can be structured into HRAM nets, an abstract point-to-point network model. HRAMs are multi-threaded and subsume communication by tokens (cf. IAM) or jumps. Game Abstract Machines (GAM), are HRAMs with additional structure at the interface level, but no special operational capabilities. We show that GAMs cannot be naively composed, but composition must be mediated using appropriate HRAM combinators. HRAMs are flexible enough to allow the representation of game models for languages with state (non-innocent games) or concurrency (non-alternating games). We illustrate the potential of this technique by implementing a toy distributed compiler for ICA, a higher-order programming language with shared state concurrency, thus significantly extending our previous distributed PCF compiler. We show that compilation is sound and memory-safe, i.e. no (distributed or local) garbage collection is necessary.

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

[2]  Andrzej S. Murawski,et al.  Angelic semantics of fine-grained concurrency , 2008, Ann. Pure Appl. Log..

[3]  William Gropp,et al.  Skjellum using mpi: portable parallel programming with the message-passing interface , 1994 .

[4]  Dan R. Ghica Applications of Game Semantics: From Program Analysis to Hardware Synthesis , 2009, 2009 24th Annual IEEE Symposium on Logic In Computer Science.

[5]  Dan R. Ghica,et al.  Seamless Distributed Computing from the Geometry of Interaction , 2012, TGC.

[6]  Dan R. Ghica,et al.  Game Semantics in the Nominal Model , 2012, MFPS.

[7]  James Laird,et al.  Exceptions, Continuations and Macro-expressiveness , 2002, ESOP.

[8]  Vincent Danos,et al.  Game Semantics & Abstract Machines. , 1996, LICS 1996.

[9]  C.-H. Luke Ong,et al.  Verification of Higher-Order Computation: A Game-Semantic Approach , 2008, ESOP.

[10]  C.-H. Luke Ong,et al.  Pi-calculus, dialogue games and full abstraction PCF , 1995, FPCA '95.

[11]  Dan R. Ghica,et al.  A System-Level Game Semantics , 2012, MFPS.

[12]  Jean-Yves Girard,et al.  Geometry of Interaction 1: Interpretation of System F , 1989 .

[13]  Steven Hand,et al.  CIEL: A Universal Execution Engine for Distributed Data-Flow Computing , 2011, NSDI.

[14]  Dan R. Ghica,et al.  Function interface models for hardware compilation , 2011, Ninth ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMPCODE2011).

[15]  Andrew M. Pitts,et al.  A new approach to abstract syntax involving binders , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[16]  Ian Mackie,et al.  The geometry of interaction machine , 1995, POPL '95.

[17]  Nick Benton,et al.  Under Consideration for Publication in J. Functional Programming Embedded Interpreters , 2022 .

[18]  Dan R. Ghica,et al.  Slot games: a quantitative model of computation , 2005, POPL '05.

[19]  Claudia Faggian,et al.  Ludics nets, a game model of concurrent interaction , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[20]  Hugo Herbelin,et al.  Abstract machines for dialogue games , 2007, ArXiv.

[21]  Gérard Berry,et al.  The chemical abstract machine , 1989, POPL '90.

[22]  Vincent Danos,et al.  Reversible, Irreversible and Optimal Lambda-machines , 1999, Linear Logic Tokyo Meeting.

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

[24]  D. Le Métayer Programming Languages and Systems : 11th European Symposium on Programming, ESOP 2002, held as part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2002, Grenoble, France, April 8-12, 2002 : proceedings , 2002 .

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

[26]  Vincent Danos,et al.  Game semantics and abstract machines , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[27]  C.-H. Luke Ong,et al.  Pi-Calculus, Dialogue Games and PCF. , 1995 .

[28]  Andrzej S. Murawski,et al.  Angelic Semantics of Fine-Grained Concurrency , 2004, FoSSaCS.

[29]  Vincent Danos,et al.  Reversible, Irreversible and Optimal lambda-Machines , 1999, Theor. Comput. Sci..