skip to main content
research-article

Deciding choreography realizability

Published:25 January 2012Publication History
Skip Abstract Section

Abstract

Since software systems are becoming increasingly more concurrent and distributed, modeling and analysis of interactions among their components is a crucial problem. In several application domains, message-based communication is used as the interaction mechanism, and the communication contract among the components of the system is specified semantically as a state machine. In the service-oriented computing domain such communication contracts are called "choreography" specifications. A choreography specification identifies allowable ordering of message exchanges in a distributed system. A fundamental question about a choreography specification is determining its realizability, i.e., given a choreography specification, is it possible to build a distributed system that communicates exactly as the choreography specifies? Checking realizability of choreography specifications has been an open problem for several years and it was not known if this was a decidable problem. In this paper we give necessary and sufficient conditions for realizability of choreographies. We implemented the proposed realizability check and our experiments show that it can efficiently determine the realizability of 1) web service choreographies, 2) Singularity OS channel contracts, and 3) UML collaboration (communication) diagrams.

Skip Supplemental Material Section

Supplemental Material

popl_3b_1.mp4

References

  1. R. Alur, K. Etessami, and M. Yannakakis. Realizability and verification of MSC graphs. In Proc. 28th Int. Colloq. on Automata, Languages, and Programming, pages 797--808, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. Armstrong. Getting Erlang to Talk to the Outside World. In Proc. ACM SIGPLAN Work. on Erlang, pages 64--72, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Armstrong. Programming Erlang, Software for a Concurrent World. Pragmatic Bookshelf, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Banavar, T. Deepak Chandra, R. E. Strom, and D. C. Sturman. A Case for Message Oriented Middleware. In Proceedings of the 13th Int. Symp. Distributed Computing, pages 1--18, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Basu and T. Bultan. Choreography Conformance via Synchronizability. In Proc. 20th Int. World Wide Web Conf., 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Brand and P. Zafiropulo. On communicating finite-state machines. Journal of the ACM, 30(2):323--342, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. T. Bultan, C. Ferguson, and X. Fu. A tool for choreography analysis using collaboration diagrams. In Proc. 7th IEEE Int. Conf. Web Services, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. Bultan and X. Fu. Specification of Realizable service conversations using collaboration diagrams. Service Oriented Computing and Applications, 2(1):27--39, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  9. M. Carbone, K. Honda, N. Yoshida, R. Milner, G. Brown, and S. Ross-Talbot. A Theoretical Basis of Communication-Centred Concurrent Programming, W3C Note, October 2006. http://www.w3.org/2002/ws/chor/edcopies/theory/note.pdf.Google ScholarGoogle Scholar
  10. E.M. Clarke, O. Grumberg, and D. A. Peled. Model Checking. The MIT Press, Cambridge, Massachusetts, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. G. Decker, A. P. Barros, F. M. Kraft, and N. Lohmann. Non-desynchronizable Service Choreographies. In Proc. ICSOC, pages 331--346, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Fähndrich, M. Aiken, C. Hawblitzel, O. Hodson, G. C. Hunt, J. R. Larus, and S. Levi. Language support for fast and reliable message-based communication in singularity os. In Proc. 2006 EuroSys Conf., pages 177--190, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Ferris and J. Farrell. What are web services? Comm. of the ACM, 46(6):31--31, June 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. X. Fu, T. Bultan, and J. Su. Conversation protocols: A formalism for specification and analysis of reactive electronic services. Theoretical Computer Science, 328(1--2):19--37, November 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. X. Fu, T. Bultan, and J. Su. WSAT: A tool for formal analysis of web services. In Proc. 16th Int. Conf. on Computer Aided Verification, pages 510--514, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  16. H. Garavel and Frédéric Lang. SVL: A Scripting Language for Compositional Verification. In Proc. FORTE, pages 377--394, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. H. Garavel, R. Mateescu, F. Lang, and W. Serwe. CADP 2006: A Toolbox for the Construction and Analysis of Distributed Processes. In Proc. 18th Int. Conf. Computer Aided Verification, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. Hallé and T. Bultan. Realizability Analysis for Message-Based Interactions using Shared-State Projections. In Proc. 18th ACM SIGSOFT Int. Sym. Foundations of Software Engineering, pages 27--36, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. Honda, V. T. Vasconcelos, and M. Kubo. Language primitives and type discipline for structured communication-based programming. In Proc. 7th European Symp. on Programming Languages and Systems, pages 122--138, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. K. Honda, N. Yoshida, and M. Carbone. Multiparty Asynchronous Session Types. In Proc. 35th ACM SIGPLAN-SIGACT Sym. Principles of Programming Languages, pages 273--284, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. G. C. Hunt and J. R. Larus. Singularity: rethinking the software stack. Operating Systems Review, 41(2):37--49, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Conversation Support for agents, e-business, and component integration. http://www.research.ibm.com/convsupport.Google ScholarGoogle Scholar
  23. Java API for XML messaging (JAXM). http://java.sun.com/developer/earlyAccess/xml/jaxm/.Google ScholarGoogle Scholar
  24. Java Message Service. http://java.sun.com/products/jms/.Google ScholarGoogle Scholar
  25. R. Kazhamiakin and M. Pistore. Analysis of Realizability Conditions for Web Service Choreographies. In Proc. FORTE, pages 61--76, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. N. Lohmann and K. Wolf. Realizability is Controllability. In Proc. 1st Central-European Work. on Services and Their Composition, pages 61--67, 2009.Google ScholarGoogle Scholar
  27. A. McNeile. Protocol contracts with application to choreographed multiparty collaborations. Service Oriented Computing and Applications, 4:109--136, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  28. D. A. Menascé. Mom vs. rpc: Communication models for distributed applications. IEEE Internet Computing, 9(2):90--93, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Message Sequence Chart (MSC). ITU-T, Geneva Recommendation Z.120, 1996.Google ScholarGoogle Scholar
  30. Microsoft Message Queuing Service. http://www.microsoft.com/windowsserver2003/technologies/msmq/default.mspx.Google ScholarGoogle Scholar
  31. E. Newcomer. Understanding Web Services: XML, WSDL, SOAP, and UDDI. Springer, 2004.Google ScholarGoogle Scholar
  32. G. Salaün and T. Bultan. Realizability of Choreographies Using Process Algebra Encodings. In Proceedings of the 7th International Conference on Integrated Formal Methods, pages 167--182, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Singularity design note 5: Channel contracts. singularity rdk documentation (v1.1). http://www.codeplex.com/singularity, 2004.Google ScholarGoogle Scholar
  34. Z. Stengel and T. Bultan. Analyzing Singularity Channel Contracts. In Proceedings of the 18th International Symposium on Software Testing and Analysis, pages 13--24, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. S. Uchitel, J. Kramer, and J. Magee. Incremental elaboration of scenario-based specifications and behavior models using implied scenarios. ACM Transactions on Software Engineering and Methodology, 13(1):37--85, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. OMG unified modeling language superstructure, version 2.1.2. http://www.uml.org/, October 2007.Google ScholarGoogle Scholar
  37. Web Service Choreography Description Language (WS-CDL). http://www.w3.org/TR/ws-cdl-10/, 2005.Google ScholarGoogle Scholar

Index Terms

  1. Deciding choreography realizability

      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 47, Issue 1
        POPL '12
        January 2012
        569 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2103621
        Issue’s Table of Contents
        • cover image ACM Conferences
          POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
          January 2012
          602 pages
          ISBN:9781450310833
          DOI:10.1145/2103656

        Copyright © 2012 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 25 January 2012

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!