skip to main content
research-article

Multiparty asynchronous session types

Published:07 January 2008Publication History
Skip Abstract Section

Abstract

Communication is becoming one of the central elements in software development. As a potential typed foundation for structured communication-centred programming, session types have been studied over the last decade for a wide range of process calculi and programming languages, focussing on binary (two-party) sessions. This work extends the foregoing theories of binary session types to multiparty, asynchronous sessions, which often arise in practical communication-centred applications. Presented as a typed calculus for mobile processes, the theory introduces a new notion of types in which interactions involving multiple peers are directly abstracted as a global scenario. Global types retain a friendly type syntax of binary session types while capturing complex causal chains of multiparty asynchronous interactions. A global type plays the role of a shared agreement among communication peers, and is used as a basis of efficient type checking through its projection onto individual peers. The fundamental properties of the session type discipline such as communication safety, progress and session fidelity are established for generaln-party asynchronous interactions.

References

  1. Eduardo Bonelli and Adriana Compagnoni. Multipoint session types for a distributed calculus. In TGC07, LNCS. Springer, 2008. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Marco Carbone, Kohei Honda, Nobuko Yoshida, Robin Milner, Gary Brown, and Steve Ross-Talbot. A theoretical basis of communication--centred concurrent programming. To be published by W3C. Available at www.dcs.qmul.ac.uk/~carbonem/cdlpaper, 2006.Google ScholarGoogle Scholar
  3. Marco Carbone, Kohei Honda, and Nobuko Yoshida. Structured Communication--Centred Programming for Web Services. In ESOP'07, volume 4421 of LNCS, pages 2--17. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Mario Coppo, Mariangiola Dezani-Ciancaglini, and Nobuko Yoshida. Asynchronous Session Types and Progress for Object--Oriented Languages. In FMOODS'07, volume 4468 of LNCS, pages 1--31, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Ricardo Corin, Pierre-Malo Denielou, Cedric Fournet, Karthikeyan Bhargavan, and James Leifer. Secure Implementations for Typed Session Abstractions. In CFS'07. IEEE--CS Press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Mariangiola Dezani-Ciancaglini, Dimitris Mostrous, Nobuko Yoshida, and Sophia Drossopoulou. Session Types for Object-Oriented Languages. In ECOOP'06, volume 4067 of LNCS, pages 328--352. Springer, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Mariangiola Dezani-Ciancaglini, Ugo de' Liguoro, and Nobuko Yoshida. On Progress for Structured Communications. In TGC07, LNCS. Springer, 2008. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Manuel Fähndrich, Mark Aiken, Chris Hawblitzel, Orion Hodson, Galen C. Hunt, James R. Larus, and Steven Levi. Language Support for Fast and Reliable Message-based Communication in Singularity OS. In EuroSys2006, ACM SIGOPS, pages 177--190. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Pablo Garralda, Adriana Compagnoni, and Mariangiola Dezani-Ciancaglini. BASS: Boxed Ambients with Safe Sessions. In PPDP'06, pages 61--72. ACM Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Simon Gay and Malcolm Hole. Subtyping for Session Types in the Pi-Calculus. Acta Informatica, 42(2/3):191--225, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  11. Simon Gay and Vasco T. Vasconcelos. Asynchronous functional session types. TR 2007-251, University of Glasgow, may 2007.Google ScholarGoogle Scholar
  12. Jean-Yves Girard. Linear logic. TCS, 50:1-102, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Matthew Hennessy. A Distributed Pi-Calculus. CUP, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Kohei Honda and Mario Tokoro. An object calculus for asynchronous communication. In Proceedings of ECOOP'91, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Kohei Honda, Vasco T. Vasconcelos, and Makoto Kubo. Language primitives and type disciplines for structured communication-based programming. In ESOP'98, volume 1381 of LNCS, pages 22--138. Springer-Verlag, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Kohei Honda, Nobuko Yoshida, and Marco Carbone. Web Services, Mobile Processes and Types. The Bulletin of the European Association for Theoretical Computer Science, February(91):165--185, 2007.Google ScholarGoogle Scholar
  17. Kohei Honda, Nobuko Yoshida, and Marco Carbone. Full version of this paper. Technical Report 5, Imperial College London, 2007.Google ScholarGoogle Scholar
  18. Raymond Hu, Nobuko Yoshida, and Kohei Honda. Type-safe Communication in Java with Session Types. http://www.doc.ic.ac.uk/~rh105/sessiondj.html, March 2007.Google ScholarGoogle Scholar
  19. Atsushi Igarashi and Naoki Kobayashi. A generic type system for the pi-calculus. Theoretical Computer Science, 311(1--3): 121--163, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Naoki Kobayashi. A new type system for deadlock-free processes. In CONCUR'06, volume 4137 of LNCS, pages 233--247, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Naoki Kobayashi, Shin Saito, and Eijiro Sumii. An implicitly-typed deadlock-free process calculus. In CONCUR'00, volume 1877 of LNCS, pages 489--503, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558--564, July 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Dimitris Mostrous and Nobuko Yoshida. Two session typing systems for higher-order mobile processes. In TLCA'07, volume 4583 of LNCS, pages 321--335. Springer, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Matthias Neubauer and Peter Thiemann. Session Types for Asynchronous Communication. Universität Freiburg, 2004.Google ScholarGoogle Scholar
  25. Matthias Neubauer and Peter Thiemann. An Implementation of Session Types. In PADL, volume 3057 of LNCS, pages 56--70. Springer, 2004.Google ScholarGoogle Scholar
  26. Benjamin C. Pierce. Types and Programming Languages. MIT Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Bruce Schneier. Applied Cryptography: Protocols, Algorithms, and Source Code in C. John Wiley & Sons, Inc., 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Stephen Sparkes. Conversation with Steve Ross-Talbot. ACM Queue, 4(2), March 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Kaku Takeuchi, Kohei Honda, and Makoto Kubo. An Interaction-based Language and its Typing System. In PARLE'94, volume 817 of LNCS, pages 398--413. Springer--Verlag, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. UNIFI. International Organization for Standardization ISO 20022 UNIversal Financial Industry message scheme. http://www.iso20022.org.Google ScholarGoogle Scholar
  31. Vasco T. Vasconcelos, Simon Gay, and António Ravara. Typechecking a multithreaded functional language with session types. TCS, 368(1-2):64--87, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. WS-CDL. Web Services Choreography Working Group. http://www.w3.org/2002/ws/chor/.Google ScholarGoogle Scholar
  33. Nobuko Yoshida. Graph types for monadic mobile processes. In FSTTCS, volume 1180 of LNCS, pages 371--386. Springer, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Nobuko Yoshida and Vasco T. Vasconcelos. Language primitives and type disciplines for structured communication-based programming revisit. In SecRet'06, volume 171 of ENTCS, pages 73--93. Elsevier, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Multiparty asynchronous session types

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!