Skip to Main Content
Transparent recovery from application as well as system failures is an important task in the execution of composite Web services. Conventionally, this is addressed at design time by explicitly specifying fault handlers or alternative execution paths in the service's control flow. However, especially in large and dynamic service environments such as the Web where one cannot assume to know (all) available services at design time, or when using automatic service composition methods to create ad hoc composite services, the design time approach to failure handling is not applicable any more. Rather, alternative services for failure handling purposes should be dynamically selected at run time. In this paper, we present a novel approach to flexible and automatic semantic failure handling for composite services, called Control Flow Intervention (CFI). Essentially, CFI provides optimistic forward recovery by dynamically replacing failed services at runtime by semantically equivalent or semantically similar services. For this, CFI adopts expressive semantic service annotations based on OWL-S and OWL. We present in detail the semantic relations that allow replacing services at runtime, and we report how CFI has been implemented and evaluated on the basis of OSIRIS Next, our open and distributed service support platform.