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)