Abstract
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.
Similar content being viewed by others
References
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)
Apt K.R., Francez N., Katz S.: Appraising fairness in languages for distributed programming. Distrib. Comput. 2, 226–241 (1988)
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)
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)
Brand D., Zafiropulo P.: On communicating finite-state machines. J. ACM 30(2), 323–342 (1983)
Finkel A.: Decidability of the termination problem for completely specified protocols. Distrib. Comput. 7, 129–135 (1994)
Gray J., Reuter A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, Menlo Park (1993)
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)
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)
Lamport L.: Specifying Systems. Addison-Wesley, Reading (2003)
Lohmann N.: Communication models for services. In: Proceedings of ZEUS’10, vol. 563 of CEUR Workshop Proceedings, pp. 9–16. CEUR-WS.org (2010)
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)
Marques A.P., Ravn A.P., Srba J., Vighio S.: The tool csv2uppaal. http://csv2uppaal.github.com/csv2uppaal/. Accessed 6 April 2012
Mathew B., Juric M., Sarang P.: Business Process Execution Language for Web Services, 2nd edn. Packt Publishing, Birmingham (2006)
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)
Newcomer E., Robinson I. (chairs): Web services atomic transaction (WS-atomic transaction) version 1.2 (2009). http://docs.oasis-open.org/ws-tx/wstx-wsat-1.2-spec.html. Accessed 6 April 2012
Newcomer E., Robinson I. (chairs): Web services business activity (WS-businessactivity) version 1.2 (2009). http://docs.oasis-open.org/ws-tx/wstx-wsba-1.2-spec-os/wstx-wsba-1.2-spec-os.html. Accessed 6 April 2012
Newcomer E., Robinson I. (chairs): Web services coordination (WS-coordination) version 1.2 (2009). http://docs.oasis-open.org/ws-tx/wstx-wscoor-1.2-spec-os/wstx-wscoor-1.2-spec-os.html. Accessed 6 April 2012
Nicollin X., Sifakis J.: The algebra of timed processes, ATP: theory and application. Inf. Comput. 114(1), 131–178 (1994)
OASIS. Discussion forum, report on error trace in BAwCC (2011). http://markmail.org/message/xgnyonkihfif5vz2. Accessed 6 April 2012
Ravn A.P., Srba J., Vighio S.: UPPAAL model of the WS-BA protocol. http://www.uppaal.org. Accessed 6 April 2012
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)
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)
Robinson I.: Answer in WS-BA discussion forum, July 14th (2010). http://markmail.org/message/wriewgkboaaxw66z. Accessed 6 April 2012
Schnoebelen Ph.: Verifying lossy channel systems has nonprimitive recursive complexity. Inf. Process. Lett. 83, 251–261 (2002)
UPPAAL. http://www.uppaal.com. Accessed 6 April 2012
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)
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
The paper is supported by VKR Center of Excellence MT-LAB. A. P. Marques Jr. is affiliated to the Brazilian Society of Health Informatics.
S. Vighio is supported by Quaid-e-Awam University of Engineering, Science, and Technology, Nawabshah, Pakistan, and partially by the Nordunet3 project COSoDIS.
Rights and permissions
About this article
Cite this article
Marques, A.P., Ravn, A.P., Srba, J. et al. Model-checking web services business activity protocols. Int J Softw Tools Technol Transfer 15, 125–147 (2013). https://doi.org/10.1007/s10009-012-0231-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-012-0231-4