Towards the Generation of Explanations for Semantic Web Services in OWL-S Carlos G. Fernandes, Vasco Furtado University of Fortaleza Av. Washigton Soares 1321, Fortaleza, CE, Brazil carlosgustavo@edu.unifor.br, vasco@unifor.br Alyssa Glass, Deborah L. McGuinness Stanford University Stanford, CA 94305 USA {glass | dlm} @ksl.stanford.edu ABSTRACT In this article we define a system, called XplainS that automatically generates an infrastructure for providing explanations of semantic web services described in OWL-S. XplainS has a strategy for generating production rules from a flow where several levels of distribution of the services exist. Categories and Subject Descriptors I.2.4 [Artificial Intelligence]: Knowledge Representation Formalisms and Methods Representation languages, Representations (procedural and rule-based), Semantic networks. General Terms Algorithms, Languages. Keywords Explanation, Web Services, Semantic Web. 1. INTRODUCTION Semantic Web Services (SWS) are prominent components in the Semantic Web context. They possess descriptions of service functionalities along with input and output parameters and are being used to provide automatic procedures of discovery, composition and execution. SWS users need to understand how the solution was produced before they can be expected to trust and depend on the solution. They need explanations that describe the flow of the SWS and the steps of inference that were followed to produce a particular result. In this article, we propose an approach called XplainS, which is embedded in OWL-S and permits the automatic generation of an infrastructure to supply SWS explanations. The approach involves a strategy to generate rules used for representing explanations of the execution of Semantic Web Services. Such rules are represented in Proof Markup Language (PML), an ontology used as the basis of the Interlingua for the Inference Web (IW) explanation framework [1]. In this approach, explanations can be passed along with SWS, allowing the construction of rich explanations based on distributed and interoperable services. 2. GENERAL XPLAINS ARCHITECTURE The representation of knowledge for explanations is an acyclic graph where each node of the graph is represented by a PML structure defined in IW. Each PML node of the explanation graph has three main pieces of information: the inference rule (utilized to guide the search for information), the conclusion (declarative information representing the information concluded by the process execution) and the antecedents of the inference rule. Our intention is to create a declarative representation of the execution process of a SWS in order to utilize the explanation-manipulating tools already developed in IW. The process of generating the information from the process execution flow graph is done in parallel with the OWL-S execution flow. Notice that OWL-S, in addition to supplying the process ontology, has a software interface that makes the ontology “operational” by executing the web services associated with the ontology description. In OWL-S, there are two types of processes: atomic and composite. The atomic process is executable, and invokes the web service. The composite process is not executable, but rather is a set of other processes. Thus, a clear and recursive execution structure can be seen, whereby the API [2] interprets the composite processes recursively until it finds an atomic process. Notice that upon interpreting the process flow, it is also necessary to identify the conditions (Repeat and IfThenElse) and the pre- conditions for the process to be executed. Rules of process finalization that result in the activation of such process are generated based on the interpretation of the conditions/pre- conditions. Moreover, XplainS creates a process execution rule that represents the element of construction, and the scope of the rule is represented by the condition at the top of the conditions stack. Such procedure is repeated until all of the processes have been executed. One of the most important aspects of web service explanations is in the context of distributed services. For example, a travel agency, when attempting to reserve a hotel room for a client, can use a service to find hotels that meet the user’s location preferences. An explanation based only on the description of the immediate call to the service would not be satisfactory for the user, who may want detailed information produced by the web service invoked by the hotel services. The heterogeneity of the web and the dynamicity supplied by the automatic composition of web services makes an a priori preparation of the explanation infrastructure very difficult. Our approach solves this problem by embedding the generation of the explanation infrastructure at the OWL-S level. Therefore, the only necessary requirements are web services that are both described in OWL-S and running XplainS. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SAC’08, March 16-20, 2008, Fortaleza, Ceará, Brazil. Copyright 2008 ACM 978-1-59593-753-7/08/0003…$5.00. 2350