Semantic Web Services discovery and composition: paths along workflows assio V. S. Prazeres Universidade de S˜ ao Paulo ao Carlos, Brazil prazeres@icmc.usp.br Cesar A. C. Teixeira Universidade Federal de S˜ ao Carlos ao Carlos, Brazil cesar@dc.ufscar.br Maria da Grac ¸a C. Pimentel Universidade de S˜ ao Paulo ao Carlos, Brazil mgp@icmc.usp.br Abstract—Semantic Web Services discovery and composi- tion: paths along workflows Web Services allow the compo- sition of new services on top of existing, partial ones. Using standard languages, Semantic Web Services can provide the description of their input parameters and preconditions for execution, as well as the output and effects of their execution. The availability of such descriptions demand the investigation of systematic approaches for the composition of Web Services based on their description. After presenting our approach for service discovery, we detail our proposal for modeling the composition problem using graphs. Next, we present the algorithm we implemented for the composition of Web Services, detailing the cost-based policy underlying our graph-based model. We also present the results of experiments we executed based on artificial data describing Web Services. Keywords-OWL-S; web service; composition; graph; min- imal paths; I. I NTRODUCTION OWL, the Web Ontology Language 1 , has been designed so that it can be used by applications able to process information – instead of just presenting information to humans. 2 OWL-S: Semantic Markup for Web Services has been proposed as an ontology of services that allows users and software agents to be able to, with a high degree of automation, discover, invoke, compose, and monitor Web resources which offer particular services and present particular properties. 3 OWL-S, as an ontology language for Web Services [?], allows that explicit semantics be associated with the specification of Web Services. Such semantics should be exploited in order to allow that tasks such as service dis- covery, service composition, service selection and service invocation. Moreover, it supports the design of tools and methodologies associated with Semantic Web Services [?]. When semantic information is not available, the dis- covery process is limited to keyword-based searches on registries conforming to the UDDI (Universal Description, Discovery and Integration)[?] specification which does not support taxonomy-based or semantic-based inferences. The OWL-S language allows the use of ontologies to describe functional and non-functional attributes of a service, which can be made public in the service profile – 1 http://www.w3.org/TR/owl-ref/ 2 http://www.w3.org/TR/owl-features/ 3 http://www.w3.org/Submission/OWL-S/ this information can be used in semantic searches based on relationships such as subsumption, which take into account the hierarchy of the classes in the ontologies, as well as reasoning [?]. The discovery process may result in different levels of success. The best case is when one or more services that match the request is found. The worst case is when not a single service that matches at least part of the request is found. The other alternative is when several services that attend partially the requests are found. The last alternative occurs in several scenarios since many services are static compositions of other partial services. For instance, an online store may involve the composition of services such as product search, shopping cart, payment options, delivery options. Static compositions are created at the time of the design of new services. Some standards are available to allow the specification of compositions. For instance, WS-BPEL [?], [?] is an industry standard that allows developers to manually specify compositions using their expertise with respect to their knowledge of Web Service available. The use of standards such as WS-BPEL does not allow the automatic composition of services: this would demand that the developer’s expertise be made explicit so as to be processed by software agents, for instance. According to Martin et al. [?], industry standards do not allow such modeling. A language such as OWL-S has potential to support web services automatic composition because is allows the semantic description of the services capabilities (inputs, outputs), conditions relating the inputs (precon- ditions), as well conditions relating the outputs (effects). Such explicit knowledge can be exploited by applications aiming at computing automatic service compositions. Automatic web services composition is the process of automatically planning, selecting and invocation web services according to some specified requirements [?]. Planning aims at discovering services which, combined, fulfill the given functional requirements, and define a execution workflow involving the discovered services. The planning takes into account the information relative to input, output, preconditions and effects for the available services. Selection is a post-planning activity aimed at choosing among the available services those which best matches the requirements in term of non-functional requirements (e.g. QoS, service cost, service availability). 2009 Seventh IEEE European Conference on Web Services 978-0-7695-3854-9/09 $26.00 © 2009 IEEE DOI 10.1109/ECOWS.2009.25 58 2009 Seventh IEEE European Conference on Web Services 978-0-7695-3854-9/09 $26.00 © 2009 IEEE DOI 10.1109/ECOWS.2009.25 58