Abstract
Game semantics and session types are two formalisations of the same concept: message-passing open programs following certain protocols. Game semantics represents protocols as games, and programs as strategies; while session types specify protocols, and well-typed π-calculus processes model programs. Giving faithful models of the π-calculus and giving a precise description of strategies as a programming language are two difficult problems. In this paper, we show how these two problems can be tackled at the same time by building an accurate game semantics model of the session π-calculus.
Our main contribution is to fill a semantic gap between the synchrony of the (session) π-calculus and the asynchrony of game semantics, by developing an event-structure based game semantics for synchronous concurrent computation. This model supports the first truly concurrent fully abstract (for barbed congruence) interpretation of the synchronous (session) π-calculus. We further strengthen this correspondence, establishing finite definability of asynchronous strategies by the internal session π-calculus. As an application of these results, we propose a faithful encoding of synchronous strategies into asynchronous strategies by call-return protocols, which induces automatically an encoding at the level of processes. Our results bring session types and game semantics into the same picture, proposing the session calculus as a programming language for strategies, and strategies as a very accurate model of the session calculus. We implement a prototype which computes the interpretation of session processes as synchronous strategies.
Supplemental Material
- Martín Abadi, Bruno Blanchet, and Cédric Fournet. 2017. The Applied Pi Calculus: Mobile Values, New Names, and Secure Communication. J. ACM 65, 1, Article 1 (Oct. 2017), 41 pages. Google Scholar
Digital Library
- Samson Abramsky, Kohei Honda, and Guy McCusker. 1998. A Fully Abstract Game Semantics for General References (LICS’98). IEEE Computer Society, Washington, DC, USA. Google Scholar
Digital Library
- Samson Abramsky, Radha Jagadeesan, and Pasquale Malacaria. 2000. Full Abstraction for PCF. 163 (2000), 409–470. Google Scholar
Digital Library
- Samson Abramsky, Pasquale Malacaria, and Radha Jagadeesan. 1994. Full Abstraction for PCF. In TACS (Lecture Notes in Computer Science), Vol. 789. Springer, 1–15. Google Scholar
Digital Library
- Samson Abramsky and Guy McCusker. 1999. Full Abstraction for Idealized Algol with Passive Expressions. Vol. 227. 3–42. Google Scholar
Digital Library
- Samson Abramsky and Paul-André Melliès. 1999. Concurrent Games and Full Completeness. In 14th Annual IEEE Symposium on Logic in Computer Science, Trento, Italy, July 2-5, 1999. 431–442. Google Scholar
Digital Library
- Robert Atkey. 2017. Observed Communication Semantics for Classical Processes. In ESOP. 56–82. Google Scholar
Digital Library
- David Baelde, Stéphanie Delaune, and Lucca Hirschi. 2015. Partial Order Reduction for Security Protocols. In Proceedings of the 26th International Conference on Concurrency Theory (CONCUR’15) (Leibniz International Proceedings in Informatics), Luca Aceto and David de Frutos-Escrig (Eds.), Vol. 42. Leibniz-Zentrum für Informatik, Madrid, Spain, 497–510.Google Scholar
- Martin Berger, Kohei Honda, and Nobuko Yoshida. 2001. Sequentiality and the π -Calculus. In Typed Lambda Calculi and Applications (Lecture Notes in Computer Science), Samson Abramsky (Ed.), Vol. 2044. Springer Berlin Heidelberg, 29–45. Google Scholar
Digital Library
- Simon Castellan, Pierre Clairambault, Jonathan Hayman, and Glynn Winskel. 2018. Non-angelic Concurrent Game Semantics. In Foundations of Software Science and Computation Structures - 21st International Conference, FOSSACS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Thessaloniki, Greece, April 14-20, 2018, Proceedings. 3–19.Google Scholar
- Simon Castellan, Pierre Clairambault, Silvain Rideau, and Glynn Winskel. 2017. Games and Strategies as Event Structures. Logical Methods in Computer Science Volume 13, Issue 3 (Sept. 2017).Google Scholar
- Simon Castellan and Nobuko Yoshida. 2018. Two sides of the same coin: Session Types and Game Semantics. (2018). https://www.doc.ic.ac.uk/research/technicalreports/2018/DTRS18- 5.pdf Technical report.Google Scholar
- Gian Luca Cattani and Glynn Winskel. 1997. Presheaf models for concurrency. In Computer Science Logic, Dirk van Dalen and Marc Bezem (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 58–75.Google Scholar
- Tzu-Chun Chen, Mariangiola Dezani-Ciancaglini, Alceste Scalas, and Nobuko Yoshida. 2017. On the Preciseness of Subtyping in Session Types. LMCS 13 (2017), 1–62. Issue 2.Google Scholar
- Silvia Crafa, Daniele Varacca, and Nobuko Yoshida. 2007. Compositional Event Structure Semantics for the Internal π -calculus. In Proceedings of the 18th International Conference on Concurrency Theory (CONCUR’07). Springer-Verlag, Berlin, Heidelberg, 317–317. http://dl.acm.org/citation.cfm?id=2392200.2392224 Google Scholar
Digital Library
- Ioana Domnina Cristescu, Jean Krivine, and Daniele Varacca. 2015. Rigid Families for CCS and the π -calculus. In Theoretical Aspects of Computing - ICTAC 2015 - 12th International Colloquium Cali, Colombia, October 29-31, 2015, Proceedings. 223–240. Google Scholar
Digital Library
- Vincent Danos and Russell Harmer. 2002. Probabilistic Game Semantics. ACM Trans. Comput. Logic 3, 3 (July 2002), 359–382. Google Scholar
Digital Library
- Tim Disney and Cormac Flanagan. 2015. Game Semantics for Type Soundness. In LICS (LICS’15). IEEE, 104–114. Google Scholar
Digital Library
- Clovis Eberhart, Tom Hirschowitz, and Thomas Seiller. 2013. Fully-abstract concurrent games for pi. CoRR abs/1310.4306 (2013). http://arxiv.org/abs/1310.4306Google Scholar
- Simon Gay and Malcolm Hole. 2005. Subtyping for Session Types in the Pi Calculus. Acta Informatica 42, 2/3 (2005), 191–225.Google Scholar
Digital Library
- Simon Gay and Vasco T. Vasconcelos. 2010. Linear Type Theory for Asynchronous Session Types. Journal of Functional Programming 20, 1 (2010), 19–50. Google Scholar
Digital Library
- Dan R. Ghica and Mohamed N. Menaa. 2011. Synchronous Game Semantics via Round Abstraction. In Foundations of Software Science and Computational Structures, Martin Hofmann (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg, 350–364. Google Scholar
Digital Library
- Russell Harmer and Guy McCusker. 1999. A Fully Abstract Game Semantics for Finite Nondeterminism. In 14th Annual IEEE Symposium on Logic in Computer Science, Trento, Italy, July 2-5, 1999. 422–430. Google Scholar
Digital Library
- Matthew Hennessy. 2007. A Distributed Pi-Calculus. CUP. Google Scholar
Digital Library
- Kohei Honda and Mario Tokoro. 1991. An Object Calculus for Asynchronous Communication. In ECOOP’91 (LNCS), Vol. 512. 133–147. Google Scholar
Digital Library
- Kohei Honda, Vasco T. Vasconcelos, and Makoto Kubo. 1998. Language Primitives and Type Disciplines for Structured Communication-based Programming. In ESOP (LNCS), Vol. 1381. Springer, 122–138. Google Scholar
Digital Library
- Kohei Honda and Nobuko Yoshida. 1995. On Reduction-Based Process Semantics. Theorical Computer Science 151, 2 (1995), 437–486. Google Scholar
Digital Library
- Kohei Honda and Nobuko Yoshida. 1999. Game-Theoretic Analysis of Call-by-Value Computation. TCS 221 (1999), 393–456. Google Scholar
Digital Library
- Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008. Multiparty Asynchronous Session Types. In POPL. ACM, 273–284. Google Scholar
Digital Library
- J. Martin E. Hyland and C. H. Luke Ong. 1994. On Full Abstraction for PCF. Technical Report. Imperial College, Department of Computing. 130pp pages.Google Scholar
- J. Martin E. Hyland and C. H. Luke Ong. 2000. On Full Abstraction for PCF. Inf. & Comp. 163 (2000), 285–408. Google Scholar
Digital Library
- J. M. E. Hyland and C.-H. Luke Ong. 1995. Pi-Calculus, Dialogue Games and PCF. In FPCA. ACM, 96–107. Google Scholar
Digital Library
- Dimitrios Kouzapas and Nobuko Yoshida. 2015. Globally Governed Session Semantics. LMCS 10 (2015). Issue 4.Google Scholar
- James Laird. 1997. Full Abstraction for Functional Languages with Control. In Proceedings, 12th Annual IEEE Symposium on Logic in Computer Science, Warsaw, Poland, June 29 - July 2, 1997. 58–67. Google Scholar
Digital Library
- James Laird. 2001. A Game Semantics of Idealized CSP. Electr. Notes Theor. Comput. Sci. 45 (2001), 232–257.Google Scholar
Cross Ref
- Jim Laird. 2005. A Game Semantics of the Asynchronous pi-Calculus. In CONCUR 2005 - Concurrency Theory, 16th International Conference, CONCUR 2005, San Francisco, CA, USA, August 23-26, 2005, Proceedings. 51–65. Google Scholar
Digital Library
- Paul-André Melliès. 2005. Asynchronous Games 4: A Fully Complete Model of Propositional Linear Logic. In 20th IEEE Symposium on Logic in Computer Science (LICS 2005), 26-29 June 2005, Chicago, IL, USA, Proceedings. 386–395. Google Scholar
Digital Library
- Paul-André Melliès. 2006. Asynchronous games 2: The true concurrency of innocence. Theor. Comput. Sci. 358, 2-3 (2006), 200–228. Google Scholar
Digital Library
- Paul-André Melliès. 2019. Categorical combinatorics of scheduling and synchronization for games and strategies. In Accepted for publication at POPL’19.Google Scholar
- Paul-André Melliès and Samuel Mimram. 2007. Asynchronous Games: Innocence Without Alternation. In CONCUR 2007 -Concurrency Theory, 18th International Conference. 395–411. Google Scholar
Digital Library
- Paul-André Melliès and Léo Stefanesco. 2018. An Asynchronous Soundness Theorem for Concurrent Separation Logic. In Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science, LICS 2018, Oxford, UK, July 09-12, 2018. 699–708. Google Scholar
Digital Library
- Robin Milner. 1992. Functions as Processes. MSCS 2, 2 (1992), 119–141.Google Scholar
- Robin Milner and Davide Sangiorgi. 1992. Barbed Bisimulation. In ICALP (LNCS), Vol. 623. Springer, 685–695. Google Scholar
Digital Library
- Dimitris Mostrous and Nobuko Yoshida. 2015. Session Typing and Asynchronous Subtyping for the Higher-Order π -Calculus. Inform. Comput. 241 (2015), 227–263. Google Scholar
Digital Library
- Vaughan R. Pratt. 1984. The Pomset Model of Parallel Processes: Unifying the Temporal and the Spatial. In Seminar on Concurrency, Carnegie-Mellon University, Pittsburg, PA, USA, July 9-11, 1984. 180–196. Google Scholar
Digital Library
- Silvain Rideau and Glynn Winskel. 2011. Concurrent Strategies. In Proceedings of the 26th Annual IEEE Symposium on Logic in Computer Science, LICS 2011, June 21-24, 2011, Toronto, Ontario, Canada. 409–418. Google Scholar
Digital Library
- Ken Sakayori and Takeshi Tsukada. 2017. A Truly Concurrent Game Model of the Asynchronous Pi-Calculus. In FoSSaCs. 389–406. Google Scholar
Digital Library
- Davide Sangiorgi. 1995. Internal Mobility and Agent Passing Calculi. In Proc. ICALP‘95. Google Scholar
Digital Library
- D. Sangiorgi. 1996. π -calculus, internal mobility and agent-passing calculi. TCS 167, 2 (1996), 235–274. Google Scholar
Digital Library
- Peter Selinger. 1997. First-Order Axioms for Asynchrony. In Proc. CONCUR ’97. Google Scholar
Digital Library
- Kaku Takeuchi, Kohei Honda, and Makoto Kubo. 1994. An Interaction-based Language and its Typing System. In PARLE’94 (LNCS), Vol. 817. 398–413. Google Scholar
Digital Library
- P. S. Thiagarajan. 2002. Regular Event Structures and Finite Petri Nets: A Conjecture. In Formal and Natural Computing -Essays Dedicated to Grzegorz Rozenberg {on occasion of his 60th birthday, March 14, 2002}. 244–256. Google Scholar
Digital Library
- Rob van Glabbeek and Frits Vaandrager. 2003. Bundle Event Structures and CCSP. In CONCUR 2003 - Concurrency Theory, Roberto Amadio and Denis Lugiez (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 57–71.Google Scholar
- Glynn Winskel. 1982. Event structure semantics for CCS and related languages. 561–576. See also DAIMI Report PB-159, Computer Science Department, Aarhus University, 1983.Google Scholar
- Glynn Winskel. 1986. Event Structures. In Petri Nets: Central Models and Their Properties, Advances in Petri Nets 1986, Part II, Proceedings of an Advanced Course, Bad Honnef, 8.-19. September 1986. 325–392. Google Scholar
Digital Library
- Nobuko Yoshida. 1996. Graph Types for Monadic Mobile Processes.. In FSTTCS (LNCS), Vol. 1180. Springer, 371–386. Google Scholar
Digital Library
- Nobuko Yoshida and Vasco Thudichum Vasconcelos. 2007. Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication. Electr. Notes Theor. Comput. Sci. 171, 4 (2007), 73–93. Google Scholar
Digital Library
Index Terms
Two sides of the same coin: session types and game semantics: a synchronous side and an asynchronous side
Recommendations
Session types revisited
PPDP '12: Proceedings of the 14th symposium on Principles and practice of declarative programmingSession types are a formalism to model structured communication-based programming. A session type describes communication by specifying the type and direction of data exchanged between two parties. When session types and session primitives are added to ...
Imperative Programs as Proofs via Game Semantics
LICS '11: Proceedings of the 2011 IEEE 26th Annual Symposium on Logic in Computer ScienceGame semantics extends the Curry-Howard isomorphism to a three-way correspondence: proofs, programs, strategies. But the universe of strategies goes beyond intuitionistic logics and lambda calculus, to capture stateful programs. In this paper we ...
Asynchronous games 2: the true concurrency of innocence
Concurrency theory (CONCUR 2004)In game semantics, the higher-order value passing mechanisms of the λ-calculus are decomposed as sequences of atomic actions exchanged by a Player and its Opponent. Seen from this angle, game semantics is reminiscent of trace semantics in concurrency ...






Comments