Skip to main content

Analyzing Conversations: Realizability, Synchronizability, and Verification

  • Chapter
Test and Analysis of Web Services

Abstract

Conversations provide an intuitive and simple model for analyzing interactions among composite web services. A conversation is the global sequence of messages exchanged among the peers participating in a composite web service. Interactions in a composite web service can be analyzed by investigating the temporal properties of its conversations. Conversations can be specified in a top-down or bottom-up manner. In a top-down conversation specification, the set of conversationsis specified first, without specifying the individual behaviors of the peers. In a bottom-up conversation specification, on the other hand, behavior of each peer is specified separately and the conversation set is defined implicitly as the set of conversations generated by these peers. For both top-down and bottom-up specification approaches we are interested in the following: (1) Automatically verifying properties of conversations and (2) investigating the effect of asynchronous communication on the conversation behavior. These two issues are closely related since asynchronous communication with unbounded queues increases the difficulty of automated verification significantly.

In this chapter, we give an overview of our earlier results on analysis and verification of conversations. We discuss two analysis techniques for identifying bottom-up and top-down conversation specifications that can be automatically verified. Synchronizability analysis identifies bottom-up conversation specifications for which the conversation set remains the same for asynchronous and synchronous communication. Realizability analysis, on the other hand, identifies top-down conversation specifications which can be implemented by a set of finite state peers interacting with asynchronous communication. We discuss sufficient conditions for synchronizability and realizability analyses which are implemented in our Web Service Analysis Tool (WSAT). WSAT can be used for verification of LTL properties of both top-down and bottom-up conversation specifications.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi, L. Lamport, and P. Wolper. Realizable and unrealizable specifications of reactive systems. In Proc. of 16th Int. Colloq. on Automata, Languages and Programming, volume 372 of LNCS, pages 1–17. Springer Verlag, 1989.

    Google Scholar 

  2. L. D. Alfaro and T. A. Henzinger. Interface automata. In Proc. 9th Annual Symp. on Foundations of Software Engineering, pages 109–120, 2001.

    Google Scholar 

  3. R. Alur, K. Etessami, and M. Yannakakis. Inference of message sequence charts. In Proc. 22nd Int. Conf. on Software Engineering, pages 304–313, 2000.

    Google Scholar 

  4. 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 

  5. Adam Bosworth. Loosely speaking. XML & Web Services Magazine, 3(4), April 2002.

    Google Scholar 

  6. Business Process Execution Language for Web Services (Version 1.0). http://www.ibm.com/developerworks/library/ws-bpel, 2002.

    Google Scholar 

  7. D. Brand and P. Zafiropulo. On communicating finite-state machines. Journal of the ACM, 30(2):323–342, 1983.

    Google Scholar 

  8. T. Bultan, X. Fu, R. Hull, and J. Su. Conversation specification: A new approach to design and analysis of e-service composition. In Proc. 12th Int. World Wide Web Conf., pages 403–410, May 2003.

    Google Scholar 

  9. T. Bultan, X. Fu, and J. Su. Analyzing conversations of web services. IEEE Internet Computing, 10(1):18–25, 2006.

    Article  Google Scholar 

  10. M. Chiodo, P. Giusto, A. Jurecska, L. Lavagno, H. Hsieh, and A. San giovanni Vincentelli. A formal specification model for hardware/software codesign. In Proc. Intl. Workshop on Hardware-Software Codesign, October 1993.

    Google Scholar 

  11. E.M. Clarke, O. Grumberg, and D. A. Peled. Model Checking. The MIT Press, Cambridge, Massachusetts, 1999.

    Google Scholar 

  12. H. Foster, S. Uchitel, J. Magee, and J. Kramer. Model-based verification of web service compositions. In Proc. 18th IEEE Int. Conf. on Automated Software Engineering Conference, pages 152–163, 2003.

    Google Scholar 

  13. X. Fu. Formal Specification and Verification of Asynchronously Communicating Web Services. PhD thesis, University of California, Santa Barbara, 2004.

    Google Scholar 

  14. X. Fu, T. Bultan, and J. Su. Conversation protocols: A formalism for specification and verification of reactive electronic services. In Proc. 8th Int. Conf. on Implementation and Application of Automata, volume 2759 of LNCS, pages 188–200, 2003.

    Google Scholar 

  15. X. Fu, T. Bultan, and J. Su. Analysis of interacting web services. In Proc. 13th Int. World Wide Web Conf., pages 621 – 630, New York, May 2004.

    Google Scholar 

  16. 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.

    Article  MATH  Google Scholar 

  17. X. Fu, T. Bultan, and J. Su. Model checking XML manipulating software. In Proc. 2004 ACM/SIGSOFT Int. Symp. on Software Testing and Analysis, pages 252–262, July 2004.

    Google Scholar 

  18. X. Fu, T. Bultan, and J. Su. Realizability of conversation protocols with message contents. In Proc. 2004 IEEE Int. Conf. on Web Services, pages 96–203, July 2004.

    Google Scholar 

  19. X. Fu, T. Bultan, and J. Su. WSAT: A tool for formal analysis of web service compositions. In Proc. 16th Int. Conf. on Computer Aided Verification, volume 3114 of LNCS, pages 510–514, July 2004.

    Google Scholar 

  20. X. Fu, T. Bultan, and J. Su. Realizability of conversation protocols with message contents. International Journal of Web Services Research (JWSR), 2(4):68–93, 2005.

    Google Scholar 

  21. X. Fu, T. Bultan, and J. Su. Synchronizability of conversations among web services. IEEE Transactions on Software Engineering, 31(12):1042–1055, December 2005.

    Article  Google Scholar 

  22. J. E. Hanson, P. Nandi, and S. Kumaran. Conversation support for business process integration. In Proc. of 6th IEEE Int. Enterprise Distributed Object Computing Conference, 2002.

    Google Scholar 

  23. C. A. R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, 1978.

    Article  MATH  Google Scholar 

  24. G. J. Holzmann. The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Boston, Massachusetts, 2003.

    Google Scholar 

  25. IBM. Conversation Support Project. http://www.research.ibm.com/convsupport/.

    Google Scholar 

  26. Java Message Service. http://java.sun.com/products/jms/.

    Google Scholar 

  27. G. Kahn. The semantics of a simple language for parallel programming. In Proc. IFIP 74, pages 471–475. North-Holland, 1974.

    Google Scholar 

  28. Raman Kazhamiakin, Marco Pistore, and Luca Santuari. Analysis of communication models in web service compositions. In Proc. of 15th World Wide Web Conference (WWW), pages 267–276, 2006.

    Google Scholar 

  29. N. Lynch and M. Tuttle. Hierarchical correctness proofs for distributed algorithms. In Proc. 6th ACM Symp. Principles of Distributed Computing, pages 137–151, 1987.

    Google Scholar 

  30. R. Milner. Communicating and Mobile Systems: the $Ï€$-Calculus. Cambridge University Press, 1999.

    Google Scholar 

  31. Message Sequence Chart (MSC). ITU-T, Geneva Recommendation Z.120, 1994.

    Google Scholar 

  32. Microsoft Message Queuing Service. http://www.microsoft.com/windows2000/ technologies/communications/msmq/default.mspx.

    Google Scholar 

  33. Shin Nakajima. Model checking verification for reliable web service. In Proc. of the 1st International Symposium on Cyber Worlds (CW 2002), pages 378–385, November 2002.

    Google Scholar 

  34. S. Narayanan and S. McIlraith. Simulation, verification and automated composition of web services. In Proc. International World Wide Web Conference (WWW), 2002.

    Google Scholar 

  35. A. Pnueli and R. Rosner. On the synthesis of a reactive module. In Proc. 16th ACM Symp. Principles of Programming Languages, pages 179–190, 1989.

    Google Scholar 

  36. A. Pnueli and R. Rosner. On the synthesis of an asynchronous reactive module. In Proc. 16th Int. Colloq. on Automata, Languages, and Programs, volume 372 of LNCS, pages 652–671, 1989.

    Google Scholar 

  37. S. K. Rajamani and J. Rehof. A behavioral module system for the pi-calculus. In Proc. 8th Static Analysis Symposium, pages 375–394, July 2001.

    Google Scholar 

  38. 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.

    Article  Google Scholar 

  39. Web Service Analysis Tool (WSAT). http://www.cs.ucsb.edu/ su/WSAT.

    Google Scholar 

  40. Web Service Choreography Description Language (WS-CDL). http://www.w3.org/TR/ws-cdl-10/, 2005.

    Google Scholar 

  41. Web Services Description Language (WSDL) 1.1. http://www.w3.org/TR/wsdl, March 2001.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Bultan, T., Fu, X., Su, J. (2007). Analyzing Conversations: Realizability, Synchronizability, and Verification. In: Baresi, L., Nitto, E.D. (eds) Test and Analysis of Web Services. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72912-9_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-72912-9_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-72911-2

  • Online ISBN: 978-3-540-72912-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics