Copyright © 2005 retained by the authors.
All Rights Reserved.
This document provides an overview of the Semantic Web Services Framework (SWSF), which includes the Semantic Web Services Language (SWSL) and the Semantic Web Services Ontology (SWSO). This is one of four documents that make up the initial report of the Semantic Web Services Language Committee of the Semantic Web Services Initiative.
History of publication at http://www.daml.org/services/swsl/report/overview/:
History of publication at http://www.daml.org/services/swsf/overview/:
1 Introduction to SWSL and SWSO
2 Document Roadmap
The promise of Web services and the need for widely accepted standards enabling them are widely recognized, and considerable efforts are underway to define and evolve such standards in the commercial realm. In particular, the Web Services Description Language (WSDL) [WSDL 1.1] is already well established as an essential building block in the evolving stack of Web service technologies, and is being standardized in the W3C's Web Services Description Working Group. WSDL, in essence, allows for the specification of the syntax of the input and output messages of a basic service, as well as other details needed for the invocation of the service. WSDL does not, however, support the specification of workflows composed of basic services. In this area, the Business Process Execution Language for Web Services (BPEL4WS) [BPEL 1.1], under development at OASIS, has the most prominent status. The Choreography Description Language under development by W3C's Web Services Choreography Working Group, serves to "define from a global viewpoint ... the information exchanges that occur and the jointly agreed ordering rules that need to be satisfied" in carrying out a Web service-based transaction [WS-Choreography]. With respect to registering Web services for purposes of advertising and discovery, Universal Description, Discovery and Integration (UDDI) [UDDI v3.02] has received the most attention to date. Standards are also being developed in connection with various other aspects of Web service provisioning, such as reliable messaging, security, and resource management.
At the same time, recognition is growing of the need for richer semantic specifications of Web services, based on a compressive representational framework that spans the full range of service-related concepts. Such a framework will enable fuller, more flexible automation of service provision and use, support the construction of more powerful tools and methodologies, and promote the use of semantically well-founded reasoning about services. Because an expressive representation framework permits the specification of many different aspects of services, it can provide a foundation for a broad range of activities, across the Web service lifecycle. For example, richer semantics can support greater automation of service selection and invocation; automated translation of message content between heterogeneous interoperating services; automated or semi-automated approaches to service composition; more comprehensive approaches to service monitoring and recovery from failure; and fuller automation of verification, simulation, configuration, supply chain management, contracting, and negotiation for services. The technologies presented in this document are designed to realize this Semantic Web Service vision [McIlraith01].
This report presents two major components:
More specifically, SWSL is a general-purpose logical language, with certain features to make it usable with the basic languages and infrastructure of the Web. These features include URIs, integration of XML built-in types, and XML-compatible namespace and import mechanisms. SWSL includes two layers of expressiveness: SWSL-FOL and SWSL-Rules. SWSL-FOL is a first-order logic, extended with features from HiLog [Chen93] and the frame syntax of F-logic [Kifer95]. SWSL-Rules is a full-featured logic programming (LP) language, which includes a novel combination of features from Courteous logic programs [Grosof99a], HiLog, and F-logic.
Nearly all the elements of the syntax are common to both SWSL-FOL and SWSL-Rules, so as to promote the ability of developers to easily work with both layers, and to facilitate various kinds of interchange and interoperation between the layers. The presentation syntax is designed for readability, and incorporates a number of convenience features, such as an object-oriented style of presentation, which can be used to improve code organization and comprehensibility, but without changing the expressiveness and tractability of the underlying logical systems. An XML-based serialization syntax, based on RuleML, is also specified.
FLOWS is an axiomatized ontology of service concepts, which provides the conceptual framework for describing and reasoning about services. FLOWS draws many of its intuitions and lessons-learned from OWL-S, the OWL ontology for Web services [OWL-S 1.1]. A key contribution of the FLOWS ontology is the development of a rich behavioural process model, based on ISO 18629 Process Specification Language (PSL) [Gruninger03a], [Gruninger03b]. Originally designed to support interoperability among process modeling languages, PSL provides the ideal foundation for interoperability among emerging Web service process models, while supporting the realization of automation task associated with the Semantic Web Service vision. FLOWS goes beyond PSL in modeling many Web-service specific process concepts including messages, channels, inputs and outputs.
FLOWS is designed modularly. It comprises an ontology for service descriptors, somewhat akin to a domain-independent yellow-pages or OWL-S service profile, an extensive process model ontology, and a grounding that relates the process model message types to WSDL messages. The process model ontology is in turn comprised of a core ontology and a number of extensions.
The statements above about FLOWS are also true of ROWS, which is derived from FLOWS.
In addition to presenting SWSL and SWSO, this document also provides some guidance as to how SWSL-FOL and SWSL-Rules can be used together, examples of applications of SWSL and SWSO, and a discussion of how FLOWS-based service descriptions can be grounded in the concrete descriptions of messages and protocols provided by WSDL.
This proposal has been prepared by the Semantic Web Services Language Committee of the Semantic Web Services Initiative, a collaborative international research effort. In addition to providing further evolution of the SWSL language and ontology, SWSI will also be a forum for working towards convergence of SWSL with the products of the WSMO research effort [Bruijn05].
The overall design of the SWSL Language and Ontology, and of the application scenarios using those, has been motivated by an overall longer-term vision and set of objectives for Semantic Web services. These are summarized in a requirements document, which is available on the SWSL Committee's Web site [SWSL Requirements]. That document expressed our thinking as we set out to design the SWSF Languge and Ontology. The current design of SWSF addresses, directly or indirectly, most (but not all) of the points in the requirements document.
OWL-S: OWL-S [OWL-S 1.1] is an ontology of service concepts expressed in OWL-DL, a decidable description logic language. In contrast, FLOWS is an ontology of service concepts expressed in first-order logic. Since OWL-DL trades off expressiveness for decidability, there were aspects of the OWL-S process model ontology whose semantics could not be defined in the OWL-DL language. This is not a problem with the FLOWS ontology. FLOWS provides a more comprehensive ontology, building on the conceptual model and lessons-learned from OWL-S. As such it captures all concepts in OWL-S. In terms of coverage it is distinguished by its axiomatization of messages, something that was not addressed in OWL-S. An important final distinction between OWL-S and FLOWS is with respect to the role it plays. Whereas both endeavours attempt to provide an ontology for Web services, FLOWS had the additional objective of acting as a focal point for interoperability, enabling other business process modeling languages to be expressed or related to FLOWS.
Process Specification Language (PSL) and related specifications: There are a number of efforts whose aim is to develop a process specification ontology. These efforts include PSL [Gruninger03a], BPMI [BPML 1.0], and others. The process ontology of SWSL is based on PSL. From the perspective of PSL, FLOWS may be viewed as a collection of extensions that situate the description of processes within a larger context of message-based communications across networks.
BPEL4WS: There is much to be said about the relationship between this effort and BPEL4WS [BPEL 1.1]. BPEL4WS provides an executable business process modeling language that enables the specification (orchestration) of executable business processes as well as the description of non-executable processes. The most obvious point of comparison between BPEL4WS and this effort is with respect to the FLOWS ontology. The FLOWS ontology is a great deal more than process modeling, supporting the axiomatization of non-functional service descriptions (for service discovery) as well as the rich mapping of message types to WSDL. We believe that the FLOWS process model subsumes the BPEL4WS process model, enabling the encoding of both executable and abstract BPEL process models in FLOWS. (Note that we have not yet confirmed this through a systematic translation.) Whereas BPEL takes a message-centric view of services, FLOWS provides for a process-centric view of services, where message exchanges are conceived as additional processes that may be inferred automatically. A notable difference between the two formalisms is that FLOWS supports the encoding of service side-effects, i.e., the effects of services on the world, which enables automated composition of Web services, in additon to the manual composition supported by BPEL. Finally, BPEL is indeed designed for Web service orchestration, whereas FLOWS may also be used for choreography of services.
Web Services Modeling Ontology (WSMO): WSMO [Bruijn05] is a parallel effort to define an ontology and a language for Semantic Web services. Like SWSL-Rules, WSMO's rule language, WSML is largely based on F-logic and these languages share much of the logical expression syntax. Nevertheless, the two groups have pursued complimentary goals. WSMO has focused heavily on the language effort, and in particular on end user issues, associated with the language. In particular, they have developed a "conceptual syntax" for top-level descriptions of services, which might make the specifications easier to read for the end user. WSMO has also paid special attention to the issue of OWL compatibility. To this end, it defined WSML-Core as a subset of both OWL and WSML, which serves as a common ground for ontology interoperability. In contrast, SWSL's focus was on extending the functionality of the rule language. In particular, SWSL-Rules supports meta-reasoning with its HiLog and reification extensions. It also supports prioritized defaults and classical negation by incorporating Courteous Logic Programming.
A major distinction between the WSMO effort and the effort presented here is with respect to the ontology. The two efforts are divergent, but complementary. WSMO has focussed on describing Web service choreography through guarded transition rules, Event-Condition-Action (ECA) rules which are viewed as abstract state machines. In contrast, FLOWS provides an extensive first-order process ontology, which enables description of process orchestration as well as message exchange among processes. The FLOWS ontology also provides the foundation for enabling automated simulation, verification and composition of Web services, something that cannot be done with the guarded transition rules, without further definition of the semantics.
This report comprises four top-level documents:
The SWSO document includes four appendices:
A PSL in SWSL-FOL and SWSL-Rules
B Axiomatization of the FLOWS Process Model
C Axiomatization of the Process Model in SWSL-Rules
D Reference Grammars
So as to be more-or-less self-contained, each of these four documents includes a glossary and references. For simplicity, these are the same in each document.
For pedagogical reasons, it makes sense to introduce SWSL before SWSO, since SWSL is used in expressing SWSO. However, the SWSO document relies primarily on simple uses of SWSL-FOL. Hence, those readers who are already familiar with first-order logic may want to begin with the SWSO document, which contains the Web services-specific aspects of this work. A suggested order of reading for such readers is: the Overview document (this document); the Ontology document; the first two sections of the Applications document; the Language document; the three remaining sections of the Applications document.
We are grateful for the vision and support of Murray Burke and Dieter Fensel, who first envisioned the collaboration that became SWSI, and were essential in getting it started. Katia Sycara, in her role as SWSI co-executive (with Dieter) has been active and supportive throughout the efforts of the committee, and has given valuable guidance in many areas.
The participation of some members of SWSL was funded by the DARPA DAML Program. We very much appreciate the ongoing support, interest, and patience of DAML program managers Jim Hendler, Murray Burke, and Mark Greaves.
We are also grateful to Carine Bournez and Sandro Hawke, of the World Wide Web Consortium, for guidance in the preparation of this submission. We thank the W3C for permitting and supporting the use of the public-sws-ig mailing list for discussion of SWSL issues, and Carine Bournez for helping to make this possible.
We would like to give special thanks to the following individuals who have made significant contributions to this work:
We are also greatly appreciative of the efforts of the following individuals, who, as reviewers, provided valuable feedback on short notice:
This document has benefited from input from members of the Semantic Web Services Architecture (SWSA) committee.