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\).
Similar content being viewed by others
References
Alonso G, Casati an F, Kuno HA, Machiraju V (2004) Web services: concepts, architectures and applications. Springer, Berlin
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
Benatallah B, Casati F, Toumani F (2006) Representing, analysing and managing web service protocols. Data Knowl Eng 58(3):327–357
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
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
Berardi D, Cheikh F, De Giacomo G, Patrizi F (2008) Automatic service composition via simulation. Int J Found Comput Sci 19(2):429–451
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
Bushehrian O, Zare S, Rad NK (2012) A workflow-based failure recovery in web services composition. J Softw Eng Appl 5:89–95
Fredj M, Georgantas N, Issarny V, Zarras A (2008) Dynamic service substitution in service-oriented architectures. In SERVICES I, pp 101–104
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
Hamadi R, Benatallah B (2004) Recovery nets: towards self-adaptive workflow systems. In: WISE, pp 439–453
Hassen RR (2009) Automatic composition of protocol-based web services. PhD thesis, Blaise Pascal, Clermont-Ferrand II
Johnson DS (1986) The NP-completeness column: an ongoing guide. J Algorithms 7(4):584–601
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
Maurer HA, Sudborough JH, Welzl E (1981) On the complexity of the general coloring problem. Inf Control 51(2):128–145
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
Patrizi F (2009) Simulation-based techniques for automated service composition. PhD thesis, University of Roma
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
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
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
Author information
Authors and Affiliations
Corresponding author
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)\).
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11761-015-0176-z