wsmo logo

D2v0.3. Web Service Modeling Ontology - Standard
(WSMO - Standard)

WSMO Working Draft 8 July 2004

This version:
http://www.wsmo.org/2004/d2/v0.3/20040708/
Latest version:
http://www.wsmo.org/2004/d2/v0.3/
Previous version:
http://www.wsmo.org/2004/d2/v0.3/20040329/
Editors:
Dumitru Roman
Holger Lausen
Autors:
Dumitru Roman
Holger Lausen
Uwe Keller
Eyal Oren
Dieter Fensel

This document is also available in non-normative PDF version.
Copyright © 2004 DERI®, All Rights Reserved. DERI liability, trademark, document use, and software licensing rules apply.



Table of contents


1. Introduction

This document presents an ontology called Web Service Modeling Ontology (WSMO) for describing various aspects related to Semantic Web Service. Having the Web Service Modeling Framework (WSMF) [Fensel & Bussler, 2002] as a starting point, we refine this framework and develop a formal ontology and a formal language.

The WSMF [Fensel & Bussler, 2002] consists of four different main elements (see Figure 1): ontologies that provide the terminology used by other elements, goal repositories that define the problems that should be solved by web services, web services descriptions that define various aspects of a web service and mediators which bypass interoperability problem.

Figure 1. The main elements of WSMF
wsmf

Section 2 presents golbal issues related to the elements that are considered in the ontology. Following the philosophy of WSMF, we further refine in the next sections the ontologies (Section 3), goals (Section 4), mediators (Section 5) and web service (Section 6). Section 7 presents our conclusions and further intentions.

2. Global Issues

2.1. Identifier

WSM0 distinguishes 3 kinds of identifiers: URI references, Literals and Anonymous Ids, this general idea is lent from the RDF concepts [Manoler & Miller, 2004]:

URI references
Everything in WSMO is an Identifier denoted by a URI, except it is a Literal or an Anonymous Id. Like RDF, WSMO is based on the idea to identify things using web identifiers (called Uniform Resource Identifiers). However this limits WSMO not to make statements about things that are not accessible on the web, like with the uri: "urn:isbn:0-520-02356-0" that identifies a certain book.
Literals
Literals are used to identify values such as numbers by means of a lexical representation. Anything represented by a literal could also be represented by a URI, but it is often more convenient or intuitive to use literals. Literals are either plain literals or typed Literals. A typed Literal (e.g. integer) may have additional facets (e.g. ordering), that allows the use of certain relations (e.g. "<") on them.
Anonymous Ids
Anonymous Ids can be numbered (_#1, _#2, ...) or unnumbered (_#). Anonymous Ids represent Identifier. The same numbered Anonymous Id represents the same Identifier within the same scope (logical-expression), otherwise Anonymous Ids represent different Identifier [Yang and Kifer, 2003]. Anonymous Ids can be used to denote objects that exists, but don't need an explicit identifier (e.g. if someone wants to say that a Person john has a address _# which itself has a streetname "hitchhikerstreet" and a streetnumber "42"), then the object of the address itself does not need a own URI, but since it must exist as connecting object between john and "hitchhikersstreet", "42" we can denote it with an Anonymous Id).

2.2. Non functional properties

Non functional properties are defined as a set of tuples, where each tuple consists of a property and its value constraint. We classify non functional properties in two categories: core properties and web service specific properties.

2.2.1 Non functional properties - core properties

The core properties are defined globally, meaning that they can be used for all the modeling elements of WSMO Standard. They consist of the Dublin Core Metadata Element Set [Weibel et al.] plus the version element. We do not enforce restrictions on the range value type, but in some cases provide additional recommendations:

Listing 1. Non functional properties (core properties) definition
concept non-functional-properties
      dc:title oftype dc:title
      dc:creator oftype set dc:creator
      dc:subject oftype set dc:subject
      dc:description oftype set dc:description
      dc:publisher oftype set dc:publisher
      dc:contributor oftype set dc:contributor
      dc:date oftype dc:date
      dc:type oftype set dc:type
      dc:format oftype set dc:format
      dc:identifier oftype dc:identifier
      dc:source oftype set dc:source
      dc:language oftype set dc:language
      dc:relation oftype set dc:relation
      dc:coverage oftype set dc:coverage
      dc:rights oftype set dc:rights 
      version oftype version
Title
A name given to an element. Typically, dc:title will be a name by which the element is formally known.
Creator
An entity primarily responsible for creating the content of the element. Examples of dc:creator include a person, an organization, or a service. Typically, the name of a dc:creator should be used to indicate the entity.
WSMO Recommendation: In order to point unambiguously to a specific resource we recommend the use an instance of foaf:Agent as value type [Brickley & Miller, 2004].
Subject
A topic of the content of the element. Typically, dc:subject will be expressed as keywords, key phrases or classification codes that describe a topic of the element. Recommended best practice is to select a value from a controlled vocabulary or formal classification scheme.
Description
An account of the content of the element. Examples of dc:description include, but are not limited to: an abstract, table of contents, reference to a graphical representation of content or a free-text account of the content.
Publisher
An entity responsible for making the element available. Examples of dc:publisher include a person, an organization, or a service. Typically, the name of a dc:publisher should be used to indicate the entity.
WSMO Recommendation: In order to point unambiguously to a specific resource we recommend the use an instance of foaf:Agent as value type [Brickley & Miller, 2004].
Contributor
An entity responsible for making contributions to the content of the element. Examples of dc:contributor include a person, an organization, or a service. Typically, the name of a dc:contributor should be used to indicate the entity.
Date
A date of an event in the lifecycle of the element. Typically, dc:date will be associated with the creation or availability of the element.
WSMO Recommendation: We recommend to use the an encoding compatible to the XML Schema Definition (YYYY-MM-DD)[Biron & Malhotra, 2001].
Type
The nature or genre of the content of the element. The dc:type includes terms describing general categories, functions, genres, or aggregation levels for content.
WSMO Recommendation: We recommend to use an URI encoding to point to the namespace or document describing the type.
Format
A physical or digital manifestation of the element. Typically, dc:format may include the media-type or dimensions of the element. Format may be used to identify the software, hardware, or other equipment needed to display or operate the element. Examples of dimensions include size and duration.
WSMO Recommendation: We recommend to use types defined in the list of Internet Media Types [IANA, 2002] by the IANA (Internet Assigned Numbers Authority)
Identifier
An unambiguous reference to the element within a given context. Recommended best practice is to identify the element by means of a string or number conforming to a formal identification system. In Dublin Core formal identification systems include but are not limited to the Uniform element Identifier (URI) (including the Uniform element Locator (URL)), the Digital Object Identifier (DOI) and the International Standard Book Number (ISBN).
WSMO Recommendation: We recommend to use URIs as Identifier, depending on the particular syntax the identity information of an element might already be given, however it might be repeated in dc:identifier in order to allow Dublin Core meta data aware applications the processing of that information.
Source
A reference to an element from which the present element is derived. The present element may be derived from the dc:source element in whole or in part. Recommended best practice is to identify the referenced element by means of a string or number conforming to a formal identification system.
WSMO Recommendation: We recommend to use URIs as Identifier where possible.
Language
A language of the intellectual content of the element.
WSMO Recommendation: We recommend to use the language tags defined in the ISO Standard 639 [ISO639, 1988], e.g. "en-GB".
Relation
A reference to a related element. Recommended best practice is to identify the referenced element by means of a string or number conforming to a formal identification system.
WSMO Recommendation: We recommend to use URIs as Identifier where possible.
Coverage
The extent or scope of the content of the element. Typically, dc:coverage will include spatial location (a place name or geographic coordinates), temporal period (a period label, date, or date range) or jurisdiction (such as a named administrative entity).
WSMO Recommendation: We recommend to use URIs as Identifier where possible.
Rights
Information about rights held in and over the element. Typically, dc:rights will contain a rights management statement for the element, or reference a service providing such information. Rights information often encompasses Intellectual Property Rights (IPR), Copyright, and various Property Rights. If the Rights element is absent, no assumptions may be made about any rights held in or over the element.
Version
As many properties of an element might change in time, an identifier of the element at a certain moment in time is needed.
WSMO Recommendation: If applicable we recommend to use the revision numbers of a version control system.

2.2.2. Non functional properties - web service specific properties

Besides the core properties described in the previous section, the web service specific non functional properties also include properties related to the quality aspect of a web service (QoS):

Listing 2. Non functional properties definition for web services
concept non-functional-properties
      performance oftype performance
      reliability oftype reliability
      security oftype security
      scalability oftype scalability
      robustness oftype robustness
      accuracy oftype accuracy
      transactional oftype transactional
      trust oftype trust
      financial oftype financial
      networkRelatedQoS oftype networkRelatedQoS
Performance
It represents how fast a service request can be completed. According to [Rajesh & Arulazi, 2003] performance can be measured in terms of throughput, latency, execution time, and transaction time. The response time of a service can also be a measure of the performance. High quality web services should provide higher throughput, lower latency, lower execution time, faster transaction time and faster response time.
Reliability
It represents the ability of a web service to perform its functions (to maintain its service quality). It can be measured by the number of failures of the service in a certain time internal.
Security
It represents the ability of a service to provide authentication (entities - users or other services - who can access service and data should be authenticated), authorization (entities should be authorized so that they only can access the protected services), confidentiality (data should be treated properly so that only authorized entities can access or modify the data), traceability/auditability (it should be possible to trace the history of a service when a request was serviced), data encryption (data should be encrypted), and non-repudiation (an entity cannot deny requesting a service or data after the fact).
Scalability
It represents the ability of the service to process more requests in a certain time interval. It can be measured by the number of solved requests in a certain time interval.
Robustness
It represents the ability of the service to function correctly in the presence of incomplete or invalid inputs. It can be measured by the number of incomplete or invalid inputs for which the service still function correctly.
Accuracy
It represents the error rate generated by the web service. It can be measured by the numbers of errors generated in a certain time interval.
Transactional
It represents the transactional properties of the web service.
Trust
It represents the trust worthiness of the service.
Financial
It represents the cost-related properties of a web service.
Network-related QoS
They represent the QoS mechanisms operating in the transport network which are independent of the web services. They can be measured by network delay, delay variation and/or message loss.

3. Ontologies

In WSMO Ontologies are the key to link consensual real world semantics intended by humans with computers. An ontology is a formal explicit specification of a shared conceptualization [Gruber, 1993].

From this rather conceptual definition we want to extract the essential components which define an ontology. Ontologies define a consensual terminology by providing concepts and relationships among the set of concepts. In order to capture semantic properties of relations and concepts, an ontology generally also provides a set of axioms, which means expressions in some logical framework.

In principle, an ontology constitutes of four main building blocks: concepts, relations, axioms and instances. An ontology is defined as follows [1]:

Listing 3. Ontology definition
concept ontology
      non-functional-properties oftype non-functional-properties
      import-ontologies oftype set ontology
      used-mediators oftype set oo-mediator
      concept-defintions oftype set concept-definition
      relation-defintions oftype set relation-definition
      function-defintions oftype set function-definition
      instance-defintions oftype set instance-defintion
      variable-defintions oftype set variable-defintion
      axiom-defintions oftype set axiom-definition
Non functional properties
The non functional properties of an ontology consist of the core properties described in Section 2.2.1.
Import Ontologies
Building an ontology for some particular problem domain can be a rather cumbersome and complex task. One standard way to deal with the complexity is modularization. Import ontologies allow a modular approach for ontology design, this simplified statement can be used as long no conflicts need to be resolved, a oo-mediator needs to be used.
Used mediators
When importing an arbitrary ontology, most likely some steps for aligning, merging and transforming imported ontologies have to be performed. For this reason and in line with the basic design principles underlying the WSMF, we use ontology mediators (oo-mediator) when an alignment of the imported ontology is necessary.
Concepts
Concepts constitute the basic elements of the consensual terminology for some problem domain.

From a high-level perspective, a concept – described by a concept definition – provides attributes with names and types.

Furthermore, a concept can have several (possibly none) direct superconcepts as specified by the so-called "is_a"-relation. When describing the semantics of concepts within some ontology, we favor a uniform and rather general approach: we consider the semantics to be captured by means of a logical expression.

Such modeling styles are commonly used in many Description Logics [Baader et al., 2003] and can be found in widely-used ontology languages like OWL [Dean et al., 2004] as well.

Hence, we extract the following abstract description for concepts:

Listing 4. Concept definition
concept concept-definition subconcept-of axiom-definition
      super-concepts oftype set concept-definition 
      attributes oftype set attribute-defintion
Superconcepts
There can be a finite number of concepts that serve as a super-concepts for some concept. In particular, being a subconcept of some other concept means that a concept inherits the signature of this superconcept and the corresponding constraints.
Attributes
Each concept provides a (possibly empty) set of attributes that represent named slots for data values and instances that have to be filled at the instance level. An attribute specifies a slot of a concept by fixing the name of the slot as well as a logical constraint on the possible values filling that slot. Hence, this logical expression can be interpreted as a typing constraint.

Listing 5. Attribute definition
concept attribute-definition subconcept-of axiom-definition
      range oftype axiom-definition
Range
A logical expression constraining the possible values for filling the slot of any instance of a particular concept.
Relations
Relations are used in order to model interdependencies between several concepts (respectively instances of these concepts).

Listing 6. Relation definition
concept relation-definition subconcept-of axiom-definition
      parameters oftype set parameter-definition
Parameters
A list of parameters, a parameter is a named placeholder for some value. This concept is used in the definition of relations as well as in the definition of functions.

Listing 7. Parameter definition
concept parameter-definition subconcept-of axiom-defintion
      domain oftype axiom-definition
Domain
A logical expression constraining the possible values that the parameter can take.

Functions
A function symbol is a special relation, with a unary range and a n-ary domain (parameters), where the range specifies the return value.

Listing 8. Function definition
concept function-defintion subconcept-of axiom-definition
      range oftype axiom-definition
      parameters oftype set parameter-definition
Range
A logical expression constraining the possible return values (for filling the slot of any instance of a particular concept).
Parameters
A list of the input parameters of the function. Concrete values for these parameters have to be specified when the function will be invoked.
A parameter is a named placeholder for some value.

Instances
Eventually, within an ontology there might be instances defined for some concept. Therefore we have to reflect the “instance_of”-relation that can be given within an ontology specification.

Listing 9. Instance definition
concept instance-definition oftype axiom-definition
      instance-of oftype set concept-definition
      attribute-values oftype set attribute-value-definition
Instance of
We consider the general case, where an instance might be the instance of some (complex) concept which is defined in terms of a logical expression.
Attribute values
A list of attribute values for the instance.

Listing 10. Attribute value definition
concept attribute-value-definition sobconcept-of axiom-definition
      value oftype axiom-definition
               
Value
A logical expression defining the values for filling the slot of the instance.

Instances may as well be defined by a link to an instance store, that means there is no necessity to define all the instances in the way presented above, but to allow to make a reference to a database containing the information. This database should be associated with a namespace and connected via a Mediator, such that a build-in relation can be used within that namespace to retrieve instances.

Listing 11. Build-in relation for instance retrieval
concept retrieve 
      restriction oftype logical-expression
      instance oftype set logical-expression
Restriction
A logical expression that restricts the set of instances to be retrieved. In a simple case this can be a concept-defintion, leading to the retrieval of all instances of this particular concept.
Instance
This parameter contains the set of instances complying to the logical-expression defined by restriction.
Variables

Listing 12. Instance definition
concept variable-definition subconcept-of axiom-definition
      restriction oftype set concept-defintion
Restriction
Restriction that that limits the possible values of the variable to instances of the concept defined in this restriction.
Axioms
An axiom-definition is considered to be a logical expression.

Listing 13. Axiom definition
concept axiom-definition
      non-functional-properties oftype non-functional-properties
      defined-by oftype logical-expression
Non functional properties
The non functional properties of an axiom consist of the core properties described in Section 2.2.1.
Defined by
The logical constraint expressed in the formal language underlying the WSMO that represents the actual statement of the axiom. A logical expression can be a rule or a fact. A fact is a conjunction of molecules that do not contain variables (e.g. a instance); A rule consists of a head and a body, where the head is a conjunction of molecules and the body a conjunction of disjunctions. A rule may contain variables, variables in the head need to occur in the body of the rule as well.

4. Goals

In this section, we introduce the notion of goals and define the elements that are used in the description of a goal. A Goal is defined as follows:

Listing 14. Goal definition
concept goal 
      non-functional-properties oftype non-functional-properties
      used-mediators oftype set (oo-mediator or gg-mediator)
      post-conditions oftype set axiomDefintion
      effects oftype set axiomDefinition
Non functional properties
The non functional properties of a goal consist of the core properties described in the Section 2.2.1 (where, in this case, an element in the core properties is equivalent to a goal).
Used mediators
By importing ontologies, a goal can make use of concepts and relations defined elsewhere. A goal can import ontologies using ontology mediators (ooMediators). A goal may be defined by reusing one or several already existing goals. This is achieved by using goal mediators (ggMediators).
Post-conditions
Post-conditions in WSMO describe the state of the information space that is desired.
Effects
Effects describe the state of the world that is desired.

5. Mediators

In this section, we introduce the notion of mediators and define the elements that are used in the description of a mediator.

We distinguish four different types of mediators :

Figure 3 below illustrates the relation between different types of mediators, goals, web services and ontologies.

Figure 3. Illustration of mediators in WSMO
wsmf

The mediator is defined as follows:

Listing 15. Mediators definition
concept mediator 
      non-functional-properties oftype   non-functional-properties
      source-component oftype set (ontology or goal or service or mediator)
      target-component oftype set (ontology or goal or service or mediator)
      mediation-service oftype   (goal or ww-mediator)

concept oo-mediator subconcept-of mediator
      source-component oftype set (ontology or oo-mediator)

concept ggMediator subconcept-of mediator
      sourceComponents oftype set (goal or gg-mediator)
      targetComponent oftype  (goal or gg-mediator)
      usedMediators oftype set oo-mediator
        
concept wgMediator subconcept-of mediator
      sourceComponent oftype   (service or wg-mediator)

concept targetComponent oftype   (goal or wg-mediator)
      usedMediators oftype set oo-mediator
      reduction oftype   axiomDefinition 
        
concept wwMediator subconcept-of mediator
      sourceComponent oftype   (webService or ww-mediator)
      targetComponent oftype   (webService or ww-mediator)
      usedMediators oftype set oo-mediator
Non functional properties
The non functional properties of a mediator consist of the core properties described in the Section 2.2.1 (where, in this case, an element in the core properties is equivalent to a mediator). Besides these properties, and taking into account that a mediator uses a mediation service, the non functional properties of a mediator also include aspects related to the quality aspect of the mediation service (see Section 2.2.2 for a description of these properties). The quality aspects of the mediator and the mediation service, taken together, might be enhanced (e.g. improving the robustness) or weakened (e.g. increasing the response time) by the mediator.
Source components
The source components defines one of the two logically connected entities.
Target component
The target component defines one of the two logically connected entities.
Mediation Service
The mediation service points to a goal that declarative describes the mapping or to a wwMediator that links to a web service [2] that actually implements the mapping.
Reduction
A reduction only exists in a wgMediator or a ggMediator. It describes in a logical formula the differences between the functionality described in the goal and the functionality of the web service (if any) or another goal.

6. Web Services

In this section we identify the concepts needed for describing various aspects of a web service. From a complexity point of view of the description of a web service, the following properties of a web service are considered: non functional properties, used mediators, capability and interfaces.

Listing 16. Web service definition
concept service
      non-functional-properties oftype  non-functional-properties
      used-mediators oftype set oo-mediator
      capability oftype  capability
      interfaces oftype set interface

Non functional properties
The non functional properties of a web service are described in Section 2.2.2.
Used mediators
By importing ontologies, a web service can make use of concepts and relations defined elsewhere. A web service can import ontologies using ontology mediators (ooMediators).
Capability
The capability of a web service is described in Section 6.1.
Interfaces
The interfaces of a web service are described in Section 6.2.

The grounding of a web service (i.e. the mapping from the abstract specification to a concrete specification of the elements that describe a web service, which are required for interacting with the service) will be specified in the choreography and orchestration, as they are the only elements where grounding is needed.

6.1 Capability

A capability defines the web service by means of its functionality.

Listing 17. Capability definition
concept capability
      non-functional-properties oftype   non-functional-properties
      usedMediators oftype set (ooMediator or wgMediator) 
      preconditions oftype set axiomDefinition 
      postconditions oftype set axiomDefinition
      assumptions oftype set axiomDefinition 
      effects oftype set axiomDefinition 
Non functional properties
The non functional properties of a capability consist of the core properties described in the Section 2.2.1 (where, in this case, an element in the core properties is equivalent to a capability).
Used mediators
By importing ontologies, a capability can make use of concepts and relations defined elsewhere. A capability can import ontologies using ontology mediators (ooMediators). A capability can be linked to a goal using a wgMediator.
Pre-conditions
Pre-conditions in WSMO describe what a web service expects for enabling it to provide its service. They define conditions over the input.
Post-conditions
Post-conditions in WSMO describe what a web service returns in response to its input. They define the relation between the input and the output.
Assumptions
Assumptions are similar to pre-conditions, however, also reference aspects of the state of the world beyond the actual input.
Effects
Effects describe the state of the world after the execution of the service.

The purpose of defining again pre-conditions, post-conditions, assumptions, effects, non functional properties and used mediators in the service capability is to have self-contained web service descriptions, that can be referred or not to the defined goals.

6.2 Interfaces

An interface describes how the functionality of the service can be achieved (i.e. how the capability of a service can be fulfilled) by providing a twofold view on the operational competence of the service:

With this distinction we provide different decompositions of process/capabilities to the top (service requester) and to the bottom (other service providers). This distinction reflects the difference between communication and cooperation. The choreography defines how to communicate with the web service in order to consume its functionality. The orchestration defines how the overall functionality is achieved by the cooperation of more elementary service providers.

An interface is defined by the following properties:

Listing 18. Interface definition
concept interface
      non-functional-properties oftype   non-functional-properties
      usedMediators oftype set ooMediator
      choreography oftype   choreography 
      orchestration oftype   orchestration
Non functional parameters
The non functional properties of an interface consist of the core properties described in the Section 2.2.1.
Used mediators
By importing ontologies, an interface can make use of concepts and relations defined elsewhere. An interface can import ontologies using ontology mediators (ooMediators).
Choreography
Choreography provides the necessary information for the user to communicate with the web service (i.e. it describes how the service works and how to access the service from the user's perspective).
Orchestration
Orchestration describes how the service works from the provider's perspective (i.e. how a service makes use of other web service or goals in order to achieve its capability).

The distinction between choreography and orchestration [3] should be considered in the context of the role the service is playing in a conversation: provider or requester. In case the service acts as a provider, the way of interacting with it is specified in its choreography. If the service acts as a requester, requesting functionalities of different services, then

are specified in the orchestration of the service.

The choreography in WSMO is further defined in Deliverable 14: Choreography in WSMO.

The orchestration in WSMO is further defined in Deliverable 15: Orchestration in WSMO.

7. Conclusions and further directions

This document presented the Web Service Modeling Ontology (WSMO) for describing several aspects related to web services, by refining the Web Service Modeling Framework (WSMF).

8. Change Log

References

[Baader et al., 2003] F. Baader, D. Calvanese, and D. McGuinness: The Description Logic Handbook, Cambridge University Press, 2003.

[Biron & Malhotra, 2001] P. V. Biron and A. Malhotra: XML Schema Part 2: Datatypes, W3C Recommendation 02, 2001, avaliable at: http://www.w3.org/TR/xmlschema-2/.

[Brickley & Miller, 2004] D. Brickley, L. Miller: FOAF Vocabulary Specification, available at: http://xmlns.com/foaf/0.1/

[Dean et al., 2004] M. Dean, G. Schreiber, S. Bechhofer, F. van Harmelen, J. Hendler, I. Horrocks, D. L. McGuinness, P. F. Patel-Schneider, and L. A. Stein: OWL Web Ontology Language Reference, W3C Recommendation, 10 February 2004. Available at http://www.w3.org/TR/2004/REC-owl-ref-20040210/.

[Fensel & Bussler, 2002] D. Fensel and C. Bussler: The Web Service Modeling Framework WSMF, Electronic Commerce Research and Applications, 1(2), 2002.

[Fowler, 2003] M. Fowler: UML Distilled: A Brief Guide to the Standard Object Modeling Language, Addison-Wesley, 3rd edition, 2003.

[Gruber, 1993] T. Gruber: A translation approach to portable ontology specifications,Knowledge Acquisition, 5:199-220, 1993.

[IANA, 2002] Intenet Assigned Number Authority: MIME Media Types, available at: http://www.iana.org/assignments/media-types/, February 2002.

[ISO639, 1988] International Organization for Standardization (ISO): ISO 639:1988 (E/F). Code for the Representation of Names of Languages. First edition, 1988-04-01. Reference number: ISO 639:1988 (E/F). Geneva: International Organization for Standardization, 1988. iii + 17 pages.

[Manoler &Miller, 2004]F. Manola, E. Miller: RDF Primer, W3C Recommendation 10 February 2004, available at http://www.w3.org/TR/2004/REC-rdf-primer-20040210/.

[Oren et al, 2004] Oren, E. (Ed.): BNF grammar for WSML language., WSMO Deliverable D16.1 v0.2, Working Draft 12 June 2004 avaliable at: http://www.wsmo.org/2004/d16/d16.1/v0.2/20040612/.

[Parr & Quong] Parr, T.J. and R.W. Quong: ANTLR: A predicated-LL(k) parser generator. Software, Practice and Experience, 25(7), pp. 789-810, Jul 1995.

[Rajesh & Arulazi, 2003] S. Rajesh and D. Arulazi: Quality of Service for Web Services-Demystification, Limitations, and Best Practices, March 2003. (See http://www.developer.com/services/article.php/2027911.)

[Rumbaugh et al., 1998] J. Rumbaugh, I. Jacobson, and G. Booch: The Unified Modeling Language Reference Manual, Object Technology Series, Addison-Wesley, 1998.

[Stollberg et al., 2004] M.Stollberg, H. Lausen, A. Polleres, E. Lara (Eds.): WSMO Use Case Modeling and Testing, WSMO Working Draft, 28 June 2004, available at: http://www.wsmo.org/2004/d3/d3.2/v0.1/20040628/.

[Weibel et al. 1998] S. Weibel, J. Kunze, C. Lagoze, and M. Wolf: RFC 2413 - Dublin Core Metadata for Resource Discovery, September 1998.

[Yang and Kifer, 2003] G. Yang, M. Kifer: Reasoning about Anonymous Resources and Meta Statements on the Semantic Web J. Data Semantics I 2003: 69-97.

Acknowledgement

The work is funded by the European Commission under the projects DIP, Knowledge Web, SEKT, SWWS, Esperonto, and h-TechSight; by Science Foundation Ireland under the DERI-Lion project; and by the Vienna city government under the CoOperate program.

The editors would like to thank to all the members of the WSMO working group for their advice and input into this document.

Apendix A. Conceptual Elements of WSMO

concept non-functional-properties
      dc:title oftype dc:title
      dc:creator oftype set dc:creator
      dc:subject oftype set dc:subject
      dc:description oftype set dc:description
      dc:publisher oftype set dc:publisher
      dc:contributor oftype set dc:contributor
      dc:date oftype dc:date
      dc:type oftype set dc:type
      dc:format oftype set dc:format
      dc:identifier oftype dc:identifier
      dc:source oftype set dc:source
      dc:language oftype set dc:language
      dc:relation oftype set dc:relation
      dc:coverage oftype set dc:coverage
      dc:rights oftype set dc:rights 
      version oftype version

concept non-functional-properties
      performance oftype performance
      reliability oftype reliability
      security oftype security
      scalability oftype scalability
      robustness oftype robustness
      accuracy oftype accuracy
      transactional oftype transactional
      trust oftype trust
      financial oftype financial
      networkRelatedQoS oftype networkRelatedQoS

concept ontology
      non-functional-properties oftype non-functional-properties
      import-ontologies oftype set ontology
      used-mediators oftype set oo-mediator
      concept-defintions oftype set concept-definition
      relation-defintions oftype set relation-definition
      function-defintions oftype set function-definition
      instance-defintions oftype set instance-defintion
      variable-defintions oftype set variable-defintion
      axiom-defintions oftype set axiom-definition

concept concept-definition subconcept-of axiom-definition
      super-concepts oftype set concept-definition 
      attributes oftype set attribute-defintion

concept attribute-definition subconcept-of axiom-definition
      range oftype axiom-definition

concept relation-definition subconcept-of axiom-definition
      parameters oftype set parameter-definition
      
concept parameter-definition subconcept-of axiom-defintion
      domain oftype axiom-definition
      
concept function-defintion subconcept-of axiom-definition
      range oftype axiom-definition
      parameters oftype set parameter-definition
      
concept instance-definition oftype axiom-definition
      instance-of oftype set concept-definition
      attribute-values oftype set attribute-value-definition

concept attribute-value-definition sobconcept-of axiom-definition
      value oftype axiom-definition

concept retrieve 
      restriction oftype logical-expression
      instance oftype set logical-expression
      
concept variable-definition subconcept-of axiom-definition
      restriction oftype set concept-defintion

concept axiom-definition
      non-functional-properties oftype non-functional-properties
      defined-by oftype logical-expression
      
concept goal 
      non-functional-properties oftype non-functional-properties
      used-mediators oftype set (oo-mediator or gg-mediator)
      post-conditions oftype set axiomDefintion
      effects oftype set axiomDefinition

Apendix B. BNF Grammer for WSML

This Apendix describes the grammar for the Web Services Modelling Language (WSML). This language is meant for representing the concepts introduced in the Web Service Modelling Ontology (WSMO) in a human-readable way.

This document specifies unambiguously the syntax for WSML. The semantics of WSML will be described in other documents, yet to be written. The language to write down this syntax is a variant of Extended Backus Nauer Form; a variant readable by ANTLR (Parr and Quong 1995). ANTLR is a tool that can construct recognisers, parsers and compilers from a grammar specification, it's functionality is (among others) similar to the well-known lex/yacc tools. Visit www.antlr.org for more information.

As this is a draft version, certain issues have not yet been resolved. Some of these issues come from the fact that WSMO is also work in progress, so not all concepts have been defined completely yet; some of these issues are not related to WSMO as such, but are modelling decisions regarding only the language syntax. For completeness, we will name these outstanding issues explicitly:

wsmoDefinition
:  (  nameSpaceDefinition 
    |  
    ) 
    (  ontologyDefinition 
    |  webServiceDefinition 
    |  goalDefinition 
    |  mediatorDefinition 
    )* 
  ;


nameSpaceDefinition
  :  (  NAMESPACE 
    |  NAMESPACEURI 
    ) 
    (  prefix 
    |  
    ) 
    (  TARGETNAMESPACE QNAME 
    |  
    ) 
  ;


ontologyDefinition
  :  ONTOLOGY QNAME 
    (  nameSpaceDefinition 
    |  
    ) 
    (  nonFunctionalDefinition 
    |  
    ) 
    (  USEMEDIATOR QNAME ( COMMA QNAME )* 
    |  
    ) 
    (  conceptDefinition 
    |  axiomDefinition 
    |  instanceDefinition 
    |  relationDefinition 
    |  variableDefinition 
    |  functionDefinition 
    )* 
  ;


webServiceDefinition
  :  WEBSERVICE QNAME 
    (  nameSpaceDefinition 
    |  
    ) 
    (  nonFunctionalDefinition 
    |  
    ) 
    (  USEMEDIATOR QNAME ( COMMA QNAME )* 
    |  
    ) 
    (  capabilityDefinition 
    |  
    ) 
    ( interfaceDefinition )* 
  ;


goalDefinition
  :  GOAL QNAME 
    (  nameSpaceDefinition 
    |  
    ) 
    (  nonFunctionalDefinition 
    |  
    ) 
    (  USEMEDIATOR QNAME ( COMMA QNAME )* 
    |  
    ) 
    ( (  POSTCONDITION 
      |  EFFECT 
      ) 
      axiomDefinition )+ 
  ;


mediatorDefinition
  :  ooMediatorDefinition 
  |  ggMediatorDefinition 
  |  wgMediatorDefinition 
  |  wwMediatorDefinition 
  ;


prefix
  :  QNAME EQUALURI ( COMMA QNAME EQUALURI )* 
  ;


nonFunctionalDefinition
  :  NFP ( oneOrMoreQNAMES )* 
    (  VERSION 
      (  QNAME 
      |  literal 
      ) 
    |  
    ) 
  ;


axiomDefinition
  :  AXIOM QNAME 
    (  nonFunctionalDefinition 
    |  
    ) 
    logicalExpression 
  ;


ooMediatorDefinition
  :  OOMEDIATOR QNAME 
    (  nameSpaceDefinition 
    |  
    ) 
    (  nonFunctionalDefinition 
    |  
    ) 
    ( SOURCE QNAME )* ( TARGET QNAME )* 
    (  USESERVICE QNAME 
    |  
    ) 
  ;


ggMediatorDefinition
  :  GGMEDIATOR QNAME 
    (  nameSpaceDefinition 
    |  
    ) 
    (  nonFunctionalDefinition 
    |  
    ) 
    (  SOURCE QNAME 
    |  
    ) 
    (  TARGET QNAME 
    |  
    ) 
    (  USEMEDIATOR QNAME ( COMMA QNAME )* 
    |  
    ) 
    (  REDUCTION axiomDefinition 
    |  
    ) 
  ;


wgMediatorDefinition
  :  WGMEDIATOR QNAME 
    (  nameSpaceDefinition 
    |  
    ) 
    (  nonFunctionalDefinition 
    |  
    ) 
    (  SOURCE QNAME 
    |  
    ) 
    (  TARGET QNAME 
    |  
    ) 
    (  USEMEDIATOR QNAME ( COMMA QNAME )* 
    |  
    ) 
    (  REDUCTION axiomDefinition 
    |  
    ) 
  ;


wwMediatorDefinition
  :  WWMEDIATOR QNAME 
    (  nameSpaceDefinition 
    |  
    ) 
    (  nonFunctionalDefinition 
    |  
    ) 
    (  SOURCE QNAME 
    |  
    ) 
    (  TARGET QNAME 
    |  
    ) 
    (  USEMEDIATOR QNAME ( COMMA QNAME )* 
    |  
    ) 
  ;


capabilityDefinition
  :  ( USECAPABILITY QNAME ) 
  |  ( CAPABILITY QNAME 
      (  nonFunctionalDefinition 
      |  
      ) 
      (  USEMEDIATOR QNAME  ( COMMA QNAME )* 
      |  
      ) 
      ( (  PRECONDITION 
        |  POSTCONDITION 
        |  ASSUMPTION 
        |  EFFECT 
        ) 
        axiomDefinition )+ ) 
  ;


interfaceDefinition
  :  ( USEINTERFACE QNAME ) 
  |  ( INTERFACE QNAME 
      (  nonFunctionalDefinition 
      |  
      ) 
      (  USEMEDIATOR QNAME ( COMMA QNAME )* 
      |  
      ) 
      choreographyDefinition 
      (  orchestrationDefinition 
      |  
      ) ) 
  ;


choreographyDefinition
  :  CHOREOGRAPHY PLACEHOLDER 
  ;


orchestrationDefinition
  :  ORCHESTRATION PLACEHOLDER 
  ;


conceptDefinition
  :  CONCEPT QNAME 
    (  nonFunctionalDefinition 
    |  
    ) 
    (  SUBCONCEPT QNAME 
    |  
    ) 
    ( attributeDefinition )* ( methodDefinition )* 
  ;


instanceDefinition
  :  INSTANCE QNAME MEMBEROF QNAME ( QNAME valueDefinition )* 
  ;


relationDefinition
  :  RELATION QNAME 
    (  nonFunctionalDefinition 
    |  
    ) 
    parameterDefinition 
  ;


variableDefinition
  :  VARIABLE QNAME ( COMMA QNAME )* MEMBEROF NAME 
  ;


functionDefinition
  :  FUNCTION QNAME 
    (  nonFunctionalDefinition 
    |  
    ) 
    ( parameterDefinition )* 
    (  rangeDefinition 
    |  
    ) 
  ;


attributeDefinition
  :  QNAME OFTYPE 
    (  SET 
    |  
    ) 
    QNAME 
  ;


methodDefinition
  :  METHOD 
    (  nonFunctionalDefinition 
    |  
    ) 
    ( parameterDefinition )* 
    (  rangeDefinition 
    |  
    ) 
  ;


parameterDefinition
  :  PARAMETER QNAME OFTYPE QNAME 
  ;


rangeDefinition
  :  RANGE QNAME OFTYPE QNAME 
  ;


valueDefinition
  :  ( HASVALUE value ) 
  |  ( HASVALUES value ( COMMA value )* ) 
  ;


value
  :  literal 
  |  QNAME 
  ;


literal
  :  String 
  ;


logicalExpression
  :  BEGINLOGIC String ENDLOGIC 
  ;


oneOrMoreQNAMES
  :  QNAME 
    (  QNAME 
    |  literal 
    ) 
    ( COMMA 
      (  QNAME 
      |  literal 
      ) )* 
  ;

mWS
  :  (  ' ' 
    |  '\n' 
    |  '\t' 
    |  '\r' 
    )+ 
    
  ;

mSLComment
  :  "comment:" ( (  '\n' 
      |  '\r' 
      ) )* 
    (  '\n' 
    |  '\r' 
    ) 
    
  ;

protected mNCBegin
  :  (  mLowerCaseLetter 
    |  mUnderscore 
    |  mUpperCaseLetter 
    ) 
  ;

protected mLowerCaseLetter
  :      'a'..'z' 
  ;

protected mUnderscore
  :  '_' 
  ;

protected mUpperCaseLetter
  :      'A'..'Z' 
  ;

protected mNCRest
  :  (  mNCBegin 
    |  mPOINT 
    |  mDash 
    |  mHash 
    |  mSlash 
    |  mAmp 
    |  mQuestion 
    |  mDigit 
    |  mTilde 
    |  mSemiColon 
    ) 
  ;

protected POINT  :  '.'   ;
protected Dash  :  '-'   ;
protected Hash  :  '#'   ;
protected Slash  :  '/'   ;
protected Amp  :  '&'   ;
protected Question  :  '?'   ;
protected Digit  :      '0'..'9'   ;
protected Tilde  :  '~'   ;
protected SemiColon  :  ';'   ;
protected NCName  :  
NCBegin 
    (  NCRest 
    |  COLON 
    )* 
  ;
COLON  :  ':'   ;
QNAME
  :  NCName   ;
protected URICharacters
  :  NCRest 
  |  EQUAL 
  |  COLON 
  |  '%' 
  ;
EQUAL  :  '='   ;
EQUALURI
  :  EQUAL ( ' ' )* NCBegin ( URICharacters )+ 
  ;

NAMESPACEURI
  :  NAMESPACE ( ' ' )* NCBegin ( URICharacters )+ 
  ;

NAMESPACE  :  "namespace"  ;
COMMA :  ',' ;
String :  '"' ( ~'"' )* '"' ;
TARGETNAMESPACE :  "target-namespace" ;
USEMEDIATOR :  "used-mediator" ;
OOMEDIATOR :  "oo-mediator" ;
GGMEDIATOR :  "gg-mediator" ;
WGMEDIATOR :  "wg-mediator" ;
WWMEDIATOR :  "ww-mediator" ;
SOURCE :  "source" ;
TARGET :  "target" ;
USESERVICE :  "use-service" ;
REDUCTION :  "reduction" ;
GOAL :  "goal" ;
WEBSERVICE :  "webservice" ;
USECAPABILITY :  "use-capability" ;
CAPABILITY :  "capability" ;
PRECONDITION :  "precondition" ;
POSTCONDITION :  "postcondition" ;
ASSUMPTION :  "assumption" ;
EFFECT :  "effect" ;
USEINTERFACE :  "use-interface" ;
INTERFACE :  "interface" ;
CHOREOGRAPHY :  "choreography" ;
ORCHESTRATION :  "orchestration" ;
PLACEHOLDER :  "***" ;
ONTOLOGY :  "ontology" ;
CONCEPT :  "concept" ;
SUBCONCEPT :  "subconcept-of" ;
OFTYPE :  "oftype" ;
SET :  "set" ;
INSTANCE :  "instance" ;
MEMBEROF :  "member-of" ;
HASVALUE :  "hasvalue" ;
HASVALUES :  "hasvalues" ;
RELATION :  "relation" ;
PARAMETER :  "parameter" ;
FUNCTION :  "function" ;
VARIABLE :  "variable" ;
METHOD :  "method" ;
RANGE :  "range" ;
AXIOM :  "axiom" ;
BEGINLOGIC :  "logical-expression" ;
ENDLOGIC :  "end-logical-expression" ;
VERSION :  "version" ;
NFP :  "non-functional-properties" ;

[1] Such an ontology actually represents a metaontology.

[2] Notice that the capability of this web service will also provide a declarative description of this mapping; however, in addition a link to an implementation of the mapping is provided, too.

[3] One could argue that orchestration should not be part of a public interface because it refers to how a service is implemented. However, this is a short-term view that does not reflect the nature of fully open and flexible eCommerce. Here companies shrink to their core processes were they are really profitable in. All other processes are sourced out and consumed as eServices. They advertise their services in their capability and choreography description and they advertise their needs in the orchestration interfaces. This enables on-the-fly creation of virtual enterprises in reaction to demands from the market place. Even in the dinosaurian time of eCommerce where large companies still exist, orchestration may be an important aspect. The orchestration of a service may not be made public but may be visible to the different departments of a large organization that compete for delivering parts of the overall service. Notice that the actual business intelligence of a service provider is still hidden. It is his capability to provide a certain functionality with a chorography that is very different from the sub services and their orchestration. The ability for a certain type of process management (the overall functionality is decomposed differently in the choreography and the orchestration) is were he comes in as a Silver bullet in the process. How he manages the difference between the process decomposition at the choreography and the orchestration level is the business intelligence of the web service provider.


Valid XHTML 1.1!

webmaster

$Date: Friday 09 July 2004 - 13:07:53$