Fluent Calculus Based Web Service Composition

Abstract

This paper presents a novel approach for semantic web service composition based on the formalism of fluent calculus. We show how the planning capabilities of the fluent calculus can be used to automatically generate an abstract composition model. For describing the capabilities of web services we have used an OWL-S ontology. Based on the OWL-S ontology semantics, we encode the web service description in the fluent calculus formalism and provide a planning strategy for service composition. To test our composition method, we have implemented an experimental framework that automatically composes and executes web services. Our approach is similar with McIlraiths [2] in terms of computational model, both approaches having the roots in the theory of situation calculus, but the two solutions are complementary. In the situation calculus, the successor state axioms describe how a particular fluent may be changed by an action, whereas the state update axioms of the fluent calculus describe which fluents are changed by an action. The two approaches also differ in the way to evaluate the conditions in the programming languages (GOLOG and FLUX) that implement the two formalisms. For condition evaluation, GOLOG applies the principle of regression, while FLUX [3] uses the principle of progression. Using regression is efficient for short action sequences, but the computational effort increases with the number of performed actions, while by using progression, the computational effort remains the same, independently of the number of performed actions.

Thielscher, M.: Programming of Reasoning and Planning Agents with FLUX. In: The International Conference on Principles of Knowledge Representation and Reasoning. Morgan Kaufmann, San Francisco (2002)Google Scholar