skip to main content
research-article

Deadlock-freedom-by-design: multiparty asynchronous global programming

Published:23 January 2013Publication History
Skip Abstract Section

Abstract

Over the last decade, global descriptions have been successfully employed for the verification and implementation of communicating systems, respectively as protocol specifications and choreographies. In this work, we bring these two practices together by proposing a purely-global programming model. We show a novel interpretation of asynchrony and parallelism in a global setting and develop a typing discipline that verifies choreographies against protocol specifications, based on multiparty sessions. Exploiting the nature of global descriptions, our type system defines a new class of deadlock-free concurrent systems (deadlock-freedom-by-design), provides type inference, and supports session mobility. We give a notion of Endpoint Projection (EPP) which generates correct entity code (as pi-calculus terms) from a choreography. Finally, we evaluate our approach by providing a prototype implementation for a concrete programming language and by applying it to some examples from multicore and service-oriented programming.

Skip Supplemental Material Section

Supplemental Material

r1d2_talk5.mp4

mp4

172.3 MB

References

  1. BPMN. http://www.omg.org/spec/BPMN/2.0/.Google ScholarGoogle Scholar
  2. italianaSoftware. http://www.italianasoftware.com/.Google ScholarGoogle Scholar
  3. Jolie language. http://www.jolie-lang.org/.Google ScholarGoogle Scholar
  4. SOAP Specifications. http://www.w3.org/TR/soap/.Google ScholarGoogle Scholar
  5. WS-Addressing. http://www.w3.org/TR/ws-addr-core/.Google ScholarGoogle Scholar
  6. P. Baltazar, L. Caires, V. T. Vasconcelos, and H. T. Vieira. A Type System for Flexible Role Assignment in Multiparty Communicating Systems. In Proc. of TGC, 2012. To appear.Google ScholarGoogle Scholar
  7. L. Bettini, M. Coppo, L. D'Antoni, M. D. Luca, M. Dezani-Ciancaglini, and N. Yoshida. Global progress in dynamically interleaved multiparty sessions. In CONCUR, volume 5201 of LNCS, pages 418--433. Springer, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. Bhargavan, R. Corin, P.-M. Denielou, C. Fournet, and J. J. Leifer. Cryptographic protocol synthesis and verification for multiparty sessions. In Proc. of CSF, pages 124--140, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Briais and U. Nestmann. A formal semantics for protocol narrations. Theoretical Computer Science, 389(3):484--511, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. N. Busi, R. Gorrieri, C. Guidi, R. Lucchi, and G. Zavattaro. Choreography and orchestration conformance for system design. In Proc. of Coordination, volume 4038 of LNCS, pages 63--81. Springer-Verlag, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. L. Caires and H. T. Vieira. Conversation types. Theoretical Computer Science, 411(51-52):4399--4440, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. Caleiro, L. Vigan`o, and D. A. Basin. On the semantics of Alice & Bob specifications of security protocols. Theor. Comput. Sci., 367(1-2):88--122, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Carbone. Session-based choreography with exceptions. In Proc. of PLACES, volume 241, pages 35--55. ENTCS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. M. Carbone and F. Montesi. Typed multiparty global programming. Technical Report 149, IT University of Copenhagen, 2011. http://www.itu.dk/people/fabr/papers/multichor.Google ScholarGoogle Scholar
  15. M. Carbone, K. Honda, and N. Yoshida. Structured communicationcentred programming for web services. In Proc. of ESOP, volume 4421 of LNCS, pages 2--17. Springer-Verlag, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Chor. Programming Language. http://www.chor-lang.org/.Google ScholarGoogle Scholar
  17. P.-M. Deniélou and N. Yoshida. Dynamic multirole session types. In Proc. of POPL, pages 435--446. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P.-M. Deniélou and N. Yoshida. Multiparty session types meet communicating automata. In Proc. of ESOP, LNCS, pages 194--213. Springer-Verlag, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Eclipse. The Eclipse IDE. http://www.eclipse.org/.Google ScholarGoogle Scholar
  20. Enea. ENEA: Italian National agency for new technologies, Energy and sustainable economic development. http://www.enea.it/.Google ScholarGoogle Scholar
  21. X. Fu, T. Bultan, and J. Su. Realizability of conversation protocols with message contents. International Journal on Web Service Res., 2 (4):68--93, 2005.Google ScholarGoogle ScholarCross RefCross Ref
  22. K. Honda, N. Yoshida, and M. Carbone. Multiparty asynchronous session types. In Proc. of POPL, volume 43(1), pages 273--284. ACM, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. K. Honda, A. Mukhamedov, G. Brown, T.-C. Chen, and N. Yoshida. Scribbling interactions with a formal foundation. In Proc. of ICDCIT, volume 6536 of LNCS, pages 55--75. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. R. Hu, N. Yoshida, and K. Honda. Session-based distributed programming in java. In ECOOP, pages 516--541, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. International Telecommunication Union. Recommendation Z.120: Message Sequence Chart, 1996.Google ScholarGoogle Scholar
  26. I. Lanese, C. Guidi, F. Montesi, and G. Zavattaro. Bridging the gap between interaction- and process-oriented choreographies. In Proc. of SEFM, pages 323--332. IEEE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. Merro and D. Sangiorgi. On asynchrony in name-passing calculi. Mathematical Structures in Computer Science, 14(5):715--767, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. F. Montesi and M. Carbone. Programming services with correlation sets. In ICSOC, pages 125--141, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. F. Montesi, C. Guidi, and G. Zavattaro. Composing Services with JOLIE. In Proc. of ECOWS, pages 13--22, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. OASIS. Web Services Business Process Execution Language. http://docs.oasis-open.org/wsbpel/2.0/wsbpel-v2.0.html.Google ScholarGoogle Scholar
  31. OOI. Ocean Observatories. http://www.oceanobservatories.org.Google ScholarGoogle Scholar
  32. OpenID. Specifications. http://openid.net/developers/specs/.Google ScholarGoogle Scholar
  33. PI4SOA. http://www.pi4soa.org, 2008.Google ScholarGoogle Scholar
  34. B. C. Pierce. Types and Programming Languages. MIT Press, MA, USA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Qualit-E. Funded by Cognizant. http://www.cognizant.com/.Google ScholarGoogle Scholar
  36. Savara. JBoss Community. http://www.jboss.org/savara/.Google ScholarGoogle Scholar
  37. W3C WS-CDL Working Group. Web services choreography description language version 1.0. http://www.w3.org/TR/ws-cdl-10/, 2004.Google ScholarGoogle Scholar
  38. N. Yoshida, P.-M. Deniélou, A. Bejleri, and R. Hu. Parameterised multiparty session types. In FOSSACS'10, volume 6014 of LNCS, pages 128--145, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Deadlock-freedom-by-design: multiparty asynchronous global programming

        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 ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 48, Issue 1
          POPL '13
          January 2013
          561 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2480359
          Issue’s Table of Contents
          • cover image ACM Conferences
            POPL '13: Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
            January 2013
            586 pages
            ISBN:9781450318327
            DOI:10.1145/2429069

          Copyright © 2013 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: 23 January 2013

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader