Model-checking web services business activity protocols

  • Abinoam P. MarquesJr.
  • Anders P. Ravn
  • Jiří Srba
  • Saleem VighioEmail author
TACAS 2011


Web services business activity (WS-BA) specification defines two coordination protocols BAwCC (Business Agreement with Coordination Completion) and BAwPC (Business Agreement with Participant Completion) that ensure a consistent agreement on the outcome of long-running distributed applications. To verify fundamental properties of the protocols, we provide formal analyses in the model checker Uppaal. Our analyses are supported by a newly developed tool chain, where in the first step we translate tables with state-transition protocol descriptions into an intermediate XML format, and in the second step we translate this format into a network of communicating state machines directly suitable for verification in Uppaal. Our results show that the WS-BA protocols, as described in the standard specification, violate correct operation by reaching invalid states for all underlying communication media except for a perfect FIFO. Hence, we propose changes to the protocols and a further investigation of the modified protocols suggests that in case of the BAwCC protocol, messages should be received in the same order as they are sent to preserve correct behaviour, while BAwPC is now correct even for asynchronous, unordered, lossy and duplicating media. Another important property of communication protocols is that all parties always reach, under certain fairness assumptions, their final states. Based on an automatic verification with different communication models, we prove that our enhanced protocols satisfy this property whereas the original protocols do not. All verification results presented in this article were performed in a fully automatic way using our new tool csv2uppaal.


Web service Coordination protocol Communication media model Model checking Analysis tool 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Afek Y., Attiya H., Fekete A., Fischer M., Lynch N., Mansour Y., Wang D.-W., Zuck L.: Reliable communication over unreliable channels. J. ACM 41(6), 1267–1297 (1994)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Apt K.R., Francez N., Katz S.: Appraising fairness in languages for distributed programming. Distrib. Comput. 2, 226–241 (1988)zbMATHCrossRefGoogle Scholar
  3. 3.
    Barghouti N., Nounou N., Yemini Y.: An integrated protocol development environment. In: Protocol Specification Testing and Verification VI, pp. 63–69. North-Holland, Amsterdam (1987)Google Scholar
  4. 4.
    Behrmann G., David A., Larsen K.G.: A tutorial on UPPAAL. In: Proceedings of the 4th International School on Formal Methods for the Design of Computer, Communication, and Software Systems (SFM-RT’04). LNCS, vol. 3185, pp. 200–236. Springer, Berlin (2004)Google Scholar
  5. 5.
    Brand D., Zafiropulo P.: On communicating finite-state machines. J. ACM 30(2), 323–342 (1983)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Finkel A.: Decidability of the termination problem for completely specified protocols. Distrib. Comput. 7, 129–135 (1994)CrossRefGoogle Scholar
  7. 7.
    Gray J., Reuter A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, Menlo Park (1993)zbMATHGoogle Scholar
  8. 8.
    Greenfield P., Kuo D., Nepal S., Fekete A.: Consistency for web services applications. In: VLDB ’05: proceedings of the 31st international conference on very large data bases, pp. 1199–1203. VLDB Endowment (2005)Google Scholar
  9. 9.
    Johnson J.E., Langworthy D.E., Lamport L., Vogt F.H.: Formal specification of a web services protocol. J. Logic. Algebraic Program. 70(1), 34–52 (2007)MathSciNetzbMATHCrossRefGoogle Scholar
  10. 10.
    Lamport L.: Specifying Systems. Addison-Wesley, Reading (2003)Google Scholar
  11. 11.
    Lohmann N.: Communication models for services. In: Proceedings of ZEUS’10, vol. 563 of CEUR Workshop Proceedings, pp. 9–16. (2010)Google Scholar
  12. 12.
    Marques A.P. Jr., Ravn A.P., Srba J., Vighio S.: Tool supported analysis of web services protocols. In: Proceedings of the 5th International Workshop of Harnessing Theories for Tool Support in Software (TTSS’11), pp. 50–64 (2011)Google Scholar
  13. 13.
    Marques A.P., Ravn A.P., Srba J., Vighio S.: The tool csv2uppaal. Accessed 6 April 2012
  14. 14.
    Mathew B., Juric M., Sarang P.: Business Process Execution Language for Web Services, 2nd edn. Packt Publishing, Birmingham (2006)Google Scholar
  15. 15.
    Naumovich G.N., Clarke L.A., Osterweil L.J.: Verification of communication protocols using data flow analysis. SIGSOFT Softw. Eng. Notes 21, 93–105 (1996)CrossRefGoogle Scholar
  16. 16.
    Newcomer E., Robinson I. (chairs): Web services atomic transaction (WS-atomic transaction) version 1.2 (2009). Accessed 6 April 2012
  17. 17.
    Newcomer E., Robinson I. (chairs): Web services business activity (WS-businessactivity) version 1.2 (2009). Accessed 6 April 2012
  18. 18.
    Newcomer E., Robinson I. (chairs): Web services coordination (WS-coordination) version 1.2 (2009). Accessed 6 April 2012
  19. 19.
    Nicollin X., Sifakis J.: The algebra of timed processes, ATP: theory and application. Inf. Comput. 114(1), 131–178 (1994)MathSciNetzbMATHCrossRefGoogle Scholar
  20. 20.
    OASIS. Discussion forum, report on error trace in BAwCC (2011). Accessed 6 April 2012
  21. 21.
    Ravn A.P., Srba J., Vighio S.: UPPAAL model of the WS-BA protocol. Accessed 6 April 2012
  22. 22.
    Ravn A.P., Srba J., Vighio S.: A formal analysis of the web services atomic transaction protocol with UPPAAL. In: Proceedings of the 4th International Symposium On Leveraging Applications of Formal Methods, Verification and Validation (ISOLA’10). LNCS, vol. 6416, pp. 579–593. Springer, Berlin (2010)Google Scholar
  23. 23.
    Ravn A.P., Srba J., Vighio S.: Modelling and verification of web services business activity protocol. In: Abdulla, P.A., Leino, K.R.M. (eds) Proceedings of TACAS’11. LNCS, vol. 6605, pp. 357–371. Springer, Berlin (2011)Google Scholar
  24. 24.
    Robinson I.: Answer in WS-BA discussion forum, July 14th (2010). Accessed 6 April 2012
  25. 25.
    Schnoebelen Ph.: Verifying lossy channel systems has nonprimitive recursive complexity. Inf. Process. Lett. 83, 251–261 (2002)MathSciNetzbMATHCrossRefGoogle Scholar
  26. 26.
    UPPAAL. Accessed 6 April 2012
  27. 27.
    Vogt F.H., Zambrovski S., Gruschko B., Furniss P., Green A: Implementing web service protocols in SOA: WS-coordination and WS-businessactivity. In: Proceedings of the Seventh IEEE International Conference on E-Commerce Technology Workshops(CECW’05), pp. 21–28. IEEE Computer Society, New york (2005)Google Scholar
  28. 28.
    Vuong S.T., Hui D.D., Cowan D.D.: Valira—a tool for protocol validation via reachability analysis. In: Protocol Specification, Testing and Verification VI, pp. 35–41. North-Holland, Amsterdam (1987)Google Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • Abinoam P. MarquesJr.
    • 1
  • Anders P. Ravn
    • 2
  • Jiří Srba
    • 2
  • Saleem Vighio
    • 2
    Email author
  1. 1.Brazilian Society of Health InformaticsSão PauloBrazil
  2. 2.Department of Computer ScienceAalborg UniversityAalborg EastDenmark

Personalised recommendations