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