Skip to main content

Monitoring and Recovery of Web Service Applications

  • Chapter
The Smart Internet

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 6400))

Abstract

For a system of distributed processes, correctness can be ensured by (statically) checking whether their composition satisfies properties of interest. However, web services are distributed processes that dynamically discover properties of other web services. Since the overall system may not be available statically and since each business process is supposed to be relatively simple, we propose to use (on-line) runtime monitoring of conversations between partners as a means of checking behavioural correctness of the entire web service system. Our framework allows application developers to specify behavioural correctness properties. By transforming these properties to finite-state automata, we enable conformance checking of finite execution traces of web services described in BPEL against the specification. Moreover, when violations are discovered at runtime, we automatically propose and rank recovery plans which users of the system can then select for execution. For some of the violations, such plans essentially involve “going back” – compensating the occurred actions until an alternative behaviour of the application is possible. For other violations, such plans include both “going back” and “re-planning” – guiding the application towards a desired behaviour. We report on the implementation and experience with our monitoring and recovery system, and discuss the implications that the move to “smart internet” [1] may have on our approach.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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.

Similar content being viewed by others

References

  1. Ng, J.W., Chignell, M., Cordy, J.R.: The Smart Internet: Transforming the Web for the User. In: CASCON 2009: Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research, New York, NY, USA, pp. 285–296 (2009)

    Google Scholar 

  2. OASIS: WS-BPEL Version 2.0, http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html (Accessed January 2009)

  3. Fu, X., Bultan, T., Su, J.: Conversation Protocols: A Formalism for Specification and Verification of Reactive Electronic Services. In: Ibarra, O.H., Dang, Z. (eds.) CIAA 2003. LNCS, vol. 2759, pp. 188–200. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  4. Fu, X., Bultan, T., Su, J.: Analysis of Interacting BPEL Web Services. In: Proceedings of the 13th international conference on World Wide Web (WWW 2004), pp. 621–630 (May 2004)

    Google Scholar 

  5. Kazhamiakin, R., Pistore, M.: A Parametric Communication Model for the Verification of BPEL4WS Compositions. In: Bravetti, M., Kloul, L., Zavattaro, G. (eds.) EPEW/WS-EM 2005. LNCS, vol. 3670, pp. 318–332. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  6. Baldoni, M., Baroglio, C., Martelli, A., Patti, V., Schifanella, C.: Verifying the Conformance of Web Services to Global Interaction Protocols: A First Step. In: Bravetti, M., Kloul, L., Zavattaro, G. (eds.) EPEW/WS-EM 2005. LNCS, vol. 3670, pp. 257–271. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  7. Foster, H., Uchitel, S., Magee, J., Kramer, J.: Model-based Verification of Web Service Compositions. In: Proceedings of 18th IEEE International Conference on Automated Software Engineering (ASE 2003), pp. 152–163. IEEE Computer Society, Los Alamitos (2003)

    Chapter  Google Scholar 

  8. Ghafari, N., Gurfinkel, A., Klarlund, N., Trefler, R.: Algorithmic Analysis of Piecewise FIFO Systems. In: Proceedings of 7th International Conference on Formal Methods in Computer-Aided Design (FMCAD 2007), pp. 45–52 (November 2007)

    Google Scholar 

  9. Dwyer, M., Avrunin, G., Corbett, J.: Patterns in Property Specifications for Finite-State Verification. In: Proceedings of 21st International Conference on Software Engineering (ICSE 1999), pp. 411–420 (May 1999)

    Google Scholar 

  10. van der Aalst, W.M.P., Weske, M.: Case Handling: a New Paradigm for Business Process Support. Data Knowledge Engineering 53(2), 129–162 (2005)

    Article  Google Scholar 

  11. Autili, M., Inverardi, P., Pelliccione, P.: A Scenario Based Notation for Specifying Temporal Properties. In: Proceedings of the 2006 ICSE International Workshop on Scenarios and State Machines: Models, Algorithms, and Tools (SCESM 2006), pp. 21–28 (2006)

    Google Scholar 

  12. Yu, J., Manh, T.P., Han, J., Jin, Y., Han, Y., Wang, J.: Pattern Based Property Specification and Verification for Service Composition. In: Aberer, K., Peng, Z., Rundensteiner, E.A., Zhang, Y., Li, X. (eds.) WISE 2006. LNCS, vol. 4255, pp. 156–168. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  13. Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Property Specification Patterns for Finite-state Verification. In: Proceedings of 2nd Workshop on Formal Methods in Software Practice (FMSP 1998) (March 1998)

    Google Scholar 

  14. Pnueli, A.: The Temporal Logic of Programs. In: Proceedings of 18th Annual Symposium on the Foundations of Computer Science (FOCS 1977), pp. 46–57 (1977)

    Google Scholar 

  15. Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  16. Olender, K.M., Osterweil, L.J.: Cecil: A Sequencing Constraint Language for Automatic Static Analysis Generation. IEEE Transactions on Software Engineering 16(3), 268–280 (1990)

    Article  Google Scholar 

  17. Hinz, S., Schmidt, K., Stahl, C.: Transforming BPEL to Petri Nets. In: van der Aalst, W.M.P., Benatallah, B., Casati, F., Curbera, F. (eds.) BPM 2005. LNCS, vol. 3649, pp. 220–235. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  18. Ouyang, C., Verbeek, E., van der Aalst, W.M.P., Breutel, S., Dumas, M., ter Hofstede, A.H.M.: Formal Semantics and Analysis of Control Flow in WS-BPEL. Science of Computer Programming 67(2-3), 162–198 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  19. Foster, H.: A Rigorous Approach to Engineering Web Service Compositions. PhD thesis, Imperial College (2006)

    Google Scholar 

  20. Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading (1979)

    MATH  Google Scholar 

  21. Simmonds, J., Gan, Y., Chechik, M., Nejati, S., O’Farrell, B., Litani, E., Waterhouse, J.: Runtime Monitoring of Web Service Conversations. IEEE Transactions on Service Computing (2009)

    Google Scholar 

  22. Simmonds, J., Ben-David, S., Chechik, M.: Optimizing Computation of Recovery Plans for BPEL Applications. In: Proceedings of the 2010 Workshop on Testing, Analysis and Verification of Web Software, TAV-WEB 2010 (to appear, 2010)

    Google Scholar 

  23. Giunchiglia, F., Traverso, P.: Planning as Model Checking. In: Biundo, S., Fox, M. (eds.) ECP 1999. LNCS, vol. 1809, pp. 1–20. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  24. Kautz, H.A., Selman, B.: Unifying SAT-based and Graph-based Planning. In: Proceedings of the 16th International Joint Conference on Artificial Intelligence (IJCAI 1999), pp. 318–325 (1999)

    Google Scholar 

  25. Simmonds, J., Ben-David, S., Chechik, M.: Guided Recovery for Web Service Applications. In: Proceedings of Eighteenth International Symposium on the Foundations of Software Engineering, FSE 2010 (to appear, 2010)

    Google Scholar 

  26. Bozga, M., Fernandez, J.C., Kerbrat, A., Mounier, L.: Protocol Verification with the ALDÉBARAN Toolset. International Journal on Software Tools for Technology Transfer 1(1-2), 166–184 (1997)

    Article  MATH  Google Scholar 

  27. Foster, H., Uchitel, S., Magee, J., Kramer, J.: LTSA-WS: a Tool for Model-Based Verification of Web Service Compositions and Choreography. In: Proceedings of the 28th International Conference on Software Engineering (ICSE 2006), pp. 771–774 (May 2006)

    Google Scholar 

  28. Magee, J., Kramer, J.: Concurrency - State Models and Java Programs. John Wiley, Chichester (1999)

    MATH  Google Scholar 

  29. Fikes, R., Nilsson, N.J.: STRIPS: A New Approach to the Application of Theorem Proving to Problem Solving. Journal of Artificial Intelligence 2(3/4), 189–208 (1971)

    Article  MATH  Google Scholar 

  30. Gan, Y.: Runtime Monitoring of Web Service Conversations. Master’s thesis, University of Toronto, Department of Computer Science (March 2007)

    Google Scholar 

  31. Carzaniga, A., Gorla, A., Pezze, M.: Healing Web Applications through Automatic Workarounds. International Journal on Software Tools for Technology Transfer 10(6), 493–502 (2008)

    Article  Google Scholar 

  32. Simmonds, J.: Dynamic Analysis of Web Services. PhD thesis, Department of Computer Science, University of Toronto (2010) (in preparation)

    Google Scholar 

  33. Sahai, A., Machiraju, V., Wursterl, K.: Monitoring and Controlling Internet Based E-Services. In: Proceedings of the Second IEEE Workshop on Internet Applications (WIAPP 2001), Washington, DC, USA, p. 41. IEEE Computer Society, Los Alamitos (2001)

    Chapter  Google Scholar 

  34. Keller, A., Ludwig, H.: The WSLA Framework: Specifying and Monitoring Service Level Agreements for Web Services. Journal of Network and Systems Management 11(1), 57–81 (2003)

    Article  Google Scholar 

  35. Zulkernine, F.H., Martin, P., Wilson, K.: A Middleware Solution to Monitoring Composite Web Services-Based Processes. In: Proceedings of the 2008 IEEE Congress on Services Part II (SERVICES-2 2008), Washington, DC, USA, pp. 149–156. IEEE Computer Society, Los Alamitos (2008)

    Chapter  Google Scholar 

  36. Mahbub, K., Spanoudakis, G.: A Framework for Requirements Monitoring of Service Based Systems. In: Proceedings of the 2nd International Conference on Service Oriented Computing (ICSOC 2004), pp. 84–93. ACM, New York (2004)

    Chapter  Google Scholar 

  37. Mahbub, K., Spanoudakis, G.: Run-time Monitoring of Requirements for Systems Composed of Web-Services: Initial Implementation and Evaluation Experience. In: Proceedings of International Conference on Web Services (ICWS 2005), pp. 257–265 (July 2005)

    Google Scholar 

  38. van der Aalst, W.M.P., Pesic, M.: Specifying and Monitoring Service Flows: Making Web Services Process-Aware. In: Baresi, L., Nitto, E.D. (eds.) Test and Analysis of Web Services, pp. 11–55. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  39. Lazovik, A., Aiello, M., Papazoglou, M.P.: Associating Assertions with Business Processes and Monitoring Their Execution. In: Proceedings of 2nd International Conference on Service Oriented Computing (ICSOC 2004), pp. 94–104 (November 2004)

    Google Scholar 

  40. Baresi, L., Ghezzi, C., Guinea, S.: Smart Monitors for Composed Services. In: Proceedings of 2nd International Conference on Service Oriented Computing (ICSOC 2004), pp. 193–202 (November 2004)

    Google Scholar 

  41. Baresi, L., Guinea, S.: Towards Dynamic Monitoring of WS-BPEL Processes. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 269–282. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  42. Pistore, M., Traverso, P.: Assumption-Based Composition and Monitoring of Web Services. In: Baresi, L., Nitto, E.D. (eds.) Test and Analysis of Web Services, pp. 307–335. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  43. Lohmann, M., Mariani, L., Heckel, R.: A Model-Driven Approach to Discovery, Testing and Monitoring of Web Services. In: Test and Analysis of Web Services, pp. 173–204. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  44. Li, Z., Jin, Y., Han, J.: A Runtime Monitoring and Validation Framework for Web Service Interactions. In: Proceedings of the 17th Australian Software Engineering Conference (ASWEC 2006), pp. 70–79. IEEE Computer Society, Los Alamitos (2006)

    Google Scholar 

  45. Li, Z., Han, J., Jin, Y.: Pattern-Based Specification and Validation of Web Services Interaction Properties. In: Benatallah, B., Casati, F., Traverso, P. (eds.) ICSOC 2005. LNCS, vol. 3826, pp. 73–86. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  46. Shanahan, M.: The Event Calculus Explained. In: Veloso, M.M., Wooldridge, M.J. (eds.) Artificial Intelligence Today. LNCS (LNAI), vol. 1600, pp. 409–430. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  47. Baresi, L., Guinea, S.: Dynamo and Self-Healing BPEL Compositions (research demonstration). In: Proceedings of the 29th International Conference on Software Engineering (ICSE 2007), pp. 69–70. IEEE Computer Society, Los Alamitos (2007) (companion volume)

    Google Scholar 

  48. Fugini, M.G., Mussi, E.: Recovery of Faulty Web Applications through Service Discovery. In: Proceedings of the 1st SMR-VLDB Workshop, Matchmaking and Approximate Semantic-based Retrieval: Issues and Perspectives, 32nd International Conference on Very Large Databases, pp. 67–80 (September 2006)

    Google Scholar 

  49. Dobson, G.: Using WS-BPEL to Implement Software Fault Tolerance for Web Services. In: 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA 2006), pp. 126–133 (August 2006)

    Google Scholar 

  50. Brun, Y., Medvidovic, N.: Fault and Adversary Tolerance as an Emergent Property of Distributed Systems’ Software Architectures. In: Proceedings of the 2007 Workshop on Engineering Fault Tolerant Systems (EFTS 2007), pp. 1–7 (September 2007)

    Google Scholar 

  51. Kramer, J., Magee, J.: Self-Managed Systems: an Architectural Challenge. In: The ICSE 2007 Workshop on the Future of Software Engineering (FOSE 2007), pp. 259–268 (May 2007)

    Google Scholar 

  52. Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Serugendo, G.D.M., Dustdar, S., Finkelstein, A., Gacek, C., Geihs, K., Grassi, V., Karsai, G., Kienle, H.M., Kramer, J., Litoiu, M., Malek, S., Mirandola, R., Müller, H.A., Park, S., Shaw, M., Tichy, M., Tivoli, M., Weyns, D., Whittle, J.: Software Engineering for Self-Adaptive Systems: A Research Roadmap. In: Software Engineering for Self-Adaptive Systems, pp. 1–26 (2009)

    Google Scholar 

  53. Cheng, B.H.C., de Lemos, R., Garlan, D., Giese, H., Litoiu, M., Magee, J., Müller, H.A., Taylor, R.: Seams 2009: Software engineering for adaptive and self-managing systems. In: 31st International Conference on Software Engineering (ICSE 2009), pp. 463–464 (May 2009) (companion volume)

    Google Scholar 

  54. Inverardi, P., Mostarda, L., Tivoli, M., Autili, M.: Synthesis of Correct and Distributed Adaptors for Component-Based Systems: an Automatic Approach. In: Proceedings of the 20th International Conference on Automated Software Engineering (ASE 2005), pp. 405–409 (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Simmonds, J., Ben-David, S., Chechik, M. (2010). Monitoring and Recovery of Web Service Applications. In: Chignell, M., Cordy, J., Ng, J., Yesha, Y. (eds) The Smart Internet. Lecture Notes in Computer Science, vol 6400. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16599-3_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-16599-3_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-16598-6

  • Online ISBN: 978-3-642-16599-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics