Semantic Web Services Language Requirements

Version 1

This version:
http://www.daml.org/services/swsl/requirements/swsl-requirements.shtml
Latest version:
http://www.daml.org/services/swsl/requirements/swsl-requirements.shtml
Editors:
Benjamin Grosof (Massachusetts Institute of Technology)
Michael Gruninger (University of Maryland, College Park)
Michael Kifer (State University of New York, Stony Brook)
David Martin (SRI International)
Deborah McGuinness (KSL, Stanford University)
Bijan Parsia (University of Maryland, College Park)
Terry Payne (University of Southampton)
Austin Tate (AIAI, University of Edinburgh)

Abstract

This document specifies requirements and objectives for a language to support the most salient aspects of Semantic Web Serives.

Status of this document

Working draft; under development. This document has not yet been approved by the SWSL committee.

Table of contents



1 Introduction

As expressed in the Statement of Mission and Objectives, the SWSI Language Committee aims to develop computer language technology that will provide a firm, long-term foundation for the future of Web services on the Internet. It is desired that this foundation will support the most general approaches to service deployment and use that are currently technically feasible.

The Committee seeks to develop a formal language that allows for rich declarative specification of a wide variety of information about Web services, which will support automation of a broad spectrum of activities related to Web services, such as discovery, selection, composition, negotiation and contracting, invocation, monitoring of progress, and recovery from failure.

The committee aims to build on the success of OWL-S, taking the existing language as a starting point, while allowing scope for the revisions and additions necessary to address these new requirements.

This document discusses the requirements for such a language.

Rationale

SWSL has divided the requirements for Semantic Web services languages into two categories -- functional requirements and formalization.

The following section discusses requirements related to formalization. After that, a section is devoted to each of the four functional requirements areas.

2 General Requirements

This group of requirements is intended to help choose the formalisms necessary to support the functional requirements of Semantic Web services. Examples of such requirements are the particular aspects of the logic languages that might be required, e.g., will first-order logic suffice? will the language include non-monotonic defaults? meta-reasoning? What style of process modeling will be required: Ontological in the style of PSL or in the logic-programming style, as in Concurrent Transaction Logic?

Most of the requirements in this category come from our analysis of the functional requirements mentioned above. Others are motivated by the work on defining the upper ontology of semantic services.

General Language Properties

The language should have the following properties:

Expressive Power

The language should be capable of expressing the following:

Meta properties

The language should have the following properties: The SWSL framework will have a single consistent underlying model to which all language elements or views can be related. The next sections describe specific areas of interest for SWSL and additional requirements arising from each of these discussions.

3 Process Modeling

Requirements

The high-level requirements for specifying processes within SWSL focus on the support of reasoning problems for Web service specifications described in the use cases. This includes composition, planning, and verification.

A semantic web service description is a representation of a web service which describes the activity it performs. It may be composed of any number of subactivities where the description is useful. An activity occurs over a time interval delineated by its begin and end time points. A set of constraints of various types may be expressed between domain objects and the activity, its subactivities and their associated timepoints. These may include the following:

Objectives

  1. Compatibility with existing process modelling standards, such as UML and the Process Specification Language.
  2. Support mappings from existing process modelling software tools.

4 Advertising and Matchmaking

Requirements

  1. The language must support a description of the functionality of the core component service (i.e. a functional description), This should be provided in terms of: In addition, auxiliary services (i.e. those that support or augment the management or invocation of the core component service) much be described and associated with the service description.
    Note: a successful invocation is one where the service is invoked and executes without raising any errors or exceptions.
  2. The language must support, in an extensible manner, the description of a wide range of (non-functional) characteristics, that may:
  3. The language must support the relaxation (or tightening) of certain properties, by service providers, service consumers, or intermediaries. That is, both service descriptions and service requests must permit variations in their exact interpretation, thus facilitating (for example) varying degrees of matching. This is sometimes known as the "misleading (or lying) advertisement" requirement.
  4. The language must support the definition of a service request; i.e. a description of the desired service, such that it may be used by a discovery service to facilitate the location of a service (e.g. in the case of a registry based discovery service) or to achieve a goal (e.g. in the case of mediated discovery services).
  5. The definition of service descriptions must consider issues such as scale and distributed discovery (thus supporting service discovery at the "global" Web Scale).
  6. No assumptions should be made on the architecture of discovery services that utilise or mediate service descriptions and service requests. For example, one should not assume that matchmaking requires a centralised broker, etc.
  7. The language must support ordering, ranking, and filtering of matches. (This is related to points 2 and 3).
  8. One must be able to determine how a service request relates to matching service descriptions, in order that the matching service descriptions can be utilised by the requester. If additional facts are required to infer matches between the request and matching service descriptions (i.e. such inferences cannot be made directly from these descriptions), then they must be provided by the discovery service responsible for identifying the match. This is the "tell that they're consistent" requirement).
  9. It must be possible to specify a request and matching process that is precise enough that the resulting matches can be used directly by a fully automated composition or invocation software process. (The "No Eyeballs Always Required" requirement).
  10. Advertised service descriptions must be consistent (in some sense) with their (correct) process descriptions, such that they provide a valid representation of the service they are advertising.

Objectives

  1. It should be possible to identify cases where service descriptions deviate from providing a valid representation of the service (defined by some model of the associated processes - see Process Modeling, below).
  2. If human intervention is required in a matchmaking process, there should be sufficient accessible information to the intervener to make the intervention (proportionally) easy.
  3. Service descriptions and service requests should be easy for people to read, write, understand, and predict matches, or should facilitate the creation of human-oriented descriptions that support these requirements.

5 Contracting and Negotiation

Requirements

The language must support, in an extensible manner, the description of a service so as to support several task aspects of service contracts and negotiation about such contracts. These task aspects include:
  1. representation of a wide variety of attributes/aspects of a deal (i.e., contract), particularly pricing and contingent provisions;
  2. representation of committed or proposed contractual agreements -- i.e., of contracts or contract proposals;
  3. representation of partial or complete contracts or contract proposals;
  4. representation of business partner qualification;
  5. communication between contracting parties (or relevant other third parties) of proposed or committed deals (with deep shared semantics), including of bids and offers, requests for proposals/quotes;
  6. modification of (proposed or committed) deals, especially during negotiation;
  7. execution of contract provisions, including to draw inferences or to perform procedural business actions, e.g., to make authorizations;
  8. monitoring of execution of committed deals, including to apply/execute contingent provisions, e.g., for exception handling, or for notifications during long-running services; and
  9. hypothetical reasoning about the contract/proposal by contracting parties/agents (or by third parties, e.g., adjudicators of disputes), including to test or evaluate a deal during selection, matchmaking, or negotiation. Such hypothetical reasoning should support simulation and verification.

A service contract (committed or proposed, partial or complete) is an artifact that may be the final or intermediate result of a process of negotiation. Different modes of such negotiation include, for example: simple "take it or leave it"; bilateral bargaining; auction; and other kinds of conversation. A negotiation process may itself be another service (possibly a semantic web service).

Objectives

  1. The language should complement development of standard/common ontologies for frequently-needed contract characteristics (e.g., the ones listed earlier).
  2. The language should complement well other emerging standards efforts relevant to e-contracting beyond SWS. Candidate examples of such other emerging standards efforts include: ebXML/UBL; UNCEFACT and ANSI EDI; Oasis Legal XML; and American Bar Association (and EU etc. counterparts') proposals on e-contracts law.
  3. The language should seek to represent commitments in such a way as to mesh well to methods of dispute resolution and recourse, both legal and reputational.
  4. The language should seek to be compatible with, and ideally extend, the contract aspects of in existing industry standards for web services, e.g., their concepts/approaches of roles and commitments.

Relationships to Other Areas of SWSL Requirements

There are several points of overlap/contact with the other aspects of SWSL requirements. These include:
  1. Advertising, Discovery, and Matchmaking (ADM):
  2. Process Modeling and composition, execution and monitoring:
  3. Services that perform "solo" decision making within an individual contracting party during negotiation will need to input and/or output contract proposals that are communicated/shared with other contracting parties.
  4. A contract may specify part of the service process model and/or part of the service profile.

6 Enactment

Requirements

The language must support, in an extensible manner, the description of a service so as to support tasks related to enactment or execution, monitoring, recovery and compliance/verification of results. These include many complex aspects, for many of which no consensus can be expected to be reached in the near future. So the approach must encompass ways in which separate emerging standards in these areas can be utilized.

Process enactment is closely related to aspects of process modelling. There are features which can be modeled, analyzed, simulated and checked at the time a process is defined, others than can be elaborated upon when a compound process is composed or synthesized, and some that can only be verified at the time of enactment. It can be expected that process modeling features will allow for effective or reliable enactment (e.g. being able to specify contingencies, exception handling and run-time policies which must be adhered to).

Some aspects that may indicate requirements for SWSL include:

  1. Ability to describe and allow for the invocation of services via service endpoints
  2. Ability to recognise and handle exceptions
  3. Constraint checking - e.g., choreography, synchronization, parameter checks
  4. Security aspects - digital rights management
  5. Policy aspects - authorization, obligations, etc.
  6. "Make it so" elements to link to the environment - sensing, effectors - e.g.,
  7. Dealing with the status of services, resource levels, epistemic states of actors (e.g. presence, availability, loading)
  8. Logging, metering, billing, auditing, notification
  9. Services metrics, Quality of Service guarantees
  10. Dispute Resolution and Compliance
  11. Explanation
  12. Health checks and debugging aids
  13. Redundancy and Robustness
  14. Resource allocation and load balancing
  15. Allowance for dynamic runtime aspects of discovery, composition and negotiation of services on-the-fly
  16. Version update while services are live

Objectives

  1. The language should complement well other emerging standards efforts relevant to enactment and execution. Candidate examples of such other emerging standards efforts include: WSDL, Workflow, BPEL
  2. The language should be seen as an significant enhancement to existing or emerging web service enactment protocols - such as WSDL.

Relationships to Other Areas of SWSA and SWSL Requirements

Enactment may require modelling the current state in such a way that state information can be used to make progress in the processes being enacted. A key issue is where and in what way such a state model is built and kept. Can it be entirely distributed to remain within the individual services being used, or are there cases where some separately maintained state model must be kept. Is this an SWSA architecture issue?

There are several points of overlap/contact with the other aspects of SWSL requirements. Execution often involves repairing or recovering from partial or total failures, dealing with exceptions, violation of policy, etc. This can involve "going round the loop" with refining and replanning for new composite services that can meet original requirements, etc.


7 Glossary


Acknowledgments

This document is a result of the work by the members of the Semantic Web Services Language committee and includes contributions from Karl Aberer, Steve Battle, Stefan Decker, Ian Horrocks, Richard Hull, Drew McDermott, and Sheila McIlraith.