skip to main content
10.1145/1926385.1926435acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
research-article

Dynamic multirole session types

Published:26 January 2011Publication History

ABSTRACT

Multiparty session types enforce structured safe communications between several participants, as long as their number is fixed when the session starts. In order to handle common distributed interaction patterns such as peer-to-peer protocols or cloud algorithms, we propose a new role-based multiparty session type theory where roles are defined as classes of local behaviours that an arbitrary number of participants can dynamically join and leave. We offer programmers a polling operation that gives access to the current set of a role's participants in order to fork processes. Our type system with universal types for polling can handle this dynamism and retain type safety. A multiparty locking mechanism is introduced to provide communication safety, but also to ensure a stronger progress property for joining participants that has never been guaranteed in previous systems. Finally, we present some implementation mechanisms used in our prototype extension of ML.

Skip Supplemental Material Section

Supplemental Material

39-mpeg-4.mp4

mp4

300.3 MB

References

  1. Web Services Choreography Description Language. http://www. w3.org/2002/ws/chor/.Google ScholarGoogle Scholar
  2. Advanced Message Queueing Protocols. http://www.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Pr%otocol.Google ScholarGoogle Scholar
  3. On-line Appendix of this paper. http://www.doc.ic.ac.uk/ ~pmalo/dynamic.Google ScholarGoogle Scholar
  4. L. Bettini et al. Global Progress in Dynamically Interfered Multiparty Sessions. In CONCUR'08, volume 5201 of LNCS, pages 418--433. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. K. Bhargavan, R. Corin, P.-M. Deniélou, C. Fournet, and J. Leifer. Cryptographic protocol synthesis and verification for multiparty sessions. In CSF, pages 124--140, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. L. Bocchi, K. Honda, E. Tuosto, and N. Yoshida. A theory of design-by-contract for distributed multiparty interactions. In CONCUR'10, volume 6269 of LNCS, pages 162--176. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. M. Bugliesi, G. Castagna, and S. Crafa. Access control for mobile agents: The calculus of boxed ambients. TOPLAS, 26(1):57--124, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. L. Caires and H. T. Vieira. Conversation types. In ESOP, volume 5502 of LNCS, pages 285--300. Springer, 2009. A full version will appear in TCS. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Capecchi, I. Castellani, M. Dezani-Ciancaglini, and T. Rezk. Session Types for Access and Information Flow Control. In CONCUR'10, volume 6269 of LNCS, pages 237--252. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. Capecchi, E. Giachino, and N. Yoshida. Global escape in multiparty session. In 30th FSTTCS'10, LIPICS, 2010. To appear.Google ScholarGoogle Scholar
  11. G. Castagna and L. Padovani. Contracts for mobile processes. In CONCUR, number 5710 in LNCS, pages 211--228, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. G. Castagna, J. Vitek, and F. Z. Nardelli. The seal calculus. Inf. Comput., 201(1):1--54, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Corin and P. Deniélou. A protocol compiler for secure sessions in ML. In TGC, volume 4912 of LNCS, pages 276--293. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P.-M. Deniélou and N. Yoshida. Buffered communication analysis in distributed multiparty sessions. In CONCUR'10, volume 6269 of LNCS, pages 343--357. Springer, 2010. Full version, Prototype at http://www.doc.ic.ac.uk/~pmalo/multianalysis. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. Dezani-Ciancaglini and U. de' Liguoro. Sessions and Session Types: an Overview. In WS-FM'09, volume 6194 of LNCS, pages 1--28. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. E. Giachino, M. Sackman, S. Drossopoulou, and S. Eisenbach. Softly safely spoken: role playing for session types. Preliminary on-line preproceeding, 64--69 pages, http://gloss.di.fc.ul.pt/places09/preproceedings.pdf.Google ScholarGoogle Scholar
  17. K. Honda, A. Mukhamedov, G. Brown, T.-C. Chen, and N. Yoshida. Scribbling interactions with a formal foundation. In ICDCIT, LNCS. Springer, 2011. To appear. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. K. Honda, V. T. Vasconcelos, and M. Kubo. Language primitives and type disciplines for structured communication-based programming. In ESOP'98, volume 1381 of LNCS, pages 22--138. Springer, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. Honda, N. Yoshida, and M. Carbone. Multiparty Asynchronous Session Types. In POPL, pages 273--284, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. R. Hu, D. Kouzapas, O. Pernet, N. Yoshida, and K. Honda. Type-Safe Eventful Sessions in Java. In ECOOP'10, volume 6183 of LNCS, pages 329--353. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. Hu, N. Yoshida, and K. Honda. Session-Based Distributed Pro-gramming in Java. In ECOOP'08, volume 5142 of LNCS, pages 516--541, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. D. Mostrous, N. Yoshida, and K. Honda. Global principal typing in partially commutative asynchronous sessions. In ESOP'09, volume 5502 of LNCS, pages 316--332, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. L. Nielsen, N. Yoshida, and K. Honda. Multiparty symmetric sum-types. Technical Report 8, Department of Computing, Imperial College London, 2009. To appear in Express'10. Apims Project at: http://www.thelas.dk/index.php/apims.Google ScholarGoogle Scholar
  24. Ocean Observatories Initiative (OOI). http://www. oceanleadership.org/programs-and-partnerships/ ocean-observin%g/ooi/.Google ScholarGoogle Scholar
  25. O. Pernet, N. Ng, R. Hu, N. Yoshida, and Y. Kryftis. Safe Parallel Programming with Session Java. Technical Report 14, Department of Computing, Imperial College London, 2010.Google ScholarGoogle Scholar
  26. A. Raad. Smelling of Roses: ROles, Specification, Specification and Scrutiny. DoC master's thesis, Imperial College London, 2010.Google ScholarGoogle Scholar
  27. Savara JBoss Project. http://www.jboss.org/savara.Google ScholarGoogle Scholar
  28. Scribble Project. http://www.jboss.org/scribble.Google ScholarGoogle Scholar
  29. K. C. Sivaramakrishnan, K. Nagaraj, L. Ziarek, and P. Eugster. Efficient session type guided distributed interaction. In Coordination'10, volume 6116 of LNCS, pages 152--167. Springer, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. K. Suenaga. Type-based deadlock-freedom verification for non-block-structured lock primitives and mutable references. In APLAS, volume 5356 of LNCS, pages 155--170, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. K. Takeuchi, K. Honda, and M. Kubo. An interaction-based language and its typing system. In PARLE'94, volume 817 of LNCS, pages 398--413. Springer, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. UNIFI. International Organization for Standardization ISO 20022 UNIversal Financial Industry message scheme. http://www.iso20022.org.Google ScholarGoogle Scholar
  33. H. Viera. A Calculus for Modeling and Analyzing Conversations in Service-Oriented Computing. PhD thesis, University Nova de Lisboa, 2010.Google ScholarGoogle Scholar
  34. N. Yoshida. Graph types for monadic mobile processes. In FSTTCS, volume 1180 of LNCS, pages 371--386, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. N. Yoshida, P.-M. Deniélou, A. Bejleri, and R. Hu. Parameterised multiparty session types. In FoSSaCs, volume 6014 of LNCS, pages 128--145, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. N. Yoshida, V. T. Vasconcelos, H. Paulino, and K. Honda. Session-based compilation framework for multicore programming. In FMCO'08, volume 5751 of LNCS, pages 226--246. Springer, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Dynamic multirole session types

        Recommendations

        Reviews

        Pierre Jouvelot

        Session types have been introduced to provide global static descriptions of multi-process systems by specifying abstractions of the interaction patterns among a fixed set of participants. Deniélou and Yoshida's paper extends this approach to dynamic multi-role session types that deal with time-varying, dynamic sets of interacting processes, thanks to the notion of roles. Introducing such flexibility is key to enabling the use of session types for dynamic interaction patterns such as the ones found in peer-to-peer (P2P) and client-server architectures. A role denotes a class of process behaviors; it is characterized by a name, such as "broker" or "client," which appears within a global multi-party session type that specifies the overall interaction pattern of a system. This global type can be restricted to a particular local type, which is the result of selecting in the global type the elements specific to a particular role name. These roles are key to the dynamic extension of session types. The authors suggest using universal quantification over roles to refer to the varying set of participants that implement a particular role, both at the type and implementation levels. Formal static and dynamic semantics rules, correctness theorems, and a specific-locking mechanism are successively introduced to firmly set the foundations of this approach. Despite the importance of its possible future applicability, this highly abstract and notation-heavy paper will only be of use to computer scientists well versed in the intricacies of current programming language design formalisms. Online Computing Reviews Service

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

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

        Sign in
        • Published in

          cover image ACM Conferences
          POPL '11: Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
          January 2011
          652 pages
          ISBN:9781450304900
          DOI:10.1145/1926385
          • cover image ACM SIGPLAN Notices
            ACM SIGPLAN Notices  Volume 46, Issue 1
            POPL '11
            January 2011
            624 pages
            ISSN:0362-1340
            EISSN:1558-1160
            DOI:10.1145/1925844
            Issue’s Table of Contents

          Copyright © 2011 ACM

          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: 26 January 2011

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate824of4,130submissions,20%

          Upcoming Conference

          POPL '25

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader