Skip to main content
Log in

Algorithms for checking channel passing in web service choreography

  • Review Article
  • Published:
Frontiers of Computer Science Aims and scope Submit manuscript

Abstract

Web service choreography describes global models of service interactions among a set of participants. For an interaction to be executed, the participants must know the required channel(s) used in the interaction, otherwise the execution will get stuck. Since channels are composed dynamically, the initial channel set of each participant is often insufficient to meet the requirements. It is the responsibility of the participants to pass required channels owned (known) by one to others. Since service choreography may involve many participants and complex channel constraints, it is hard for designers to specify channel passing in a choreography exactly as required. We address the problem of checking whether a service choreography lacks channels or has redundant channels, and how to automatically generate channel passing based on interaction flows of the service choreography in the case of channel absence. Concretely, we propose a simple language Chor c , a channel interaction sub-language for modeling the channel passing aspect of service choreography. Based on the formal operational semantics of Chor c , the algorithms for static checking of service choreography and generating channel passing are also studied, and the complexity results of algorithms are discussed. Moreover, some illustrated service choreography examples are presented to show how to formalize and analyze service choreography with channel passing in Chor c .

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Zaha J M, Dumas M, Hofstede T A, Barros A, Decker G. Service interaction modeling: Bridging global and local views. In: Proceedings of the 10th IEEE International Conference on Enterprise Distributed Object Computing. 2006, 45–55

    Google Scholar 

  2. Web Services Choreography Description Language, version 1.0, 2005. http://www.w3.org/TR/2005/CR-ws-cdl-10-20051109/

  3. Carbone M, Honda K, Yoshida N. Structured communication-centred programming for web services. In: Proceedings of the 16th European Conference on Programming. 2007, 2–17

    Google Scholar 

  4. Thatte S. XLANG web services for business process design. 2001, http://www.gotdotnet.com/team/xml_wsspecs/xlang-c/default.htm

    Google Scholar 

  5. Leymann F. Web services flow language (WSFL 1.0). May 2001, http://www.ibm.com/software/solutions/webservices/pdf/WSFL.pdf

    Google Scholar 

  6. Business Process Execution Language for Web Services (BPEL4WS), version 1.1. May 2003, http://www.ibm.com/developerworks/webservices/library/ws-bpel/

  7. Arkin A. Business process modeling language. November 2002, http://www.bpmi.org

    Google Scholar 

  8. Yang H, Cai C, Peng L, Zhao X, Qiu Z. Reasoning about channel passing in choreography. In: Proceedings of the 2nd IEEE International Symposium on Theoretical Aspects of Software Engineering. 2008, 135–142

    Google Scholar 

  9. Kavantzas N. A post at petri-pi mailing list, August 2005

    Google Scholar 

  10. Carbone M, Honda K, Yoshida N, Milner R, Brown G, Ross-Talbot S. A theoretical basis of communication-centred concurrent programming. Technical report, W3C, 2006. http://www.w3.org/2002/ws/chor/edcopies/theory/note.pdf

    Google Scholar 

  11. Holzmann G J. The SPIN model checker: primer and reference manual. Addison-Wesley, 2003

    Google Scholar 

  12. Barros A P, Dumas M, Hofstede t A HM. Service interaction patterns. In: Proceedings of the 3rd International Conference on Business Process Management. 2005, 302–318

    Google Scholar 

  13. Ross-Talbot S, Fletcher T. Web services choreography description language: Primer version 1.0, May 2006. http://www.w3.org/TR/Year/WD-ws-cdl-10-primer-YearMMDD/

    Google Scholar 

  14. Brogi A, Canal C, Pimentel E, Vallecillo A. Formalizing web service choreographies. Electronic Notes in Theoretical Computer Science, 2004, 105: 73–94

    Article  Google Scholar 

  15. Milner R. Communication and concurrency. Prentice Hall, 1989

    MATH  Google Scholar 

  16. Busi N, Gorrieri R, Guidi C, Lucchi R, Zavattaro G. Towards a formal framework for choreography. In: Proceedings of the 14th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprise. 2005, 107–112

    Chapter  Google Scholar 

  17. Foster H, Uchitel S, Magee J, Kramer J. Model-based analysis of obligations in web service choreography. In: Proceedings of the 2006 International Conference on Internet and Web Applications and Services, AICT-ICIW’ 06. 2006, 149

    Google Scholar 

  18. Zaha J M, Barros A P, Dumas M, Hofstede T A H M. Let’s Dance: a language for service behavior modeling. In: Proceedings of the 2006 Confederated International Conference on On the Move to Meaningful Internet Systems. 2006, 145–162

    Google Scholar 

  19. Decker G, Zaha J M, Dumas M. Execution semantics for service choreographies. In: Proceedings of the 3rd International Conference on Web Services and Formal Methods. 2006

    Google Scholar 

  20. Sangiorgi D, Walker D. The π-Calculus: a theory of mobile processes. New York: Cambridge University Press, 2001

    Google Scholar 

  21. Gorrieri R, Guidi C, Lucchi R. Reasoning about interaction patterns in choreography. In: Proceedings of the 2005 International Conference on European Performance Engineering, and Web Services and Formal Methods. 2005, 333–348

    Google Scholar 

  22. Carbone M, Honda K, Yoshida N. A calculus of global interaction based on session types. Electronic Notes in Theoretical Computer Science, 2007, 171(3): 127–151

    Article  Google Scholar 

  23. Decker G, Puhlmann F, Weske M. Formalizing service interactions. In: Proceedings of the 4th International Conference on Business Process Management. 2006, 414–419

    Google Scholar 

  24. Basu S, Bultan T. Choreography conformance via synchronizability. In: Proceedings of the 20th International Conference on World Wide Web. 2011, 795–804

    Chapter  Google Scholar 

  25. Sun J, Liu Y, Dong J S, Pu G, Tan T H. Model-based methods for linking web service choreography and orchestration. In: Proceedings of the 17th Conference on Asia Pacific Software Engineering. 2010, 166–175

    Google Scholar 

  26. Busi N, Gorrieri R, Guidi C, Lucchi R, Zavattaro G. Choreography and orchestration: a synergic approach for system design. In: Proceedings of the 3rd International Conference on Service-Oriented Computing. 2005, 228–240

    Google Scholar 

  27. Busi N, Gorrieri R, Guidi C, Lucchi R, Zavattaro G. Choreography and orchestration conformance for system design. In: Proceedings of the 8th International Conference on Coordination Models and Language. 2006, 63–81

    Chapter  Google Scholar 

  28. Baldoni M, Baroglio C, Martelli A, Patti V, Schifanella C. Verifying the conformance of web services to global interaction protocols: A first step. In: Proceedings of the 2005 International Conference on European Performance Engineering, and Web Services and Formal Methods. 2005, 257–271

    Google Scholar 

  29. Fu X, Bultan T, Su J. Conversation protocols: a formalism for specification and verification of reactive electronic services. Theoretical Computer Science, 2004, 328(1): 19–37

    Article  MathSciNet  MATH  Google Scholar 

  30. Bravetti M, Zavattaro G. Towards a unifying theory for choreography conformance and contract compliance. In: Proceedings of the 6th International Conference on Software Composition. 2007, 34–50

    Chapter  Google Scholar 

  31. Decker G, Weske M. Local enforceability in interaction petri nets. In: Proceedings of the 5th International Conference on Business Process Management. 2007, 305–319

    Google Scholar 

  32. Aalst v. d W, Dumas M, Ouyang C, Rozinat A, Verbeek H. Choreography conformance checking: an approach based on BPEL and Petri Nets (extended version). Technical report, BPM Center Report BPM-05-25, BPMcenter.org, 2005

    Google Scholar 

  33. Qiu Z, Zhao X, Cai C, Yang H. Towards the theoretical foundation of choreography. In: Proceedings of the 16th International World Wide Web Conference (www 2007). 2007, 973–982

    Chapter  Google Scholar 

  34. Cai C, Qiu Z. An approach to check choreography with channel passing inWS-CDL. In: Proceedings of the 2008 IEEE International Conference on Web Services. 2008, 700–707

    Google Scholar 

  35. Cai C, Yang H, Zhao X, Qiu Z. A formal model for channel passing in web service composition. In: Proceedings of the 2008 IEEE International Conference on Services Computing. 2008, 495–496

    Chapter  Google Scholar 

  36. Cai C, Qiu Z, Zhao X, Yang H. Correct channel passing by construction. In: Proceedings of 10th International Conference on Formal Engineering Methods. 2008, 338–354

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hongli Yang.

Additional information

Hongli Yang is an associate professor in the Department of Software, College of Computer Science, Beijing University of Technology. Her research interests include formal methods, program analysis and testing, especially for web service choreography, and wireless sensor network protocols. She received her PhD from Northwest University in 2004, and worked as post doctor at Peking University in 2005.

Chao Cai is a software engineer in the China Defense Science and Technology Information Center. His research interests include formal language and nature language processing. He received his PhD from the Department of Informatics, School of Mathematical Sciences, Peking university in 2009.

Liyang Peng is a research fellow at VANCL Research Laboratory. His research interests include specification and verification of programs, model checking, data mining, and machine learning. He received his PhD from the School of Mathematical Sciences, Peking university in 2010.

Xiangpeng Zhao is a software engineer at Facebook Inc. His interest includes formal methods, specification and verification of programs, and software performance tuning, especially for operation systems. He received his PhD from Peking University in 2008.

Zongyan Qiu is a professor in the Department of Informatics, School of Mathematical Sciences, Peking University. His research interests include formal methods, semantics of programming languages, and specification and verification of programs, especially for OO languages and OO programs. He received his MSc from Peking university in 1985. He is a distinguished member of CCF.

Shengchao Qin received his BSc in Information Science in 1997 and PhD in Applied Mathematics in 2002, both from Peking University. Since 2005 he has worked as a University Lecturer (Durham University), Reader (Teesside University), and Professor (Teesside University). His research interests lie mainly in formal methods, software engineering, and programming languages.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Yang, H., Cai, C., Peng, L. et al. Algorithms for checking channel passing in web service choreography. Front. Comput. Sci. 7, 710–728 (2013). https://doi.org/10.1007/s11704-013-1238-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-013-1238-z

Keywords

Navigation