skip to main content
research-article

Multiparty asynchronous session types

Published: 07 January 2008 Publication History

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.
[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.
[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.
[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.
[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.
[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.
[7]
Mariangiola Dezani-Ciancaglini, Ugo de' Liguoro, and Nobuko Yoshida. On Progress for Structured Communications. In TGC07, LNCS. Springer, 2008. To appear.
[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.
[9]
Pablo Garralda, Adriana Compagnoni, and Mariangiola Dezani-Ciancaglini. BASS: Boxed Ambients with Safe Sessions. In PPDP'06, pages 61--72. ACM Press, 2006.
[10]
Simon Gay and Malcolm Hole. Subtyping for Session Types in the Pi-Calculus. Acta Informatica, 42(2/3):191--225, 2005.
[11]
Simon Gay and Vasco T. Vasconcelos. Asynchronous functional session types. TR 2007-251, University of Glasgow, may 2007.
[12]
Jean-Yves Girard. Linear logic. TCS, 50:1-102, 1987.
[13]
Matthew Hennessy. A Distributed Pi-Calculus. CUP, 2007.
[14]
Kohei Honda and Mario Tokoro. An object calculus for asynchronous communication. In Proceedings of ECOOP'91, 1991.
[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.
[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.
[17]
Kohei Honda, Nobuko Yoshida, and Marco Carbone. Full version of this paper. Technical Report 5, Imperial College London, 2007.
[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.
[19]
Atsushi Igarashi and Naoki Kobayashi. A generic type system for the pi-calculus. Theoretical Computer Science, 311(1--3): 121--163, 2004.
[20]
Naoki Kobayashi. A new type system for deadlock-free processes. In CONCUR'06, volume 4137 of LNCS, pages 233--247, 2006.
[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.
[22]
Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558--564, July 1978.
[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.
[24]
Matthias Neubauer and Peter Thiemann. Session Types for Asynchronous Communication. Universität Freiburg, 2004.
[25]
Matthias Neubauer and Peter Thiemann. An Implementation of Session Types. In PADL, volume 3057 of LNCS, pages 56--70. Springer, 2004.
[26]
Benjamin C. Pierce. Types and Programming Languages. MIT Press, 2002.
[27]
Bruce Schneier. Applied Cryptography: Protocols, Algorithms, and Source Code in C. John Wiley & Sons, Inc., 1993.
[28]
Stephen Sparkes. Conversation with Steve Ross-Talbot. ACM Queue, 4(2), March 2006.
[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.
[30]
UNIFI. International Organization for Standardization ISO 20022 UNIversal Financial Industry message scheme. http://www.iso20022.org.
[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.
[32]
WS-CDL. Web Services Choreography Working Group. http://www.w3.org/2002/ws/chor/.
[33]
Nobuko Yoshida. Graph types for monadic mobile processes. In FSTTCS, volume 1180 of LNCS, pages 371--386. Springer, 1996.
[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.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGPLAN Notices
ACM SIGPLAN Notices  Volume 43, Issue 1
POPL '08
January 2008
420 pages
ISSN:0362-1340
EISSN:1558-1160
DOI:10.1145/1328897
Issue’s Table of Contents
  • cover image ACM Conferences
    POPL '08: Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    January 2008
    448 pages
    ISBN:9781595936899
    DOI:10.1145/1328438
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 January 2008
Published in SIGPLAN Volume 43, Issue 1

Check for updates

Author Tags

  1. causality
  2. choreography
  3. communications
  4. mobile processes
  5. multiparty
  6. session types
  7. structured programming

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)102
  • Downloads (Last 6 weeks)11
Reflects downloads up to 14 Sep 2024

Other Metrics

Citations

Cited By

View all

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media