Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Multiparty Asynchronous Session Types

Published: 03 March 2016 Publication History

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/.
[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.
[3]
Apims 2014. Apims. (2014). http://thelas.dk/index.php?title=Apims.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[16]
BPMNC 2012. Business Process Model and Notation 2.0 Choreography. Retrieved from http://en.bpmn-community.org/tutorials/34/.
[17]
Daniel Brand and Pitro Zafiropulo. 1983. On communicating finite-state machines. Journal of the ACM 30 (April 1983), 323--342. Issue 2.
[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.
[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.
[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.
[21]
Luís Caires and Hugo Torres Vieira. 2010. Conversation types. Theoretical Computer Science 411, 51--52 (2010), 4399--4440.
[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.
[23]
Sara Capecchi, Ilaria Castellani, and Mariangiola Dezani-Ciancaglini. 2015. Information flow safety in multiparty sessions. To appear.
[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.
[25]
Sara Capecchi, Elena Giachino, and Nobuko Yoshida. 2016. Global escape in multiparty sessions. Mathematical Structures in Computer Science 26, 2 (2016), 156--205.
[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.
[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.
[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.
[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.
[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.
[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/.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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).
[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.
[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.
[55]
Mariangiola Dezani-Ciancaglini, Sophia Drossopoulou, Dimitris Mostrous, and Nobuko Yoshida. 2009. Objects and session types. Information and Computation 207, 5 (2009), 595--641.
[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.
[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.
[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.
[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.
[60]
Simon Gay. 2008. Bounded polymorphism in session types. MSCS 18 (2008), 895--930.
[61]
Simon Gay and Malcolm Hole. 2005. Subtyping for Session Types in the Pi-Calculus. Acta Informatica 42, 2/3 (2005), 191--225.
[62]
Simon Gay and Vasco T. Vasconcelos. 2009. Linear type theory for asynchronous session types. Journal of Functional Programming (2009).
[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.
[64]
Jean-Yves Girard. 1987. Linear logic. Theoretical Computer Science 50 (1987), 1--102.
[65]
Matthew Hennessy. 2007. A Distributed Pi-Calculus. Cambridge University Press.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[74]
Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008b. Multiparty Asynchronous Session Types. (2008). Web page. http://www.doc.ic.ac.uk/∼yoshida/multiparty.
[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.
[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.
[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.
[78]
Atsushi Igarashi and Naoki Kobayashi. 2004. A generic type system for the Pi-calculus. Theoretical Computer Science 311, 1--3 (2004), 121--163.
[79]
International Telecommunication Union. 1996. Recommendation Z.120: Message Sequence Chart. (1996).
[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.
[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.
[82]
Dimitrios Kouzapas and Nobuko Yoshida. 2014. Globally governed session semantics. Logical Methods in Computer Science 10, 4 (2014).
[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.
[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.
[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.
[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.
[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.
[88]
Massimo Merro. 2007. An observational theory for mobile Ad hoc networks. In Electronic Notes in Theoretical Computer Science, Vol. 172. Elsevier, 275--293.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[97]
Matthias Neubauer and Peter Thiemann. 2004b. Session Types for Asynchronous Communication. (2004). Universität Freiburg.
[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.
[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.
[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.
[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.
[102]
Nicholas Ng and Nobuko Yoshida. 2014. Pabble: Parameterised scribble. Service Oriented Computing and Applications 9, 3--4 (2014), 1--16.
[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.
[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.
[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.
[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.
[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.
[108]
OOI. 2015. Ocean Observatories Initiative. Retrieved from http://www.oceanleadership.org/programs-and-partnerships/ocean-observing/ooi/.
[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.
[110]
Luca Padovani. 2014b. Fair subtyping for multi-party session types. Mathematical Structures in Computer Science (2014), 1--41.
[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.
[112]
Benjamin C. Pierce. 2002. Types and Programming Languages. MIT Press.
[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.
[114]
K. V. S. Prasad. 2001. Broadcast calculus interpreted in CCS upto bisimulation. In Electronic Notes in Theoretical Computer Science 52, 1, 83--100.
[115]
K. V. S. Prasad. 2006. A prospectus for mobile broadcasting systems. In Electronic Notes in Theoretical Computer Science 162, 1, 295--300.
[116]
Riccardo Pucella and Jesse Tov. 2008. Haskell session types with (almost) no class. In Haskell Symposium (Haskell'08). ACM SIGPLAN, Victoria, Canada.
[117]
Matthew Sackman and Susan Eisenbach. 2008. Session Types in Haskell. draft.
[118]
SAVARA. 2010. SAVARA JBoss Project. Retrieved from http://www.jboss.org/savara.
[119]
Bruce Schneier. 1993. Applied Cryptography: Protocols, Algorithms, and Source Code in C. John Wiley & Sons, Inc.
[120]
Scribble. 2008. Scribble Project. Retrieved from www.scribble.org.
[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.
[122]
Stephen Sparkes. 2006. Conversation with steve ross-talbot. ACM Queue 4, 2 (March 2006).
[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.
[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.
[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.
[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.
[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.
[128]
Jules Villard. 2011. Heaps and Hops. Ph.D. Dissertation. ENS Cachan.
[129]
Phil Wadler. 2012. Proposition as sessions. In International Conference on Functional Programming (ICFP'12). IEEE, Copenhagen, Denmark, 273--286.
[130]
WS-CDL. 2003. Web Services Choreography Working Group. http://www.w3.org/2002/ws/chor/. (2003).
[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.
[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.
[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.
[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.
[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.
[136]
ZDLC. 2015. Zero Deviation Lifecycle. Retrieved from http://www.zdlc.co.

Cited By

View all
  • (2025)Top-Down or Bottom-Up? Complexity Analyses of Synchronous Multiparty Session TypesProceedings of the ACM on Programming Languages10.1145/37048729:POPL(1040-1071)Online publication date: 9-Jan-2025
  • (2025)Partially typed multiparty sessions with internal delegationJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2024.101018142(101018)Online publication date: Jan-2025
  • (2024)Safe Composition of Systems of Communicating Finite State MachinesElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.414.3414(39-57)Online publication date: 11-Dec-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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: 03 March 2016
Accepted: 01 September 2015
Revised: 01 February 2013
Received: 01 January 2009
Published in JACM Volume 63, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Session types
  2. global protocols
  3. global types
  4. progress
  5. projection
  6. the pi-calculus

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • EPSRC
  • the European Union
  • European Cooperation in Science and Technology

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)101
  • Downloads (Last 6 weeks)7
Reflects downloads up to 26 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Top-Down or Bottom-Up? Complexity Analyses of Synchronous Multiparty Session TypesProceedings of the ACM on Programming Languages10.1145/37048729:POPL(1040-1071)Online publication date: 9-Jan-2025
  • (2025)Partially typed multiparty sessions with internal delegationJournal of Logical and Algebraic Methods in Programming10.1016/j.jlamp.2024.101018142(101018)Online publication date: Jan-2025
  • (2024)Safe Composition of Systems of Communicating Finite State MachinesElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.414.3414(39-57)Online publication date: 11-Dec-2024
  • (2024)Partial Typing for Asynchronous Multiparty SessionsElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.408.1408(1-20)Online publication date: 1-Oct-2024
  • (2024)Towards a Semantic Characterisation of Global Type Well-formednessElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.401.2401(11-21)Online publication date: 6-Apr-2024
  • (2024)Multris: Functional Verification of Multiparty Message Passing in Separation LogicProceedings of the ACM on Programming Languages10.1145/36897628:OOPSLA2(1446-1474)Online publication date: 8-Oct-2024
  • (2024)On the Preciseness of Subtyping in Session Types: 10 Years LaterProceedings of the 26th International Symposium on Principles and Practice of Declarative Programming10.1145/3678232.3678258(1-3)Online publication date: 9-Sep-2024
  • (2024)A simple view of multiparty session typesProceedings of the 26th International Symposium on Principles and Practice of Declarative Programming10.1145/3678232.3678252(1-3)Online publication date: 9-Sep-2024
  • (2024)Un-projectable Global Types for Multiparty SessionsProceedings of the 26th International Symposium on Principles and Practice of Declarative Programming10.1145/3678232.3678245(1-13)Online publication date: 9-Sep-2024
  • (2024)Blame-Correct Support for Receiver Properties in Recursively-Structured Actor ContractsProceedings of the ACM on Programming Languages10.1145/36746438:ICFP(515-543)Online publication date: 15-Aug-2024
  • Show More Cited By

View Options

Login options

Full Access

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