Skip to main content
Log in

Towards a formal study of automatic failure recovery in protocol-based web service composition

  • Original Research Paper
  • Published:
Service Oriented Computing and Applications Aims and scope Submit manuscript

Abstract

In the protocol-based Web service composition, the runtime unavailability of component services may result in a failed execution of the composite. In literature, multiple recovery heuristics have been proposed. This work provides a formal study and focuses on the complexity issues of the recovery problem in the protocol-based Web service composition. A recovery is a process responsible of migrating the failed execution into an alternative execution of the composite that still has the ability to reach a final state. The alternative execution is called a recovery execution. Following failure occurrence, several recovery executions may be available. The problem of finding the best recovery execution(s) is called the recovery problem. Several criteria may be used to determine the best recovery execution(s). In this work, we define the best recovery execution as the one which is attainable from the failed execution with a maximal number of invisible compensations with respect to the client. We assume that all transitions are compensatable. For a given recovery execution, we prove that the decision problem associated with computing the number of invisibly compensated transitions is NP-complete, and thus, we conclude that deciding of the best recovery execution is in \(\Sigma _2^P\).

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

References

  1. Alonso G, Casati an F, Kuno HA, Machiraju V (2004) Web services: concepts, architectures and applications. Springer, Berlin

    Book  MATH  Google Scholar 

  2. Angarita R, Cardinale Y, Rukoz M (2012) Faceta: backward and forward recovery for execution of transactional composite ws. In: CEUR Workshop Proceedings, Heraklion, Grèce

  3. Benatallah B, Casati F, Toumani F (2006) Representing, analysing and managing web service protocols. Data Knowl Eng 58(3):327–357

    Article  Google Scholar 

  4. Berardi D, Calvanese D, De Giacomo G, Lenzerini M, Mecella M (2003) Automatic composition of e-services that export their behavior. In: ICSOC, pp 43–58

  5. Berardi D, Calvanese D, De Giacomo G, Lenzerini M, Mecella M (2005) Automatic service composition based on behavioral descriptions. Int J Coop Inf Syst 14(4):333–376

    Article  Google Scholar 

  6. Berardi D, Cheikh F, De Giacomo G, Patrizi F (2008) Automatic service composition via simulation. Int J Found Comput Sci 19(2):429–451

    Article  MathSciNet  MATH  Google Scholar 

  7. Bhiri S, Perrin O, Godart C (2005) Ensuring required failure atomicity of composite web services. In: 14th international conference on World Wide Web, Chiba, Japan, pp 138–147

  8. Bushehrian O, Zare S, Rad NK (2012) A workflow-based failure recovery in web services composition. J Softw Eng Appl 5:89–95

    Article  Google Scholar 

  9. Fredj M, Georgantas N, Issarny V, Zarras A (2008) Dynamic service substitution in service-oriented architectures. In SERVICES I, pp 101–104

  10. Friedrich G, Fugini M, Mussi E, Pernici B, Tagni G (2010) Exception handling for repair in service-based processes. IEEE Trans Softw Eng 99:198–215

  11. Hamadi R, Benatallah B (2004) Recovery nets: towards self-adaptive workflow systems. In: WISE, pp 439–453

  12. Hassen RR (2009) Automatic composition of protocol-based web services. PhD thesis, Blaise Pascal, Clermont-Ferrand II

  13. Johnson DS (1986) The NP-completeness column: an ongoing guide. J Algorithms 7(4):584–601

    Article  MathSciNet  MATH  Google Scholar 

  14. Kandel A, Bunke H, Last M (eds) (2007) Applied graph theory in computer vision and pattern recognition, volume 52 of studies in computational intelligence. Springer, Berlin

    Google Scholar 

  15. Maurer HA, Sudborough JH, Welzl E (1981) On the complexity of the general coloring problem. Inf Control 51(2):128–145

    Article  MathSciNet  MATH  Google Scholar 

  16. Desai N, Mallya AU, Chopra AK, Singh MP (2005) Interaction protocols as design abstractions for business processes. IEEE Trans Soft Eng 31(12):1015–1027

    Article  Google Scholar 

  17. Patrizi F (2009) Simulation-based techniques for automated service composition. PhD thesis, University of Roma

  18. Sardina S, Patrizi F, Giacomo GD (2008) Behavior composition in the presence of failure. In: 11th international conference on principles of knowledge representation and reasoning, Sydney, Australia, pp 640–650

  19. Urban S, Gao L, Shrestha R, Xiao Y, Friedman Z, Rodriguez J (2011) The assurance point model for consistency and recovery in service composition. In: Innovations, standards and practices of web services: emerging research topics. IGI Global Publication, pp 250–287

  20. Yu T, Lin KJ (April 2005) Adaptive algorithms for finding replacement services in autonomic distributed business processes. In: 7th international symposium on autonomous decentralized systems, Chengdu, China

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nardjes Menadjelia.

Appendix: Delegator cleaning

Appendix: Delegator cleaning

In order to create a cleaned version of \(D({A_{T}}, R)=\langle \Sigma _D, S_D, s^{D}_{0}, F_D, \lambda _D , delegates_D \rangle \), we use the cleaning Algorithm 1. The resulting delegator, denoted \(D'(A_{T}, R) = \langle \Sigma _D, S_{D'},s^{D'}_{0}, F_{D'}, \lambda _{D'} , delegates_D\rangle \), will be used in the recovery process when looking for alternatives to the failed execution. Indeed, it reduces the search space by putting out executions not leading to final states.

Let IT denotes the set of invalid transitions on the delegator, then Algorithm 1 essentially goes through two steps:

  • Lines 2 \(\rightarrow \) 3: We create an initial cleaned delegator. It is a copy of the original delegator except for the set of transitions, i.e., \(\lambda _{D'}\leftarrow \lambda _D{\setminus } IT\).

  • Line 4: All transitions of \(\lambda _{D'}\) that can no more serve to reach a final state are removed using the Procedure Clean. We based on the following property: Each transition which the arrival state has no successors and does not belong to final states should be removed. To deal with loops and cycles, each state s is set to visited when calling Clean\((s)\). However, the state s may be successor to other states belonging to branches not yet traversed. Therefore, the state s is reset to \(nonvisited\) at the end of each call to Clean\((s)\).

In Algorithm 1, \(succ(s)\) and \(pred(s)\) denote, respectively, the set of all successors and predecessors of a state \(s\in S_D. succ_i(s)\) and \(pred_i(s)\) are, respectively, the ith successor and the ith predecessor of s. Both automata corresponding to the initial and the cleaned delegators are given by their adjacency matrix. The set \(F_{D'}\) is a binary table where each state i receives 1 if \(i\in F_{D'}\) and receives 0 otherwise. Therefore, the worst-case computational complexity of the Algorithm 1 is \(O(|\lambda _{D'}|)\). This corresponding to the complexity of the depth-first traversing of \(D'(A_{T}, R)\).

figure a
figure b

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Menadjelia, N. Towards a formal study of automatic failure recovery in protocol-based web service composition. SOCA 10, 173–184 (2016). https://doi.org/10.1007/s11761-015-0176-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11761-015-0176-z

Keywords

Navigation