skip to main content
research-article

Multiparty Asynchronous Session Types

Published:03 March 2016Publication History
Skip Abstract Section

Abstract

Communication is a central elements in software development. As a potential typed foundation for structured communication-centered programming, session types have been studied over the past decade for a wide range of process calculi and programming languages, focusing 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-centered 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 the friendly type syntax of binary session types while specifying dependencies and 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 general n-party asynchronous interactions.

References

  1. AMQP. 2015. Advanced Message Queuing Protocol. http://www.iona.com/opensource/amqp/.Google ScholarGoogle Scholar
  2. Lucia Acciai and Michele Boreale. 2008. A type system for client progress in a service-oriented calculus. In Concurrency, Graphs and Models (LNCS), Vol. 5065. Springer, Pisa, Italy, 642--658. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Apims 2014. Apims. (2014). http://thelas.dk/index.php?title=Apims.Google ScholarGoogle Scholar
  4. Samik Basu, Tevfik Bultan, and Meriem Ouederni. 2012. Deciding choreography realizability. In Symposium on Principles of Programming Languages (POPL'12). ACM, Philadelphia, USA, 191--202. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Andi Bejleri and Nobuko Yoshida. 2009. Synchronous multiparty session types. In Proceedings of Programming Languages Approaches to Concurrency and Communication-Centric Software (PLACES'08) (ENTCS), Vol. 241. Elsevier, Oslo, Norway, 3--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Lorenzo Bettini, Mario Coppo, Loris D'Antoni, Marco De Luca, Mariangiola Dezani-Ciancaglini, and Nobuko Yoshida. 2008. Global progress in dynamically interleaved multiparty sessions. In International Conference on Concurrency Theory (CONCUR'08) (LNCS), Vol. 5201. Springer, Toronto, Canada, 418--433. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Karthikeyan Bhargavan, Ricardo Corin, Pierre-Malo Deniélou, Cédric Fournet, and James Leifer. 2009. Cryptographic protocol synthesis and verification for multiparty sessions. In Computer Security Foundations Symposium (CSF'09). IEEE, New York, USA, 124--140. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Laura Bocchi, Tzu-Chun Chen, Romain Demangeon, Kohei Honda, and Nobuko Yoshida. 2013. Monitoring networks through multiparty session types. In IFIP Joint International Conference on Formal Techniques for Distributed Systems (FMOODS/FORTE'13) (LNCS), Dirk Beyer and Michele Boreale (Eds.), Vol. 7892. Springer, Florence, Italy, 50--65.Google ScholarGoogle ScholarCross RefCross Ref
  9. Laura Bocchi, Romain Demangeon, and Nobuko Yoshida. 2012. A multiparty multi-session logic. In 7th International Symposium on Trustworthy Global Computing (TGC'12) (LNCS), Catuscia Palamidessi and Mark Dermot Ryan (Eds.), Vol. 8191. Springer, Newcastle upon Tyne, UK, 111--97.Google ScholarGoogle Scholar
  10. Laura Bocchi, Kohei Honda, Emilio Tuosto, and Nobuko Yoshida. 2010. A theory of design-by-contract for distributed multiparty interactions. In International Conference on Concurrency Theory (CONCUR'10) (LNCS), Vol. 6269. Springer, Paris, France, 162--176. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Laura Bocchi, Julien Lange, and Nobuko Yoshida. 2015. Meeting deadlines together. In International Conference on Concurrency Theory (CONCUR 2015) (LIPIcs), Vol. 42. Schloss Dagstuhl, Madrid, Spain, 283--296.Google ScholarGoogle Scholar
  12. Laura Bocchi, Hernán C. Melgratti, and Emilio Tuosto. 2014a. Resolving non-determinism in choreographies. In European Symposium on Programming (ESOP'14) (LNCS), Zhong Shao (Ed.), Vol. 8410. Springer, Grenoble, France, 493--512.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Laura Bocchi, Weizhen Yang, and Nobuko Yoshida. 2014b. Timed multiparty session types. In International Conference on Concurrency Theory (CONCUR'14) (LNCS), Paolo Baldan and Daniele Gorla (Eds.), Vol. 8704. Springer, Rome, Italy, 419--434.Google ScholarGoogle ScholarCross RefCross Ref
  14. Eduardo Bonelli, Adriana Compagnoni, and Elsa Gunter. 2005. Correspondence assertions for process synchronization in concurrent communications. Journal of Functional Programming 15, 2 (2005), 219--248. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Eduardo Bonelli and Adriana B. Compagnoni. 2007. Multipoint session types for a distributed calculus. In Trustworthy Global Computing (TGC'07) (LNCS), Vol. 4912. Springer, Sophia-Antipolis, France, 240--256. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. BPMNC 2012. Business Process Model and Notation 2.0 Choreography. Retrieved from http://en.bpmn-community.org/tutorials/34/.Google ScholarGoogle Scholar
  17. Daniel Brand and Pitro Zafiropulo. 1983. On communicating finite-state machines. Journal of the ACM 30 (April 1983), 323--342. Issue 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Mario Bravetti and Gianluigi Zavattaro. 2007. Towards a unifying theory for choreography conformance and contract compliance. In Software Composition (LNCS), Vol. 4829. Springer, Braga, Portugal, 34--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Roberto Bruni, Ivan Lanese, Hernan Melgratti, and Emilio Tuosto. 2008. Multiparty sessions in SOC. In Coordination Models and Languages (COORDINATION'08) (LNCS), Vol. 5052. Springer, Oslo, Norway, 67--82. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Luís Caires and Frank Pfenning. 2010. Session types as intuitionistic linear propositions. In International Conference on Concurrency Theory (CONCUR'10) (LNCS), Vol. 6269. Springer, Paris, France, 222--236. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Luís Caires and Hugo Torres Vieira. 2010. Conversation types. Theoretical Computer Science 411, 51--52 (2010), 4399--4440. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Sara Capecchi, Ilaria Castellani, and Mariangiola Dezani-Ciancaglini. 2014. Typing access control and secure information flow in sessions. Information and Computation 238 (2014), 68--105. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Sara Capecchi, Ilaria Castellani, and Mariangiola Dezani-Ciancaglini. 2015. Information flow safety in multiparty sessions. To appear.Google ScholarGoogle Scholar
  24. Sara Capecchi, Ilaria Castellani, Mariangiola Dezani-Ciancaglini, and Tamara Rezk. 2010. Session types for access and information flow control. In International Conference on Concurrency Theory (CONCUR'10) (LNCS), Vol. 6269. Springer, Paris, France, 237--252. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Sara Capecchi, Elena Giachino, and Nobuko Yoshida. 2016. Global escape in multiparty sessions. Mathematical Structures in Computer Science 26, 2 (2016), 156--205.Google ScholarGoogle ScholarCross RefCross Ref
  26. Marco Carbone and Joshua Guttman. 2009a. Choreographies with Secure Boxes and Compromised Principals. In Proceedings of the 2nd Interaction and Concurrency Experience - Structured Interactions (ICE'09) (EPTCS), Vol. 12. Bologna, Italy, 1--16.Google ScholarGoogle ScholarCross RefCross Ref
  27. Marco Carbone and Joshua Guttman. 2009b. Execution models for choreographies and cryptoprotocols. In Proceedings of the 2nd Workshop on Programming Language Approaches to Concurrency and Communication-cEntric Software (PLACES'09) (EPTCS), Vol. 17. York, UK, 31--42.Google ScholarGoogle Scholar
  28. Marco Carbone, Kohei Honda, and Nobuko Yoshida. 2007. Structured communication-centred programming for web services. In European Symposium on Programming (ESOP'07) (LNCS), Vol. 4421. Springer, Braga, Portugal, 2--17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Marco Carbone, Kohei Honda, and Nobuko Yoshida. 2008. Structured interactional exceptions in session types. In International Conference on Concurrency Theory (CONCUR'08) (LNCS), Franck van Breugel and Marsha Chechik (Eds.), Vol. 5201. Springer, Toronto, Canada, 402--417. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Marco Carbone, Kohei Honda, and Nobuko Yoshida. 2012. Structured communication-centered programming for web services. ACM Transactions on Programming Languages and Systems 34, 2 (2012), 8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Marco Carbone, Kohei Honda, Nobuko Yoshida, Robin Milner, Gary Brown, and Steve Ross-Talbot. 2006. A Theoretical Basis of Communication-Centred Concurrent Programming. Retrieved from http://www.w3.org/2002/ws/chor/.Google ScholarGoogle Scholar
  32. Marco Carbone and Fabrizio Montesi. 2013. Deadlock-freedom-by-design: Multiparty asynchronous global programming. In Symposium on Principles of Programming Languages (POPL'13), Roberto Giacobazzi and Radhia Cousot (Eds.). ACM, Rome, Italy, 263--274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Marco Carbone, Fabrizio Montesi, Carsten Schrmann, and Nobuko Yoshida. 2015. Multiparty session types as coherence proofs. In International Conference on Concurrency Theory (CONCUR'15) (LIPIcs), Vol. 42. Schloss Dagstuhl, Madrid, Spain, 412--426.Google ScholarGoogle Scholar
  34. Giuseppe Castagna, Mariangiola Dezani-Ciancaglini, and Luca Padovani. 2011. On global types and multi-party sessions. In International Conference on Formal Methods for Open Object-based Distributed Systems (FMOODS/FORTE) (LNCS), Vol. 6722. Springer, Reykjavik, Iceland, 1--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Giuseppe Castagna, Mariangiola Dezani-Ciancaglini, and Luca Padovani. 2012. On global types and multi-party session. Logical Methods in Computer Science 8, 1 (2012), 24.Google ScholarGoogle ScholarCross RefCross Ref
  36. Giuseppe Castagna and Luca Padovani. 2009. Contracts for mobile processes. In International Conference on Concurrency Theory (CONCUR'09) (LNCS). Springer, Bologna, Italy, 211--228. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Tzu-Chun Chen, Laura Bocchi, Pierre-Malo Deniélou, Kohei Honda, and Nobuko Yoshida. 2012. Asynchronous distributed monitoring for multiparty session enforcement. In Trustworthy Global Computing (TGC'11) (LNCS), Roberto Bruni and Vladimiro Sassone (Eds.), Vol. 7173. Springer, Newcastle upon Tyne, UK, 25--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Tzu-Chun Chen and Kohei Honda. 2012. Specifying stateful asynchronous properties for distributed programs. In International Conference on Concurrency Theory (CONCUR'12) (LNCS), Maciej Koutny and Irek Ulidowski (Eds.), Vol. 7454. Springer, Newcastle upon Tyne, UK, 209--224. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Mario Coppo, Mariangiola Dezani-Ciancaglini, Luca Padovani, and Nobuko Yoshida. 2013. Inference of global progress properties for dynamically interleaved multiparty sessions. In Coordination Models and Languages (COORDINATION'13) (LNCS), Rocco De Nicola and Christine Julien (Eds.), Vol. 7890. Springer, Florence, Italy, 45--59.Google ScholarGoogle Scholar
  40. Mario Coppo, Mariangiola Dezani-Ciancaglini, Luca Padovani, and Nobuko Yoshida. 2015a. A gentle introduction to multiparty asynchronous session types. In SFM-15:MP (LNCS), Vol. 9104. Springer, Bertinoro, Italy, 146--178.Google ScholarGoogle Scholar
  41. Mario Coppo, Mariangiola Dezani-Ciancaglini, and Betti Venneri. 2014. Self-adaptive multiparty sessions. Service Oriented Computing and Applications 9, 3--4 (2014), 249--268. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Mario Coppo, Mariangiola Dezani-Ciancaglini, and Nobuko Yoshida. 2007. Asynchronous session types and progress for object-oriented languages. In IFIP International Conference on Formal Methods for Open Object-based Distributed Systems (FMOODS'07) (LNCS), Vol. 4468. Springer, Paphos, Cyprus, 1--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Mario Coppo, Mariangiola Dezani-Ciancaglini, Nobuko Yoshida, and Luca Padovani. 2015b. Global progress for dynamically interleaved multiparty sessions. Mathematical Structures in Computer Science 26, 2 (2015), 238--302.Google ScholarGoogle ScholarCross RefCross Ref
  44. Mila Dalla Preda, Saverio Giallorenzo, Ivan Lanese, Jacopo Mauro, and Maurizio Gabbrielli. 2014. AIOCJ: A choreographic framework for safe adaptive distributed applications. In International Conference on Software Language Engineering (SLE'14) (LNCS), Benoît Combemale, David J. Pearce, Olivier Barais, and Jurgen J. Vinju (Eds.), Vol. 8706. Springer, Västerås, Sweden, 161--170.Google ScholarGoogle Scholar
  45. Ornela Dardha, Elena Giachino, and Davide Sangiorgi. 2012. Session types revisited. In International Symposium on Principles and Practice of Declarative Programming (PPDP'12), Danny De Schreye, Gerda Janssens, and Andy King (Eds.). ACM Press, Leuven, Belgium, 139--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Romain Demangeon and Kohei Honda. 2012. Nested protocols in session types. In International Conference on Concurrency Theory (CONCUR'12) (LNCS), Maciej Koutny and Irek Ulidowski (Eds.), Vol. 7454. Springer, Newcastle upon Tyne, UK, 272--286. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Romain Demangeon, Kohei Honda, Raymond Hu, Rumyana Neykova, and Nobuko Yoshida. 2015. Practical interruptible conversations: Distributed dynamic verification with multiparty session types and Python. Formal Methods in System Design 46, 3 (2015), 197--225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Pierre-Malo Deniélou and Nobuko Yoshida. 2010. Buffered communication analysis in distributed multiparty sessions. In International Conference on Concurrency Theory (CONCUR'10) (LNCS), Vol. 6269. Springer, Paris, France, 343--357. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Pierre-Malo Deniélou and Nobuko Yoshida. 2011. Dynamic multirole session types. In Symposium on Principles of Programming Languages (POPL'11). ACM, Austin, USA, 435--446. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Pierre-Malo Deniélou and Nobuko Yoshida. 2012. Multiparty session types meet communicating automata. In European Symposium on Programming (ESOP'12) (LNCS), Helmut Seidl (Ed.), Vol. 7211. Springer, Tallin, Estonia, 194--213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Pierre-Malo Deniélou and Nobuko Yoshida. 2013. Multiparty compatibility in communicating automata: Characterisation and synthesis of global session types. In International Colloquium on Automata, Languages and Programming (ICALP'13) (LNCS), Fedor V. Fomin, Rusins Freivalds, Marta Z. Kwiatkowska, and David Peleg (Eds.), Vol. 7966. Springer, Riga, Latvia, 174--186. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Pierre-Malo Deniélou, Nobuko Yoshida, Andi Bejleri, and Raymond Hu. 2012. Parameterised multiparty session types. Logical Methods in Computer Science 8, 4 (2012).Google ScholarGoogle Scholar
  53. Mariangiola Dezani-Ciancaglini and Ugo de'Liguoro. 2010. Sessions and session types: An overview. In International Workshop on Web Services and Formal Methods (WS-FM'09) (LNCS), Cosimo Laneve and Jianwen Su (Eds.), Vol. 6194. Springer, Bologna, Italy, 1--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Mariangiola Dezani-Ciancaglini, Ugo de'Liguoro, and Nobuko Yoshida. 2007. On progress for structured communications. In Trustworthy Global Computing (TGC'07) (LNCS), Vol. 4912. Springer, Sophia-Antipolis, France, 257--275. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Mariangiola Dezani-Ciancaglini, Sophia Drossopoulou, Dimitris Mostrous, and Nobuko Yoshida. 2009. Objects and session types. Information and Computation 207, 5 (2009), 595--641. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Mariangiola Dezani-Ciancaglini, Dimitris Mostrous, Nobuko Yoshida, and Sophia Drossopoulou. 2006. Session types for object-oriented languages. In European Conference on Object-Oriented Programming (ECOOP'06) (LNCS), Vol. 4067. Springer, Nantes, France, 328--352. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Manuel Fähndrich, Mark Aiken, Chris Hawblitzel, Orion Hodson, Galen C. Hunt, James R. Larus, and Steven Levi. 2006. Language support for fast and reliable message-based communication in singularity OS. In EuroSys2006 (ACM SIGOPS). ACM Press, Leuven, Belgium, 177--190.Google ScholarGoogle Scholar
  58. Luca Fossati, Raymond Hu, and Nobuko Yoshida. 2014. Multiparty session nets. In Trustworthy Global Computing (TGC'14) (LNCS), Matteo Maffei and Emilio Tuosto (Eds.), Vol. 8902. Springer, Rome, Italy, 112--127.Google ScholarGoogle Scholar
  59. Pablo Garralda, Adriana Compagnoni, and Mariangiola Dezani-Ciancaglini. 2006. BASS: Boxed ambients with safe sessions. In International Symposium on Principles and Practice of Declarative Programming (PPDP'06). ACM Press, Venice, Italy, 61--72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Simon Gay. 2008. Bounded polymorphism in session types. MSCS 18 (2008), 895--930.Google ScholarGoogle Scholar
  61. Simon Gay and Malcolm Hole. 2005. Subtyping for Session Types in the Pi-Calculus. Acta Informatica 42, 2/3 (2005), 191--225. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Simon Gay and Vasco T. Vasconcelos. 2009. Linear type theory for asynchronous session types. Journal of Functional Programming (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Simon Gay, Vasco T. Vasconcelos, António Ravara, Nils Gesbert, and Alexandre Z. Caldeira. 2010. Modular session types for distributed object-oriented programming. In Symposium on Principles of Programming Languages (POPL'10). ACM, Madrid, Spain, 299--312. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Jean-Yves Girard. 1987. Linear logic. Theoretical Computer Science 50 (1987), 1--102. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Matthew Hennessy. 2007. A Distributed Pi-Calculus. Cambridge University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Anders Henriksen, Lasse Nielsen, Thomas Hildebrandt, Nobuko Yoshida, and Fritz Henglein. 2013. Trustworthy pervasive healthcare services via multi-party session type. In Foundations of Health Information Engineering and Systems (FHIES'12) (LNCS), Jens Weber and Isabelle Perseil (Eds.), Vol. 7789. Paris, France, 124--141.Google ScholarGoogle Scholar
  67. Kohei Honda. 1993. Types for dyadic interaction. In International Conference on Concurrency Theory (CONCUR'93) (LNCS), Eike Best (Ed.), Vol. 715. Springer-Verlag, Hildesheim, Germany, 509--523. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Kohei Honda, Raymond Hu, Rumyana Neykova, Tzu-Chun Chen, Romain Demangeon, Pierre-Malo Deniélou, and Nobuko Yoshida. 2014. Structuring communication with session types. In Concurrent Objects and Beyond (COB'14) (LNCS), Gul A. Agha, Atsushi Igarashi, Naoki Kobayashi, Hidehiko Masuhara, Satoshi Matsuoka, Etsuya Shibayama, and Kenjiro Taura (Eds.), Vol. 8665. Springer, 105--127.Google ScholarGoogle Scholar
  69. Kohei Honda, Aybek Mukhamedov, Gary Brown, Tzu-Chun Chen, and Nobuko Yoshida. 2011. Scribbling interactions with a formal foundation. In International Conference on Distributed Computing and Internet Technology (ICDCIT'11) (LNCS), Raja Natarajan and Adegboyega K. Ojo (Eds.), Vol. 6536. Springer, Bhubaneswar, India, 55--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Kohei Honda and Mario Tokoro. 1991. An object calculus for asynchronous communication. In European Conference on Object-Oriented Programming (ECOOP'91), Vol. 512. Geneva, Switzerland, 133--147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Kohei Honda, Vasco T. Vasconcelos, and Makoto Kubo. 1998. Language primitives and type disciplines for structured communication-based programming. In European Symposium on Programming (ESOP'98) (LNCS), Vol. 1381. Springer-Verlag, Lisbon, Portugal, 22--138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2007. Web services, mobile processes and types. The Bulletin of the European Association for Theoretical Computer Science. February, 91 (2007), 165--185.Google ScholarGoogle Scholar
  73. Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008a. Multiparty asynchronous session types. In Symposium on Principles of Programming Languages (POPL'08). ACM, San Francisco, USA, 273--284. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008b. Multiparty Asynchronous Session Types. (2008). Web page. http://www.doc.ic.ac.uk/∼yoshida/multiparty.Google ScholarGoogle Scholar
  75. Raymond Hu, Dimitrious Kouzapas, Oliver Pernet, Nobuko Yoshida, and Kohei Honda. 2010. Type-safe eventful sessions in Java. In European Conference on Object-Oriented Programming (ECOOP'10) (LNCS), Vol. 6183. Springer, Maribor, Slovenia, 329--353. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Raymond Hu, Rumyana Neykova, Nobuko Yoshida, and Romain Demangeon. 2013. Practical interruptible conversations: Distributed dynamic verification with session types and python. In Runtime Verification (RV'13) (LNCS), Axel Legay and Saddek Bensalem (Eds.), Vol. 8174. Springer, Rennes, France, 148--130.Google ScholarGoogle Scholar
  77. Raymond Hu, Nobuko Yoshida, and Kohei Honda. 2008. Session-based distributed programming in Java. In European Conference on Object-Oriented Programming (ECOOP'08), Jan Vitek (Ed.), Vol. 5142. Springer, Paphos, Cyprus, 516--541. Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. Atsushi Igarashi and Naoki Kobayashi. 2004. A generic type system for the Pi-calculus. Theoretical Computer Science 311, 1--3 (2004), 121--163. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. International Telecommunication Union. 1996. Recommendation Z.120: Message Sequence Chart. (1996).Google ScholarGoogle Scholar
  80. Naoki Kobayashi. 2006. A new type system for deadlock-free processes. In International Conference on Concurrency Theory (CONCUR'06) (LNCS), Vol. 4137. Bonn, Germany, 233--247. Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. Dimitrios Kouzapas, Jorge A. Perez, and Nobuko Yoshida. 2015. Characteristic bisimulations for higher-order session processes. In International Conference on Concurrency Theory (CONCUR'15) (LIPIcs), Vol. 42. Schloss Dagstuhl, Madrid, Spain, 398--411.Google ScholarGoogle Scholar
  82. Dimitrios Kouzapas and Nobuko Yoshida. 2014. Globally governed session semantics. Logical Methods in Computer Science 10, 4 (2014).Google ScholarGoogle Scholar
  83. Dimitrios Kouzapas, Nobuko Yoshida, Raymond Hu, and Kohei Honda. 2016. On asynchronous eventful session semantics. Mathematical Structures in Computer Science 26, 2 (2016), 303--364.Google ScholarGoogle ScholarCross RefCross Ref
  84. Pavel Krcál and Wang Yi. 2006. Communicating timed automata: The more synchronous, the more difficult to verify. In Computer Aided Verification (CAV'06) (LNCS), Vol. 4144. Springer, Seattle, USA, 249--262. Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Leslie Lamport. 1978. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM 21, 7 (July 1978), 558--564. Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Julien Lange and Emilio Tuosto. 2012. Synthesising choreographies from local session types. In International Conference on Concurrency Theory (CONCUR'12) (LNCS), Maciej Koutny and Irek Ulidowski (Eds.), Vol. 7454. Springer, Newcastle upon Tyne, UK, 225--239. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. Julien Lange, Emilio Tuosto, and Nobuko Yoshida. 2015. From communicating machines to graphical choreographies. In Symposium on Principles of Programming Languages (POPL'15), Sriram K. Rajamani and David Walker (Eds.). ACM Press, Mumbai, India, 221--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. Massimo Merro. 2007. An observational theory for mobile Ad hoc networks. In Electronic Notes in Theoretical Computer Science, Vol. 172. Elsevier, 275--293. Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. Nicola Mezzetti and Davide Sangiorgi. 2006. Towards a calculus for wireless systems. In Electronic Notes in Theoretical Computer Science, Vol. 158. Elsevier, 331--353. Google ScholarGoogle ScholarDigital LibraryDigital Library
  90. Leonardo Gaetano Mezzina. 2008. How to infer finite session types in a calculus of services and sessions. In Coordination Models and Languages (COORDINATION'08) (LNCS), Vol. 5052. Springer, Oslo, Norway, 216--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. Fabrizio Montesi and Nobuko Yoshida. 2013. Compositional choreographies. In International Conference on Concurrency Theory (CONCUR'13) (LNCS), Pedro R. D'Argenio and Hernán C. Melgratti (Eds.), Vol. 8052. Springer, Buenos Aires, Argentina, 439--425. Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. Dimitris Mostrous and Nobuko Yoshida. 2007. Two session typing systems for higher-order mobile processes. In Typed Lambda Calculi and Applications (TLCA'07) (LNCS), Vol. 4583. Springer, Paris, France, 321--335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  93. Dimitris Mostrous and Nobuko Yoshida. 2009. Session-based communication optimisation for higher-order mobile processes. In Typed Lambda Calculi and Applications, 9th International Conference, TLCA 2009 (LNCS), Pierre-Louis Curien (Ed.), Vol. 5608. Springer, Brasilia, Brazil, 203--218. Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. Dimitris Mostrous, Nobuko Yoshida, and Kohei Honda. 2009. Global principal typing in partially commutative asynchronous sessions. In European Symposium on Programming (ESOP'09) (LNCS), Vol. 5502. Springer, York, UK, 316--332. Google ScholarGoogle ScholarDigital LibraryDigital Library
  95. Sebastian Nanz, Flemming Nielson, and Hanne Riis Nielson. 2007. Topology-dependent abstractions of broadcast networks. In International Conference on Concurrency Theory (CONCUR'07). Lisbon, Portugal, 226--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  96. Matthias Neubauer and Peter Thiemann. 2004a. An implementation of session types. In Practical Aspects of Declarative Languages (PADL'04) (LNCS), Vol. 3057. Springer, Dallas, USA, 56--70.Google ScholarGoogle Scholar
  97. Matthias Neubauer and Peter Thiemann. 2004b. Session Types for Asynchronous Communication. (2004). Universität Freiburg.Google ScholarGoogle Scholar
  98. Rumyana Neykova, Laura Bocchi, and Nobuko Yoshida. 2014. Timed runtime monitoring for multiparty conversations. In Workshop on Behavioural Types (BEAT'14) (EPTCS), Marco Carbone (Ed.), Vol. 162. Rome, Italy, 19--26.Google ScholarGoogle ScholarCross RefCross Ref
  99. Rumyana Neykova and Nobuko Yoshida. 2014. Multiparty session actors. In Coordination Models and Languages (COORDINATION'14) (LNCS), Eva Kühn and Rosario Pugliese (Eds.), Vol. 8459. Springer, Berlin, Germany, 131--146.Google ScholarGoogle Scholar
  100. Rumyana Neykova, Nobuko Yoshida, and Raymond Hu. 2013. SPY: Local verification of global protocols. In Runtime Verification (RV'13) (LNCS), Axel Legay and Saddek Bensalem (Eds.), Vol. 8174. Springer, Rennes, France, 363--358.Google ScholarGoogle Scholar
  101. Nicholas Ng, Jose G. F. Coutinho, and Nobuko Yoshida. 2015. Protocols by default: Safe MPI code generation based on session types. In Compiler Construction (CC'15) (LNCS). Björn Franke (Ed.). Springer, London, UK, 212--232.Google ScholarGoogle Scholar
  102. Nicholas Ng and Nobuko Yoshida. 2014. Pabble: Parameterised scribble. Service Oriented Computing and Applications 9, 3--4 (2014), 1--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  103. Nicholas Ng, Nobuko Yoshida, and Kohei Honda. 2012. Multiparty session C: Safe parallel programming with message optimisation. In TOOLS'12 (LNCS), Carlo A. Furia and Sebastian Nanz (Eds.), Vol. 7304. Springer, Prague, Czech Republic, 202--218. Google ScholarGoogle ScholarDigital LibraryDigital Library
  104. Nicholas Ng, Nobuko Yoshida, and Wayne Luk. 2013. Scalable session programming for heterogeneous high-performance systems. In International Conference on Software Engineering and Formal Methods (SEFM'13) (LNCS), Steve Counsell and Manuel Núñez (Eds.), Vol. 8368. Springer, Madrid, Spain, 82--98. Google ScholarGoogle ScholarDigital LibraryDigital Library
  105. Nicholas Ng, Nobuko Yoshida, Xin Yu Niu, Kuen Hung Tsoi, and Wayne Luk. 2012. Session types: Towards safe and fast reconfigurable programming. SIGARCH CAN 40, 5 (2012), 22--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  106. Nicholas Ng, Nobuko Yoshida, Olivier Pernet, Raymond Hu, and Yiannos Kryftis. 2011. Safe parallel programming with session Java. In Coordination Models and Language (COORDINATION'11) (LNCS), Vol. 6721. Springer, Reykjavik, Iceland, 110--126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  107. Lasse Nielsen, Nobuko Yoshida, and Kohei Honda. 2010. Multiparty symmetric sum types. In Expressiveness in Concurrency (EXPRESS'10) (EPTCS), Vol. 41. Paris, France, 121--135.Google ScholarGoogle Scholar
  108. OOI. 2015. Ocean Observatories Initiative. Retrieved from http://www.oceanleadership.org/programs-and-partnerships/ocean-observing/ooi/.Google ScholarGoogle Scholar
  109. Luca Padovani. 2014a. Deadlock and lock freedom in the linear π-calculus. In Computer Science Logic and Logic in Computer Science (CSL-LICS'14), Thomas A. Henzinger and Dale Miller (Eds.). ACM Press, Vienna, Austria, 72:1--72:10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  110. Luca Padovani. 2014b. Fair subtyping for multi-party session types. Mathematical Structures in Computer Science (2014), 1--41.Google ScholarGoogle Scholar
  111. B. Pierce and D. Sangiorgi. 1996. Typing and subtyping for mobile processes. Journal of Mathematical Structures in Computer Science 6, 5 (1996), 409--454.Google ScholarGoogle ScholarCross RefCross Ref
  112. Benjamin C. Pierce. 2002. Types and Programming Languages. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  113. Jérémy Planul, Ricardo Corin, and Cédric Fournet. 2009. Secure enforcement for global process specifications. In International Conference on Concurrency Theory (CONCUR'09) (LNCS), Mario Bravetti and Gianluigi Zavattaro (Eds.), Vol. 5710. Springer, Bologna, Italy, 511--526. Google ScholarGoogle ScholarDigital LibraryDigital Library
  114. K. V. S. Prasad. 2001. Broadcast calculus interpreted in CCS upto bisimulation. In Electronic Notes in Theoretical Computer Science 52, 1, 83--100.Google ScholarGoogle ScholarCross RefCross Ref
  115. K. V. S. Prasad. 2006. A prospectus for mobile broadcasting systems. In Electronic Notes in Theoretical Computer Science 162, 1, 295--300.Google ScholarGoogle ScholarCross RefCross Ref
  116. Riccardo Pucella and Jesse Tov. 2008. Haskell session types with (almost) no class. In Haskell Symposium (Haskell'08). ACM SIGPLAN, Victoria, Canada. Google ScholarGoogle ScholarDigital LibraryDigital Library
  117. Matthew Sackman and Susan Eisenbach. 2008. Session Types in Haskell. draft.Google ScholarGoogle Scholar
  118. SAVARA. 2010. SAVARA JBoss Project. Retrieved from http://www.jboss.org/savara.Google ScholarGoogle Scholar
  119. Bruce Schneier. 1993. Applied Cryptography: Protocols, Algorithms, and Source Code in C. John Wiley & Sons, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  120. Scribble. 2008. Scribble Project. Retrieved from www.scribble.org.Google ScholarGoogle Scholar
  121. K. C. Sivaramakrishnan, Karthik Nagaraj, Lukasz Ziarek, and Patrick Eugster. 2010. Efficient session type guided distributed interaction. In Coordination Models and Languages (COORDINATION'10) (LNCS), Vol. 6116. Springer, Amsterdam, Holland, 152--167. Google ScholarGoogle ScholarDigital LibraryDigital Library
  122. Stephen Sparkes. 2006. Conversation with steve ross-talbot. ACM Queue 4, 2 (March 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  123. Nikhil Swamy, Juan Chen, Cédric Fournet, Pierre-Yves Strub, Karthikeyan Bhargavan, and Jean Yang. 2011. Secure distributed programming with value-dependent types. In International Conference on Functional Programming (ICFP'11). IEEE, Tokyo, Japan, 266--278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  124. Kaku Takeuchi, Kohei Honda, and Makoto Kubo. 1994. An interaction-based language and its typing system. In Parallel Architectures and Languages Europe (PARLE'94) (LNCS), Vol. 817. Springer-Verlag, Athens, Greece, 398--413. Google ScholarGoogle ScholarDigital LibraryDigital Library
  125. F. Javier Thayer, Jonathan C. Herzog, and Joshua D. Guttman. 1999. Strand spaces: Proving security protocols correct. Journal of Computer Security 7, 2/3 (1999), 191--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  126. Vasco T. Vasconcelos, Simon Gay, and António Ravara. 2006. Typechecking a multithreaded functional language with session types. Theoretical Computer Science 368, 1--2 (2006), 64--87. Google ScholarGoogle ScholarDigital LibraryDigital Library
  127. Hugo Torres Vieira, Luís Caires, and João Costa Seco. 2008. The conversation calculus: A model of service-oriented computation. In European Symposium on Programming (ESOP'08) (LNCS), Vol. 4960. Springer, Budapest, Hungary, 269--283. Google ScholarGoogle ScholarDigital LibraryDigital Library
  128. Jules Villard. 2011. Heaps and Hops. Ph.D. Dissertation. ENS Cachan.Google ScholarGoogle Scholar
  129. Phil Wadler. 2012. Proposition as sessions. In International Conference on Functional Programming (ICFP'12). IEEE, Copenhagen, Denmark, 273--286. Google ScholarGoogle ScholarDigital LibraryDigital Library
  130. WS-CDL. 2003. Web Services Choreography Working Group. http://www.w3.org/2002/ws/chor/. (2003).Google ScholarGoogle Scholar
  131. Nobuko Yoshida. 1996. Graph types for monadic mobile processes. In Foundations of Software Technology and Theoretical Computer Science (FSTTCS'96) (LNCS), Vol. 1180. Springer, Hyderabad, India, 371--386. Google ScholarGoogle ScholarDigital LibraryDigital Library
  132. Nobuko Yoshida, Martin Berger, and Kohei Honda. 2001. Strong normalisation in the π-Calculus. In Proc. LICS'01. IEEE, 311--322. The full version in Journal of Information and Computation, 191 (2004), 145--202, Elsevier. Google ScholarGoogle ScholarDigital LibraryDigital Library
  133. Nobuko Yoshida, Raymond Hu, Rumyana Neykova, and Nicholas Ng. 2013. The scribble protocol language. In Trustworthy Global Computing (TGC'13) (LNCS), Martín Abadi and Alberto Lluch-Lafuente (Eds.), Vol. 8358. Springer, Buenos Aires, Argentina, 22--41.Google ScholarGoogle Scholar
  134. Nobuko Yoshida and Vasco Thudichum Vasconcelos. 2007. Language primitives and type discipline for structured communication-based programming revisited: Two systems for higher-order session communication. Electronic Notes on Theoretical Computer Science 171, 4 (2007), 73--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  135. Nobuko Yoshida, Vasco Thudichum Vasconcelos, Hervé Paulino, and Kohei Honda. 2008. Session-based compilation framework for multicore programming. In International Symposium on Formal Methods for Components and Objects (FMCO'08) (LNCS), Frank S. de Boer, Marcello M. Bonsangue, and Eric Madelain (Eds.), Vol. 5751. Springer, Sophia Antipolis, France, 226--246.Google ScholarGoogle Scholar
  136. ZDLC. 2015. Zero Deviation Lifecycle. Retrieved from http://www.zdlc.co.Google ScholarGoogle Scholar

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

                  • Published in

                    cover image Journal of the ACM
                    Journal of the ACM  Volume 63, Issue 1
                    March 2016
                    353 pages
                    ISSN:0004-5411
                    EISSN:1557-735X
                    DOI:10.1145/2893450
                    Issue’s Table of Contents

                    Copyright © 2016 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: 3 March 2016
                    • Accepted: 1 September 2015
                    • Revised: 1 February 2013
                    • Received: 1 January 2009
                    Published in jacm Volume 63, Issue 1

                    Permissions

                    Request permissions about this article.

                    Request Permissions

                    Check for updates

                    Qualifiers

                    • research-article
                    • Research
                    • Refereed

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader