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

Dynamic multirole session types

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

Supplementary Material

MP4 File (39-mpeg-4.mp4)

References

[1]
Web Services Choreography Description Language. http://www. w3.org/2002/ws/chor/.
[2]
Advanced Message Queueing Protocols. http://www.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Pr%otocol.
[3]
On-line Appendix of this paper. http://www.doc.ic.ac.uk/ ~pmalo/dynamic.
[4]
L. Bettini et al. Global Progress in Dynamically Interfered Multiparty Sessions. In CONCUR'08, volume 5201 of LNCS, pages 418--433. Springer, 2008.
[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.
[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.
[7]
M. Bugliesi, G. Castagna, and S. Crafa. Access control for mobile agents: The calculus of boxed ambients. TOPLAS, 26(1):57--124, 2004.
[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.
[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.
[10]
S. Capecchi, E. Giachino, and N. Yoshida. Global escape in multiparty session. In 30th FSTTCS'10, LIPICS, 2010. To appear.
[11]
G. Castagna and L. Padovani. Contracts for mobile processes. In CONCUR, number 5710 in LNCS, pages 211--228, 2009.
[12]
G. Castagna, J. Vitek, and F. Z. Nardelli. The seal calculus. Inf. Comput., 201(1):1--54, 2005.
[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.
[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.
[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.
[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.
[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.
[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.
[19]
K. Honda, N. Yoshida, and M. Carbone. Multiparty Asynchronous Session Types. In POPL, pages 273--284, 2008.
[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.
[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.
[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.
[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.
[24]
Ocean Observatories Initiative (OOI). http://www. oceanleadership.org/programs-and-partnerships/ ocean-observin%g/ooi/.
[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.
[26]
A. Raad. Smelling of Roses: ROles, Specification, Specification and Scrutiny. DoC master's thesis, Imperial College London, 2010.
[27]
Savara JBoss Project. http://www.jboss.org/savara.
[28]
Scribble Project. http://www.jboss.org/scribble.
[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.
[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.
[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.
[32]
UNIFI. International Organization for Standardization ISO 20022 UNIversal Financial Industry message scheme. http://www.iso20022.org.
[33]
H. Viera. A Calculus for Modeling and Analyzing Conversations in Service-Oriented Computing. PhD thesis, University Nova de Lisboa, 2010.
[34]
N. Yoshida. Graph types for monadic mobile processes. In FSTTCS, volume 1180 of LNCS, pages 371--386, 1996.
[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.
[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.

Cited By

View all
  • (2025)Open Compliance in Multiparty Sessions with Partial TypingJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2025.101046(101046)Online publication date: Jan-2025
  • (2024)Message-Observing SessionsProceedings of the ACM on Programming Languages10.1145/36498598:OOPSLA1(1351-1379)Online publication date: 29-Apr-2024
  • (2024)Choral: Object-oriented Choreographic ProgrammingACM Transactions on Programming Languages and Systems10.1145/363239846:1(1-59)Online publication date: 16-Jan-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 January 2011

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. auction
  2. communications
  3. dynamic protocols
  4. join-leave
  5. mobile processes
  6. multiparty
  7. peer-to-peer
  8. roles
  9. session types

Qualifiers

  • Research-article

Conference

POPL '11
Sponsor:

Acceptance Rates

Overall Acceptance Rate 860 of 4,328 submissions, 20%

Upcoming Conference

POPL '26

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)21
  • Downloads (Last 6 weeks)9
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Open Compliance in Multiparty Sessions with Partial TypingJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2025.101046(101046)Online publication date: Jan-2025
  • (2024)Message-Observing SessionsProceedings of the ACM on Programming Languages10.1145/36498598:OOPSLA1(1351-1379)Online publication date: 29-Apr-2024
  • (2024)Choral: Object-oriented Choreographic ProgrammingACM Transactions on Programming Languages and Systems10.1145/363239846:1(1-59)Online publication date: 16-Jan-2024
  • (2024)Choreographic Automata: A Case Study in Healthcare ManagementCoordination Models and Languages10.1007/978-3-031-62697-5_1(3-19)Online publication date: 11-Jun-2024
  • (2024)Programming Language Implementations with Multiparty Session TypesActive Object Languages: Current Research Trends10.1007/978-3-031-51060-1_6(147-165)Online publication date: 29-Jan-2024
  • (2022)Multiparty GV: functional multiparty session types with certified deadlock freedomProceedings of the ACM on Programming Languages10.1145/35476386:ICFP(466-495)Online publication date: 31-Aug-2022
  • (2022)A Predicate Transformer for ChoreographiesProgramming Languages and Systems10.1007/978-3-030-99336-8_19(520-547)Online publication date: 29-Mar-2022
  • (2021)Client-server sessions in linear logicProceedings of the ACM on Programming Languages10.1145/34735675:ICFP(1-31)Online publication date: 19-Aug-2021
  • (2021)Deconfined Global Types for Asynchronous SessionsCoordination Models and Languages10.1007/978-3-030-78142-2_3(41-60)Online publication date: 8-Jun-2021
  • (2020)Aneris: A Mechanised Logic for Modular Reasoning about Distributed SystemsProgramming Languages and Systems10.1007/978-3-030-44914-8_13(336-365)Online publication date: 27-Apr-2020
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media