Towards an Automatic Non-Deterministic Web

0 downloads 0 Views 461KB Size Report
Jan 13, 2012 - as to satisfy the needs of a manual OWL-S composer; that is, we created the necessary OWL-S constructs, as well as some. “helper” constructs ...
Towards an Automatic Non-Deterministic Web Service Composition Platform George Markou

Ioannis Refanidis

Dept of Applied Informatics University of Macedonia Thessaloniki, Greece e-mail: [email protected]

Dept of Applied Informatics University of Macedonia Thessaloniki, Greece e-mail: [email protected]

Abstract— This paper describes work in progress towards the implementation of an online Web Service Composition system. The system adheres to the reusable nature of web Services by utilizing existing open source projects as sub-elements and is based on the most prevalent web service standards. It will treat non-determinism as an inherent characteristic of the problem and tackle it through the use of contingency planning. To the best of our knowledge, the final system will be the first online application of its kind able to support various stages of Web Service Composition. In this paper we focus on the evaluation framework for the proposed system, based on an existing test collection and three detailed use case scenarios, and a manual composition module than can produce workflows corresponding to them. Keywords-Web OWL-S

Service;

I.

composition;

non-determinism;

INTRODUCTION

Web services exist and operate in an ever-changing and expanding environment; as such, it is difficult to expect from even a human expert to manually or semi-automatically complete the goal of a Web Service Composition (WSC) process. The number of web services is growing continuously making the web services’ discovery phase more difficult. Moreover, web services can change interfaces or part of their usage multiple times throughout their lifespan; even if they remain static, there is a possibility that their execution is not always successful. A WSC process should be able to handle such issues effectively, by detecting and responding to these changes automatically, in a way that a human would probably not be able to. In [1] we proposed a WSC system that is able to support various functionalities relating to different stages of WSC, focusing on the implementation of a registry in which a user of the system is currently able to advertise a new web service, as well as retrieve and edit the ones already stored in it through the system’s online interface. This paper extends our previous work by focusing on the evaluation process of the system presented in [1]; specifically, we present a manual WSC module that is used to produce workflows for the previously defined use case scenarios along with its implementation, as well as expand on details regarding them, e.g., the number of participating web services or the domains used in their creation. The final system will be able to generate a composition process model, based on contingency planning and OWL-S’

control constructs. In order to achieve this goal, a translation between the language used to describe the semantic web services taking part in the composition, i.e., OWL-S, and an Artificial Intelligence (AI) planning one, namely NuPDDL [2], is required. A necessary step after the generation of a plan and its conversion back to an OWL-S process model is the evaluation of the WSC process, which is based on quantitative criteria (e.g., the number of web services considered for the composition, the transformation time of the WSC domain to a planning one, or the total planning time) and pre-defined use case scenarios. To our knowledge, no other open source web-based WSC system exists. Our system’s implementation is based on existing freely available components so as to insure maximum conformance to the current web service standards and facilitate its quantitative evaluation and comparison to other WSC systems. So far, the advertisement functionality has already been integrated in our online application, as well as the basic functionality of a manual WSC module that will be used as a comparison to the automatic WSC one. Currently, our work is focused on the complete mapping between the elements of OWL-S and NuPDDL, as well as the deployment of the manual WSC module. The rest of the paper is organized as follows: In Section II we review works related to our own research, while in Section III we briefly present the approach that is being followed in order to implement the various WSC functionalities of the proposed system. Section IV focuses on evaluation; more specifically, it presents three scenarios that can be used as test cases for our system and a manual WSC module that is used for the generation of workflows for the predefined scenarios. Finally, Section V concludes the paper and poses directions for future work. II.

RELATED WORK

AI planning is one of the most widespread approaches used to tackle the WSC problem. Perhaps the most notable among the several approaches that convert the original WSC problem to a planning one is presented in [3]. The proposed system, SHOP2, translates the available web services’ OWLS process models to a SHOP2 domain, and the WSC problem to a compatible HTN planning problem by describing it as a composite process that can be decomposed to simpler ones (with simple processes being atomic web services). Then, the planner generates a plan that can be

converted back to an OWL-S process and executed by the OWL-S API. However, this approach suffers from the fact that it cannot cope with non-determinism; a newer version of SHOP2 has been implemented specifically to tackle this problem [4], however, to our knowledge, ND-SHOP2 has not actually been tested in the field of WSC. Furthermore, the approach in [3] is planner-dependent, limiting it in comparison to approaches similar to ours that translate the WSC problem to a PDDL-compliant one. A WSC approach that deals with both of these deficiencies is presented in [5]. It presents a tool, WSPlan, which transforms semantically annotated WSDL based service descriptions and information from the agent's knowledge base to PDDL. WSPlan copes with two forms of non-determinism: a) whether a WS has completed successfully, i.e., achieved the desired effect or not, and, b) whether an exception has occurred during its execution. However, the semantic annotation of the relevant WSs is achieved through a custom format, and not OWL-S or any other standardized description language. An approach very similar to [3] is presented in [6], which couples SHOP2 with an OWL-DL reasoner in order to tackle common problems of HTN methods, such as the inability to associate preferences with possible decompositions. The planner’s performance as well as the overall results presented are promising; however, apart from the fact that the methodology makes the assumption that a template is always provided a priori, it is also based on an extension of OWL-S with a new process type, which hinders the use of existing test sets or tools in conjunction with this approach. Finally, the use of a specific planner and internal representation excludes the use of alternative PDDL-compliant planners that could possibly tackle the problem more efficiently if a standardized presentation was adopted. Since PDDL and OWL-S are, respectively, the de facto planning language and the most widely used semantic description language, it is to be expected that several attempts to utilize them together in order to solve WSC problems exist. Moreover, as the latter has been heavily influenced from planning languages, a (perhaps partial) mapping from OWL-S to PDDL is relatively intuitive. OWLS-Xplan [7] is arguably the most known approach incorporating a translation between the two languages. The system presented includes a conversion tool that translates OWL-S descriptions to corresponding PDDL 2.1 ones; this translation, though, does not output a standard PDDL file, but a modified version of it in XML, which, according to the authors, simplifies parsing, reading, and communicating PDDL descriptions using SOAP. Then, Xplan, a hybrid planner that combines guided local search with graph planning and a simple form of HTN decomposition, is called to solve the planning problem. A second approach similar to the one proposed in this paper is presented in [8]. Its authors acknowledge that the WSC process cannot ignore the inherent non-determinism in the domain, and present a methodology that interleaves planning and execution to tackle it, based on an existing PDDL planner (Simplanner). The proposed system is fault

tolerant, considers web services’ preconditions and effects, and allows for world altering web services. Moreover, a conversion schema from OWL-S to PDDL is presented, mostly based on [7, 9]. On the other hand, the proposed system does not support a full-featured registry, which could allow the addition/ removal of web services; it can only function in small, prefiltered environments, that is, the relevant web services are discovered and saved in a temporary registry. Furthermore, a link to the system’s source code or the actual implemented application is not provided. To our knowledge, there are currently no web-based systems supporting multiples phases of the WSC process available. In [10] an offline WSC system (SWORD) is presented that considers web services to be represented by rules that state that given certain inputs, a WS produces specific outputs. That is, the de facto standards such as WSDL or OWL-S are not adopted; moreover, the approach is simply evaluated on a single use case, without referring to the time needed to succeed, or the number of WSs involved. On the other hand, a proof-of-concept prototype is presented, along with an example of its use in a movie and restaurant trip planner composite service. Finally, it is mentioned that a total of seven composite services were created from a set of ten base web services. YaWSA [11] was the only system in the literature that provided its users with a web-based interface; however it was rather simplistic and only implemented a WSC process, without supporting any other phases of WSC. Moreover, at the time of writing it was no longer available for public use. Another, more promising system is described in [12], supporting multiple phases of WSC, such as web service browsing, the creation of composite services, and service flow execution. Despite the authors referring to a prototype web-based WSC system, though, a public link to a running demo of their implementation is not provided. An important fact to note is that the recent bibliography [13] suggests a gap in the evaluation process of the current WSC systems. Not only is there no standard web service test set [14], but most approaches, especially the ones related to planning based techniques, simply evaluate their methodology on a single case study, without referring to quantitative criteria [15, 16]. Two different case studies are presented in [8], based on a travel domain scenario that was also used as an example dataset in the deployed application of OWLS-Xplan. The scenarios deal with non-determinism in the form of information and service unavailability, and, furthermore, information on which services are used is provided, along with their functionality. However, there are no quantitative measurements presented to attest to the application’s responsiveness and fault tolerance. Only recently, a few approaches, such as [14, 17], have deviated from the rule of evaluating their methodology without quantitative criteria. The most extensive evaluation results are provided in [14], which analyzes two artificial benchmarks with different encoding methods and planners, and measures the total runtime of the planner, as well as the number of search states and actions in the output plans.

Kona et al. [17] present three detailed versions of a single use case scenario, each suited for a mode of their WSC algorithm, along with the IOPEs of the services that take part in the solution of the problem. Furthermore, the authors make use of a specific test collection, i.e., a modified version of the 2006 Web Service Challenge customized in order to fit their framework of choice. Various quantitative results regarding the experiments are mentioned; the number of web services participating in the WSC, the number of I/O parameters each web service had, and the preprocessing and query execution time needed to obtain a solution. In contrast to [14], however, the authors of [17] do not provide details regarding the machine that was used to run the experiments. III.

PROPOSED APPROACH

One of the basic motivations behind our work is that a WSC system should follow the same principles as web services themselves. Since web services’ technologies are based on the idea of maximizing the reuse of loosely coupled components, our view is that our system should also be created with the same approach in mind and incorporate already freely available components as their sub-elements. In short, our approach can be described as follows: In order to support the ability to store the service descriptions that will be used later in the discovery of suitable web services in a registry, the core of our application is based on iServe [18]; iServe is an open platform for publishing and discovering services that supports importing service annotations in a range of formalisms (e.g., SAWSDL, WSMO-Lite and OWL-S) through their transformation to linked data expressed in terms of a simple, common, vocabulary for services. Specifically, we make use of its web-based application that allows users to browse, query and upload services, which, in our case, are semantically described in OWL-S. We have added an online XML editor to the application, made several improvements to its interface and functionality, and populated the registry with version 4.0 of the OWL-S Service Retrieval Test Collection (OWL-S TC) [19].

The system’s planning module will use NuPDDL for its purposes, as it is compatible with PDDL2.1, retaining most of it, including the handling of functions, conditional effects, and quantifiers; it is also capable of modeling nondeterministic action effects through the introduction of new keywords, such as oneof and unknown. Since the web services in the registry are described semantically through OWL-S, a translation between the two languages must take place. There is a number of works that have proposed conversion schemas from OWL-S to PDDL, all of which follow a similar schema. We will adopt an approach similar to [6, 8] who imply that this conversion is straightforward, at least partially, and present their own mapping. After the translation, AI planning techniques can be used to generate the output plan/composite web service. We opt for the incorporation of a contingent planner [20], so as to generate plans that can cope with the most influential and likely contingencies, as composite web services may fail to execute correctly for various reasons, such as the unavailability of an atomic web service involved in the plan, or simply because the output of their successful execution is not the expected one. Our goal is not to develop a plan for every possible contingency, as the WSC domain has too many sources of uncertainty for such an approach to succeed; instead, we will follow an approach similar to [21]. Finally, we will convert the NuPDDL plan back to an OWL-S (composite) web service, that is, create an OWL-S profile and its process description through the use of OWL-S API [22], without, however, providing a corresponding WSDL definition, in a fashion close to that described in [17]. Fig. 1 illustrates our approach. We refer the reader to [2] for details regarding the translation modules (from OWL-S to NuPDDL and vice versa) and the problems that arise during the mapping between the two languages, as well as for further information about the contingency planning process. Our work is still in progress and the development of the web-based application is still in alpha version; as such it is not yet available publicly to users. However, a link to its current source code is available in [23].

Figure 1. System overview (using modified figure from [18, 21]).

Figure 2. Movie database scenario workflow.

F Figure 3. Online bookstore scenario workflow.

IV.

EVALUATION OF RESULLTS

A. Use Case Scenarios The lack of a standard web service testt bed, concerning both the scenarios used to test the WSC proccess, and the web services that take part in it is detrimenttal to the WSC systems’ development, as it is currently not possible to evaluate a WSC approach efficiently and obbjectively against another one. Moreover, this fact has led to tthe trend of most WSC approaches not providing any quantiitative data at all concerning their system’s performance. How wever, in the past few years OWL-S TC has been used extensiively, as a test set in the recent S3 contests [24], or in several aproaches in the recent literature [8, 25], a fact that suggests its suitability for use in our evaluation experiments. We believe that the definition of sppecific use case scenarios in detail, as well as the provision oof the actual web services’ descriptions that will be used, benefit both the efficiency of our own approach as weell as the WSC community, as it will allow for the reproducibility of our experiments and the comparison of existinng WSC systems with each other. As such, we have designeed three use case scenarios, each based on the web services contained in a single domain of OWL-S TC, and with an inncreasing amount of non-determinism and complexity than thee previous one. In order to design useful test cases forr our system, we made several minor modifications to thee available web services’ descriptions and their relative onttologies, and also added a few descriptions to the collection, albeit similar to

the ones already included in it. A full f description of the use cases and the web services they are based on can be found in [26]. ministic, allowing for the The first use case is fully determ output of a fully serialized compositte web service; it refers to a user who knows part of a movie title t and wants to retrieve all the comedy films that exist with a similar title, along with c uses the web services their pricing information. This use case in the “Communication” domain off the test collection, with the relevant ones in regard to its scenario amounting to a total of 58 semantic web services. The other two scenarios feeature non-deterministic elements, such as preferences between types of products, or h different outcomes. cases where a web service may have Particularly, the second one referss to an online bookstore user who wants to purchase a book with w a specific method of payment (with three different choicces being available), with the output composite web service having h different outcomes depending on whether the book is in n stock at the store or not. If the book is available, the composite web service should add it to the user’s shopping cart, purchase it with the a output information specified method of payment, and regarding it, such as its size and if a reader of the book has owever, it is not in stock, written a review regarding it. If, ho no payment should be made, and d no further information concerning it should be displayed to o the client. This use case uses the web services in the “Educaation” domain of OWL-S TC, with the relevant ones being 285 5 in total.

The final use case also concerns the purchase of an item, but in this case more than one sellers are assumed to exist, and the composite web service should check with all of them to determine if the item is in stock. Moreover, this scenario differs from the previous one in that is also takes into account the user’s preferences. In specific, the user is assumed to have a preference towards an analog SLR camera model, but is willing to settle for other cameras if that specific one is not in stock. As such, if a store is found that sells the analog SLR model and has it in stock, that product should be added to the user’s shopping cart. If it is not in stock, the search should continue for another store that sells it, and if one cannot be found, the process should be repeated, this time searching for the camera’s compact version, or, if all else fails, for any camera available in stock. The third use case scenario makes use of the test collection’s “Economy” domain and of a total of 359 semantic web services. Although the first two scenarios can be considered as special cases of the last one, it is important to showcase that the system can indeed cope with the generation of both sequential and conditional plans, with and without preferences. Moreover, the importance of the scenarios lies in that they exhibit that this particular set of web services can be used to produce meaningful use cases that can evaluate the capabilities of WSC approaches efficiently and in a manner that is reproducible and extensible. B. Manual Web Service Composition Module Since the literature does not suggest a standard test bed or any WSC systems that are directly comparable to ours in terms of motivation (that is, regarding the WSC problem as an inherently non-deterministic one), use of standards and test sets/use case scenarios, we decided to further evaluate our automatic WSC approach against a manual one. Specifically, we made use of an existing open source BPMN 2.0 modeler, Petals BPM [27], which we modified so as to satisfy the needs of a manual OWL-S composer; that is, we created the necessary OWL-S constructs, as well as some “helper” constructs that are used to provide a more intuitive interface, e.g. an “End Repeat-While” construct, or dedicated “if” and “else” sequence flows. Moreover, the implemented module guides the user in regard to the correct use of the OWL-S constructs whenever she inputs one in a workflow. The current state of our work allows for the temporary internal save and load of the created graphical workflows, and is also able to validate the created workflows against pre-defined rules in order to help the user export a valid composite web service. Finally, the web service constructs that are added to the workflows can be bound to specific web services already in the registry of our online application, and in a similar manner, the data input/output constructs that are used can be bound to relevant ontologies’ concepts present in iServe. The existing implementation of the manual composition module allows the system’s users to employ the composer to

manually create the graphical workflows that represent the three use case scenarios that were presented in the previous sub-section. Fig. 2, 3 illustrate the workflows representing the first and second scenario, respectively, while Fig. 2 illustrates part of the interface of the manual web service composition module along with the workflow that represents the third scenario. We are currently working on the transformation of the created graphical workflows to their respective OWL-S descriptions and the full deployment of the final module. However, a link to the module’s current source code is available in [28]. V.

CONCLUSION AND FUTURE WORK

In this paper, we presented our ongoing work towards the implementation of an online WSC system that makes use of non-deterministic AI planning techniques and of already freely available web service-related components. Furthermore, we described in detail three use case scenarios that can be used to evaluate such systems, based on an existing web services’ test collection. Finally, we presented a manual web service composition module that allows a user of the system to manually produce workflows that can be automatically translated back to OWL-S descriptions, along with the actual workflows that correspond to our evaluation framework’s use case scenarios. The fact that the final system will be online, open source and support various stages of WSC is important, as at the moment, there are no applications with similar capabilities. Moreover, the scenarios enable us to test whether the proposed system can cope with the demands of WSC efficiently; also, it is our hope that they can be used by other WSC works as a common test bed, as they provide detailed descriptions of the web services used and their intended goals, and can be used by systems supporting either deterministic or non-deterministic planning. We expect that in the near future we will be able to demonstrate the first results of this effort through a publicly available online prototype. ACKNOWLEDGMENTS This research has been co-financed by the European Union (European Social Fund – ESF) and Greek national funds through the Operational Program “Education and Lifelong Learning” of the National Strategic Reference Framework (NSRF) - Research Funding Program: Heracleitus II. Investing in knowledge society through the European Social Fund. REFERENCES G. Markou and I. Refanidis, “Towards Automatic NonDeterministic Web Service Composition”", Proc. 7th International Conference on Internet and Web Applications and Services (ICIW'12), May 2012. [2] NuPDDL: Non-determinism and more in PDDL, http://mbp.fbk.eu/NuPDDL.html 03/08/2012 [1]

Figure 4. Camera search scenario workflow. [3]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

E. Sirin, B. Parsia, D. Wu, J. Hendler, annd D. Nau, “HTN planning for web service composition usingg SHOP2”, J. Web Semant., vol. 1, no. 4, Oct. 2004, pp. 377-3996. U. Kuter and D.S. Nau, “Forward-Chaiining Planning in Nondeterministic Domains”, Proc. Ninneteenth National Conference on Artificial Intelligence (AAA AI '04), July 2004, pp. 513-518. J. Peer, “A PDDL Based Tool for Autom matic Web Service Composition”, Proc. Second Internationnal Workshop on Principles and Practice of Semantic Web R Reasoning (PPSWR '04), Sept. 2004, pp. 149-163. E. Sirin, B. Parsia, and J. Hendler, “Template-based composition of semantic web serviices”, Proc. 1st International AAAI Fall Symposium onn Agents and the Semantic Web, Nov. 2005. M. Klusch, Α. Gerber, and M. Schmiddt, “Semantic web service composition planning with OWLS S-Xplan”, Proc. 1st International AAAI Fall Symposium onn Agents and the Semantic Web, Nov. 2005. M. Kuzu and N. Cicekli, “Dynamic plannning approach to automated web service composition”, J. Apppl. Intell., vol. 36, January 2012, pp.1-28. H.S. Kim and I.C. Kim, “Mapping sem mantic web service descriptions to planning domain knnowledge”, Proc. International Federation for Medical and Biological Engineering (IFMBE), August 2006. S.R. Ponnekanti and A. Fox, “SWORD: A Developer Toolkit for Web Service Composition”, Proc. 111th International WWW Conference (WWW2002), May 20022. A. Macdonald, “Service compositioon with hyperprogramming”. Technical Report, Universiity of St Andrews, 2007.http://www.cs.st-andrews.ac.uk/~anguus/docs/yawsa/ final_report.pdf 03/09/2012 X. Du, W. Song, and M. Munro, “Usingg common process patterns for semantic web services composition”, Proc. 15th International Conference on Inforrmation Systems Development (ISD’06), Sept. 2006. M. Chan, J. Bishop, and L. Baresi, “Survey and comparison of planning techniques for web services compoosition”. Technical Report. University of Pretoria. 2007. http:///polelo.cs.up.ac.za/ papers/Chan-Bishop-Baresi.pdf 05/01/2012 J. Hoffmann, P. Bertoli, M. Helmert, and M. Pistore, “Message-based web service compoosition, integrity constraints, and planning under unccertainty: a new connection”, J. Artif. Intell. Res, vol. 35, May 2009, pp.49117.

[15] D.V.

[16]

[17]

[18]

[19] [20]

[21]

[22] [23] [24]

[25]

[26]

[27] [28]

McDermott, “Estimated--regression planning for interactions with web services”, Proc. Sixth International Conference on Artificial Intelligen nce Planning Systems (AIPS ’02), April 2002, pp. 204-211. S. McIlraith and T. Son, “Adaptin ng Golog for composition of semantic web services”, Proc. 8th h International Conference on Principles of Knowledge Representation and Reasoning 6. (KR2002), April 2002, pp. 482-496 S. Kona, A. Bansal, M.B. Blake, and a G. Gupta, “Generalized Semantics-Based Service Com mposition”, Proc. IEEE International Conference on Web Services (ICWS’08), Sept. 2008. C. Pedrinaci, D. Liu, M. Maleshko ova, et al., “iServe: a linked services publishing platform”, Prroc. Ontology Repositories and Editors for the Semantic Web W Workshop at the 7th Extended Semantic Web Conferencce (ORES '10), May 2010. SemWebCentral OWL-S Service Retrieval Test Collection, up_id=89 02/15/2012 http://semwebcentral.org/frs/?grou J.Hoffmann and R.Brafman, “Contingent “ planning via heuristic forward search with im mplicit belief states”. Proc 15th International Conference on n Automated Planning and Scheduling (ICAPS '05), June 2005 5, pp. 71-80. R. Dearden, N. Meuleau, S. Ramaakrishnan, D. Smith, and R. Washington, “Contingency plann ning for planetary rovers”, Proc. 3rd International NASA Workshop W on Planning & Scheduling for Space ( IWPSS '02)), Oct. 2002. OWL-S API introduction, http p://on.cs.unibas.ch/owls-api/ index.html 03/04/2012 Web-based application’s sourcce code, http://ai.uom.gr/ gmarkou/Files/MadSwanSourceCo ode/ 07/05/2012 S3 Contest: Retrieval performancee evaluation of matchmakers for semantic web services, http://www-ags.dfki.uni0 sb.de/~klusch/s3/html/2011.html 01/13/2012 A. Mesmoudi, M. Mrissa, and d M. Hacid, “Combining configuration and query rew writing for web service composition”, Proc. IEEE Interna ational Conference on Web Services (ICWS '11), July 2011, pp p. 113-120. Markou, G.: “Heracleitus II - WSC W Use Case Scenarios”. Technical report. University of Maacedonia, 2012. Available at http://ai.uom.gr/gmarkou/Files/Maad_Swan_Use_Case_Scenar ios.pdf 04/26/2012 Petals BPM architecture overview w, http://research.petalslink. org/display/petalsbpm/Architecturee+overview 24/06//2012 Manual web service compositio on module’s source code, http://ai.uom.gr/gmarkou/Files/MaadSwanSourceCode/Manual WSCSource.rar 08/25/2012

Suggest Documents