Flexible Semantic Service Execution
PhD Thesis, Department of Mathematics and Computer Science
University of Basel, Switzerland
This thesis deals with an important task in the context of distributed and service-oriented architectures:the correct, reliable, and efficient execution of software-based services. In the center of this work are two approaches that increase the flexibility in this task. First, a novel method for automated forward recovery of service failures at execution time, called Control Flow Intervention (CFI). Second, a self-contained technique that allows for migration of running execution instances among available execution machines. Both address requirements specific to novel Internet-based and mobile applications. Characteristic for such applications are (i) inherent remote invocation, (ii) ad-hoc services to cope with dynamically changing environments and user preferences, and (iii) frequent errors due to wireless connections and volatility of offered services. The underlying theory for all investigations made in this thesis are Semantic Services, based in particular on deductive and decidable Description Logics. In a first step, we take up prior work in this area and develop it further towards a coherent formal system model that combines essential dimensions of service semantics. Based on this model, the focus is then on CFI. The goal of this method is to correct service failures by appropriate replacement strategies in a forward-oriented way, meaning that the overall goal of a service remains attainable, though in a semantically equivalent or at least comparable form. This is achieved by dynamically shifting to semantically equivalent or similar alternatives. Alternatives are however not pre-defined as part of the service specification. Rather, it is assumed that they exist in the application domain and that they are searched for on demand in the presence of a failure. Since the system model allows for two types of concurrency in the service execution, and since the state of execution instances is represented in a shared knowledge base, we also investigate the problem of ensuring correct concurrent access to knowledge bases so that inferences are avoided. Specifically, we present a novel concurrency control model for transactions operating over a Web Ontology Language knowledge base. Efficiency and isolation properties of the presented approach are furthermore discussed. In order to investigate the practical applicability of the presented methods, they were prototypically implemented in our distributed and decentralized execution system OSIRIS NEXT. We describe the architecture of this system. In this context, the distributed execution technique is presented that is particularly optimized for ad-hoc services that are usually (semi-)automatically composed and executed a few times only. Finally, the presented methods were evaluated quantitatively by various experiments with respect to their runtime behavior. The results and the experiences gained show the potential of the methods for their application in practice.