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.
Supplemental Material
- 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 Scholar
Digital Library
- J. Armstrong. Getting Erlang to Talk to the Outside World. In Proc. ACM SIGPLAN Work. on Erlang, pages 64--72, 2002. Google Scholar
Digital Library
- J. Armstrong. Programming Erlang, Software for a Concurrent World. Pragmatic Bookshelf, 2007. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- S. Basu and T. Bultan. Choreography Conformance via Synchronizability. In Proc. 20th Int. World Wide Web Conf., 2011. Google Scholar
Digital Library
- D. Brand and P. Zafiropulo. On communicating finite-state machines. Journal of the ACM, 30(2):323--342, 1983. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- T. Bultan and X. Fu. Specification of Realizable service conversations using collaboration diagrams. Service Oriented Computing and Applications, 2(1):27--39, 2008.Google Scholar
Cross Ref
- 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 Scholar
- E.M. Clarke, O. Grumberg, and D. A. Peled. Model Checking. The MIT Press, Cambridge, Massachusetts, 1999. Google Scholar
Digital Library
- G. Decker, A. P. Barros, F. M. Kraft, and N. Lohmann. Non-desynchronizable Service Choreographies. In Proc. ICSOC, pages 331--346, 2008. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- C. Ferris and J. Farrell. What are web services? Comm. of the ACM, 46(6):31--31, June 2003. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Cross Ref
- H. Garavel and Frédéric Lang. SVL: A Scripting Language for Compositional Verification. In Proc. FORTE, pages 377--394, 2001. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- G. C. Hunt and J. R. Larus. Singularity: rethinking the software stack. Operating Systems Review, 41(2):37--49, 2007. Google Scholar
Digital Library
- Conversation Support for agents, e-business, and component integration. http://www.research.ibm.com/convsupport.Google Scholar
- Java API for XML messaging (JAXM). http://java.sun.com/developer/earlyAccess/xml/jaxm/.Google Scholar
- Java Message Service. http://java.sun.com/products/jms/.Google Scholar
- R. Kazhamiakin and M. Pistore. Analysis of Realizability Conditions for Web Service Choreographies. In Proc. FORTE, pages 61--76, 2006. Google Scholar
Digital Library
- N. Lohmann and K. Wolf. Realizability is Controllability. In Proc. 1st Central-European Work. on Services and Their Composition, pages 61--67, 2009.Google Scholar
- A. McNeile. Protocol contracts with application to choreographed multiparty collaborations. Service Oriented Computing and Applications, 4:109--136, 2010.Google Scholar
Cross Ref
- D. A. Menascé. Mom vs. rpc: Communication models for distributed applications. IEEE Internet Computing, 9(2):90--93, 2005. Google Scholar
Digital Library
- Message Sequence Chart (MSC). ITU-T, Geneva Recommendation Z.120, 1996.Google Scholar
- Microsoft Message Queuing Service. http://www.microsoft.com/windowsserver2003/technologies/msmq/default.mspx.Google Scholar
- E. Newcomer. Understanding Web Services: XML, WSDL, SOAP, and UDDI. Springer, 2004.Google Scholar
- 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 Scholar
Digital Library
- Singularity design note 5: Channel contracts. singularity rdk documentation (v1.1). http://www.codeplex.com/singularity, 2004.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- OMG unified modeling language superstructure, version 2.1.2. http://www.uml.org/, October 2007.Google Scholar
- Web Service Choreography Description Language (WS-CDL). http://www.w3.org/TR/ws-cdl-10/, 2005.Google Scholar
Index Terms
Deciding choreography realizability
Recommendations
Deciding choreography realizability
POPL '12: Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languagesSince 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 ...
Realizability of Choreographies Using Process Algebra Encodings
Service-oriented computing has emerged as a new software development paradigm that enables implementation of Web accessible software systems that are composed of distributed services which interact with each other via exchanging messages. Modeling and ...
Preparing and re-using web services for choreography
Web Service technologies offer a new and successful way for interoperability among web applications. However, there is not a unique standard opinion as to how Web Service composition must be implemented. Besides, services involved in compositions are ...







Comments