Bringing Semantics to Web Services with OWL-S

World Wide Web, Sep 2007

Current industry standards for describing Web Services focus on ensuring interoperability across diverse platforms, but do not provide a good foundation for automating the use of Web Services. Representational techniques being developed for the Semantic Web can be used to augment these standards. The resulting Web Service specifications enable the development of software programs that can interpret descriptions of unfamiliar Web Services and then employ those services to satisfy user goals. OWL-S (“OWL for Services”) is a set of notations for expressing such specifications, based on the Semantic Web ontology language OWL. It consists of three interrelated parts: a profile ontology, used to describe what the service does; a process ontology and corresponding presentation syntax, used to describe how the service is used; and a grounding ontology, used to describe how to interact with the service. OWL-S can be used to automate a variety of service-related activities involving service discovery, interoperation, and composition. A large body of research on OWL-S has led to the creation of many open-source tools for developing, reasoning about, and dynamically utilizing Web Services.

Article PDF cannot be displayed. You can download it here:

http://link.springer.com/content/pdf/10.1007%2Fs11280-007-0033-x.pdf

Bringing Semantics to Web Services with OWL-S

David Martin 0 1 3 5 6 7 8 9 Mark Burstein 0 1 3 5 6 7 8 9 Drew McDermott 0 1 3 5 6 7 8 9 Sheila McIlraith 0 1 3 5 6 7 8 9 Massimo Paolucci 0 1 3 5 6 7 8 9 Katia Sycara 0 1 3 5 6 7 8 9 Deborah L. McGuinness 0 1 3 5 6 7 8 9 Evren Sirin 0 1 3 5 6 7 8 9 Naveen Srinivasan 0 1 3 5 6 7 8 9 0 M. Burstein Intelligent Distributed Computing Department , BBN Technologies, Cambridge, MA, USA 1 This work was performed while Paolucci was at the Robotics Institute, Carnegie Mellon University, Sirin was at the University of Maryland, College Park, and Srinivasan was at the Robotics Institute, Carnegie Mellon University 2 ) Artificial Intelligence Center, SRI International , Menlo Park, CA, USA 3 N. Srinivasan webMethods, Inc., Fairfax, VA, USA 4 Parsia, LLC, Arlington, VA, USA 5 D. L. McGuinness Knowledge Systems, Artificial Intelligence Laboratory, Stanford University , Stanford, CA, USA 6 K. Sycara Robotics Institute, Carnegie Mellon University , Pittsburgh, PA, USA 7 M. Paolucci DoCoMo Communications Laboratories Europe , Munich, Germany 8 S. McIlraith Department of Computer Science, University of Toronto , Toronto, Canada 9 D. McDermott Computer Science Department, Yale University , New Haven, CT, USA Current industry standards for describing Web Services focus on ensuring interoperability across diverse platforms, but do not provide a good foundation for automating the use of Web Services. Representational techniques being developed for the Semantic Web can be used to augment these standards. The resulting Web Service specifications enable the development of software programs that can interpret descriptions - of unfamiliar Web Services and then employ those services to satisfy user goals. OWL-S (OWL for Services) is a set of notations for expressing such specifications, based on the Semantic Web ontology language OWL. It consists of three interrelated parts: a profile ontology, used to describe what the service does; a process ontology and corresponding presentation syntax, used to describe how the service is used; and a grounding ontology, used to describe how to interact with the service. OWL-S can be used to automate a variety of service-related activities involving service discovery, interoperation, and composition. A large body of research on OWL-S has led to the creation of many open-source tools for developing, reasoning about, and dynamically utilizing Web Services. 1 Introduction An important trend in the evolution of the World Wide Web (WWW) has been the development of standardized Web Service technologies, by which a service provider can make a service available to consumers through an advertised protocol. The function of a Web Service is often to supply information, but can also involve exchange or sale of goods or obligations. Web Services provide a basis for interoperability between service providers and consumers, based on the reliable exchange of messages. Compiler-based tools make it easy for programmers to incorporate Web Services in their applications. To call a Web Service, a program must send it a message, or a series of messages, normally encoded in XML (extensible markup language), which contain(s) the information or request to be sent to the service; the program then receives XML replies containing the returned values. The datatypes for the information passed between the service consumer and provider, and its encoding using the XML-based simple object access protocol (SOAP) [12], can be described using the Web Services description language (WSDL) [15]. Existing compilers for languages like Java [33] and C# [42] can automatically produce code to convert from the datatypes of a language to their SOAP equivalents, making it almost as easy to call a Web Service as to use a standard library component. One thing WSDL does not supply, however, is a specification of what happens when a Web Service is used. A human programmer is supposed to figure that out from reading a natural-language description. Suppose you want an automated software agent [60] to solve problems such as the following: Given Web Service interfaces to access the current prices of two parts suppliers, make a periodic decision as to which of those suppliers to acquire raw materials from, while monitoring for the appearance of new alternative suppliers so that you can be informed if one offers the same materials at a lower price. Given Web Service interfaces to a variety of networked capabilities that are available in a meeting room, send a copy of your slides to everyone attending an invited presentation that you are giving in that room. Given Web Service interfaces for the catalogs of various online vendors, find products described using one or more controlled vocabularies (which might not be the same as the vocabularies used in the vendors catalogs). Without a description of what happens when a Web Service is useda description that can be processed by computer softwarea human must always be involved in solving such problems. Thus, the question arises of how to provide software agents with the information they need about Web Services to solve problems such as these. A second trend in the evolution of the Web, known as the Semantic Web, can provide some answers. The Semantic Web is a set of technologies for representing, and publishing on the Web, computer-interpretable structured information [10]. Semantic Web Services [56] is a research field that endeavors to apply these technologies to the description and use of Web Services. Whereas interoperability is the primary motivation for Web Services, automation of information use and dynamic interoperability are the primary objectives of Semantic Web Services. These goals are based on the idea of adopting standard languages for asserting relationships among entities that are declared to belong to classes. The information about the classes and the relationships among their members is captured in ontologies. The definitions encoded there allow programs to make inferences about the relationships among the objects that they discover at Web sites. A key step in the realization of the Semantic Web has been the development of standard languages for recording relationships and ontologies, including the resource description framework (RDF), RDF schemas (RDFS), and the Web ontology language (OWL) [52], all of which have completed the standardization process at the World Wide Web Consortium (W3C). The central question facing Semantic Web Services, then, is: Can we use Semantic Web techniques to automate dealings with Web Services? The goal of the OWL-S Coalition [61] is to show that the answer is yes. To move towards the realization of this vision, members of this coalition and other Semantic Web Service researchers have been developing languages, ontologies, algorithms, and architectures. In this paper, we describe OWL-S version 1.2 [46], an ontology for services expressed in OWL.1 It provides a framework for describing both the functions and ad (...truncated)


This is a preview of a remote PDF: http://link.springer.com/content/pdf/10.1007%2Fs11280-007-0033-x.pdf
Article home page: http://link.springer.com/article/10.1007/s11280-007-0033-x

David Martin, Mark Burstein, Drew McDermott, Sheila McIlraith, Massimo Paolucci, Katia Sycara, Deborah L. McGuinness, Evren Sirin, Naveen Srinivasan. Bringing Semantics to Web Services with OWL-S, World Wide Web, 2007, pp. 243-277, Volume 10, Issue 3, DOI: 10.1007/s11280-007-0033-x