skip to main content
10.5555/1980659.1980679guidebooksArticle/Chapter ViewAbstractPublication PagesBookacm-pubtype
chapter

Monitoring and recovery of web service applications

Published: 01 January 2010 Publication History

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.

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).
[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).
[4]
Fu, X., Bultan, T., Su, J.: Analysis of Interacting BPEL Web Services. In: Proceedings of the 13th international conference on World Wide Web (WWW2004), pp. 621-630 (May 2004).
[5]
Kazhamiakin, R., Pistore, M.: A Parametric Communication Model for the Verification of BPEL4WS Compositions. In: Bravetti, M., Kloul, L., Zavattaro, G. (eds.) EPEW/WSEM 2005. LNCS, vol. 3670, pp. 318-332. Springer, Heidelberg (2005).
[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-EM2005. LNCS, vol. 3670, pp. 257-271. Springer, Heidelberg (2005).
[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).
[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).
[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).
[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).
[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).
[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).
[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).
[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).
[15]
Clarke, E., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999).
[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).
[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).
[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).
[19]
Foster, H.: A Rigorous Approach to Engineering Web Service Compositions. PhD thesis, Imperial College (2006).
[20]
Hopcroft, J.E., Ullman, J.D.: Introduction to Automata Theory, Languages and Computation. Addison-Wesley, Reading (1979).
[21]
Simmonds, J., Gan, Y., Chechik, M., Nejati, S., O'Farrell, B., Litani, E., Waterhouse, J.: Run-time Monitoring of Web Service Conversations. IEEE Transactions on Service Computing (2009).
[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).
[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).
[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).
[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).
[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).
[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).
[28]
Magee, J., Kramer, J.: Concurrency - State Models and Java Programs. John Wiley, Chichester (1999).
[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).
[30]
Gan, Y.: Runtime Monitoring of Web Service Conversations. Master's thesis, University of Toronto, Department of Computer Science (March 2007).
[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).
[32]
Simmonds, J.: Dynamic Analysis of Web Services. PhD thesis, Department of Computer Science, University of Toronto (2010) (in preparation).
[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).
[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).
[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).
[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).
[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).
[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).
[39]
Lazovik, A., Aiello, M., Papazoglou, M.P.: Associating Assertions with Business Processes andMonitoring Their Execution. In: Proceedings of 2nd International Conference on Service Oriented Computing (ICSOC 2004), pp. 94-104 (November 2004).
[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).
[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).
[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).
[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).
[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).
[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).
[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).
[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).
[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).
[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).
[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).
[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).
[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).
[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).
[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).

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide books
The smart internet: current research and future applications
January 2010
319 pages
ISBN:3642165982
  • Editors:
  • Mark Chignell,
  • James Cordy,
  • Joanna Ng,
  • Yelena Yesha

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 01 January 2010

Qualifiers

  • Chapter

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media