Advertisement

Frontiers of Computer Science in China

, Volume 2, Issue 4, pp 344–356 | Cite as

Verifying BPEL-like programs with Hoare logic

  • Chenguang LuoEmail author
  • Shengchao Qin
  • Zongyan Qiu
Research Article

Abstract

The WS-BPEL language has recently become a de facto standard for modeling Web-based business processes. One of its essential features is the fully programmable compensation mechanism. To understand it better, many recent works have mainly focused on formal semantic models for WS-BPEL. In this paper, we make one step forward by investigating the verification problem for business processes written in BPEL-like languages. We propose a set of proof rules in Hoare-logic style as an axiomatic verification system for a BPEL-like core language containing key features such as data states, fault and compensation handling. We also propose a big-step operational semantics which incorporates all these key features. Our verification rules are proven sound with respect to this underlying semantics. The application of the verification rules is illustrated via the proof search process for a nontrivial example.

Keywords

WS-BPEL compensation mechanism operational semantics axiomatic verification system soundness 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Thatte S. XLANG: web service for business process design. http://www.gotdotnet.com/team/xml_wsspecs/xlang-c/default.htm, Microsoft, 2001
  2. 2.
    Leymann F. WSFL: web service flow language. http://www-4.ibm.com/software/solutions/webservices/pdf/WSFL.pdf, IBM, 2001
  3. 3.
    Butler M, Ferreira C. An operational semantics for StAC, a language for modelling long-running business transactions. In: Proceedings of the 6th International Conference on Coordination Models and Languages, Lecture Notes in Computer Science, Vol 2949, Springer, 2004, 87–104Google Scholar
  4. 4.
    Alves A, Arkin A, Askary S, et al. web service business process execution language version 2.0. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html, OASIS Standard, 2007
  5. 5.
    Barreto C, Bullard V, Erl T, et al. web service business process execution language version 2.0 primer. http://docs. oasis-open.org/wsbpel/2.0/Primer/wsbpel-v2.0-Primer.html, OASIS Standard, 2007
  6. 6.
    Qiu Z, Wang S, Pu G et al. Semantics of bpel4ws-like fault and compensation handing. In: Proceedings of the 1st International Symposium of Formal Methods Europe, Lecture Notes in Computer Science, Vol 3582, Springer, 2005, 350–365Google Scholar
  7. 7.
    Pu G, Zhu H, Qiu Z et al. Theoretical foundation of scopebased compensable flow language for web service. In: Proceedings of the 1st International Conference on Formal Methods for Open Object-Based Distributed Systems, Lecture Notes in Computer Science, Vol 4037, Springer, 2006, 251–266CrossRefGoogle Scholar
  8. 8.
    Qiu Z, Zhao X, Cai C et al. Towards the theoretical foundation of choreography. In: Proceedings of the 6th International World Wide Web Conference, ACM Press, 2007, 973–982Google Scholar
  9. 9.
    He J, Zhu H, Pu G. A model for bpel-like languages. Frontiers of Computer Science in China. 2007, 1(1):9–19CrossRefGoogle Scholar
  10. 10.
    Zhu H, He J, Li J et al. Algebraic approach to linking the semantics of web services. In: Proceedings of the 5th IEEE International Conference on Software Engineering and Formal Method, 2007, 315–328Google Scholar
  11. 11.
    Xu Q, de Roever W P, He J. The rely-guarantee method for verifying shared variable concurrent programs. Formal Aspects of Computing, 1997, 9(2): 149–174zbMATHCrossRefGoogle Scholar
  12. 12.
    Zhu H. Linking the semantics of a multithreaded discrete event simulation language. Dissertation for the Doctoral Degree. London South Bank University, 2005Google Scholar
  13. 13.
    Fowler M, Scott K. UML distilled: a brief guide to the standard object modeling language. Addison-Wesley, 2000Google Scholar
  14. 14.
    Garcia-Molina H, Salem K. Sagas. In: Proceedings of the Association for Computing Machinery Special Interest Group on Management of Data Conference, ACM Press, 1987, 249–259Google Scholar
  15. 15.
    Moss J. Nested transactions: an approach to reliable distributed computing. Dissertation for the Doctoral Degree. Massachusetts Institute of Technology, 1981Google Scholar
  16. 16.
    Analst W, Dumas M, Hofstede A, et al. Analysis of web services composition languages: the case of bpel4ws. In: Proceedings of the 22nd International Conference on Conceptual Modeling, Lecture Notes in Computer Science, Vol 2813. Springer, 2003, 200–215Google Scholar
  17. 17.
    Hamadi R, Benatallah B. A petri net-based model for web service composition. In: Proceedings of the 14th Australasian Database Conference, Vol 47, Adelaide, Australia, 2003, 191–200Google Scholar
  18. 18.
    Brogi A, Canal C, Pimentel E et al. Formalizing web service choreographies. Electronic Notes in Theoretical Computer Science, 2004, 105: 73–94CrossRefGoogle Scholar
  19. 19.
    Andrews T, Curbera F, Dholakia H, et al. Business process execution language for web services 1.1. http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/WS-bpel.pdf, 2003
  20. 20.
    Bruni R, Melgratti H, Montanari U. Theoretical foundations for compensations in flow composition languages. In: Proceedings of the 32nd SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL), New York, USA, 2005, 209–220Google Scholar
  21. 21.
    Duan Z, Bernstein A, Lewis P et al. Semantics based verification and synthesis of bpel4ws abstract processes. In: Proceedings of the IEEE International Conference on Web Services, 2004, 734–737Google Scholar
  22. 22.
    Duan Z, Bernstein A, Lewis P et al. A model for abstract process specification, verification and composition. In: Proceedings of the 2nd International Conference on Service Oriented Computing, New York, USA, 2004, 232–241Google Scholar
  23. 23.
    Fu X, Bultan T, Su J. Analysis of interacting bpel web services. In: Proceedings of the 13th International World Wide Web Conference, ACM Press, 2004, 621–630Google Scholar
  24. 24.
    Holzmann G. The spin model checker:primer and reference manual. Addison-Wesley, 2003Google Scholar
  25. 25.
    Pu G, Zhao S, Wang S. Towards the semantics and verification of bpel4ws. In: Proceedings of the International Workshop on Web Languages and Formal Methods (WLFM), Electronic Notes in Theoretical Computer Science, Vol 151, Elsevier, 2005, 33–52Google Scholar
  26. 26.
    Bengtsson J, Larsen K, Larsson F, et al. Uppaal-a tool suitable for automatic verification of real-time systems. In: Proceedings of the DIMACS/SYCON Workshop on Hybrid Systems III: Verification and Control, Secaucus, New Jersey, USA, New York: Springer, 1996, 232–243Google Scholar

Copyright information

© Higher Education Press and Springer-Verlag GmbH 2008

Authors and Affiliations

  1. 1.Department of Computer ScienceDurham UniversityDurhamUK
  2. 2.LMAM and Department of Informatics, School of Mathematical SciencesPeking UniversityBeijingChina

Personalised recommendations