* * 0 owl-s: ontology web language for services reyhan aydoĞan emre yilmaz 21/12/2005owl-s:...

29
* * 0 OWL-S: Ontology Web Language For Services Reyhan AYDOĞAN Emre YILMAZ 21/12/2005 OWL-S: Ontology Web Language for Services

Upload: william-underwood

Post on 30-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

* * 0

OWL-S: Ontology Web Language For Services

Reyhan AYDOĞAN

Emre YILMAZ

21/12/2005 OWL-S: Ontology Web Language for Services

* * 0

OUTLINE

•Introduction

•Motivation for OWL-S

•The parts of OWL-S–Service Profile–Service Model–Grounding

•Comparison with Related Technologies

•Examples and Discussions21/12/2005 OWL-S: Ontology Web

Language for Services

* * 0

Introduction

•OWL-S:–An ontology of service–As a part of DARPA Agent Mark-up Program

•Traditional systems:–Lack of semantic description of Services–Requirement of human assistant

21/12/2005 OWL-S: Ontology Web Language for Services

* * 0

Motivations for OWL-S•Automatic Web Service Discovery

•Automatic Web Service Invocation

•Automatic Web Service Composition & Interoperation

•Automatic Web Service Execution Monitoring

21/12/2005 OWL-S: Ontology Web Language for Services

* * 0

Automatic Web Service Discovery

•E.g.: Selling Airline ticket accepting particular credit card

•Declarative advertisements of service properties for automatic service discovery

21/12/2005 OWL-S: Ontology Web Language for Services

Use Search engineRead Web Page

Execute the service Manually Satisfies the constraints??

* * 0

Automatic Web Service Invocation

•Execution of Web service by computer program or agent

•E.g.: Purchasing an airline ticket

•Machine understands what input, output, how to execute the service

21/12/2005 OWL-S: Ontology Web Language for Services

•Fill a form•Click button for execution Human

performs

* * 0 Automatic Web Service Composition

and Interoperation•Automatic selection, composition and

interoperation•E.g. Travel Arrangement

•Declaring prerequisites and effect of service

21/12/2005 OWL-S: Ontology Web Language for Services

Select the web serviceSpecify the composition manually

Check necessity of software for interoperationHuman

* * 0 Automatic Web Service Execution

Monitoring

•The ability to find out:–Where the request is in the process–The status of the request–Be sure the service made–Unanticipated exception

21/12/2005 OWL-S: Ontology Web Language for Services

* * 0

21/12/2005 OWL-S: Ontology Web Language for Services

Parts of Service Ontology

Is Taken

From [1]

* * 0

Service Profile

•Describe the service what does–Service name, Text Description and Contact Information

•Similar to yellow pages•Gives information about the functionality

–IOPE s of Service

•Gives the characteristics features of the services–Quality ratings of service–Classification information

•Enables automatic discovery

21/12/2005 OWL-S: Ontology Web Language for Services

* * 0

21/12/2005 OWL-S: Ontology Web Language for Services

OLW-S & UDDI Mapping

Is Taken

From [2]

* * 0

Service Model

•Describes how service works

•Includes Data and control flow of service process

•Does not enforce the consistency with Service Profile

–Traveling service in profile– Book Service in service process model

•Process Model is subclass of Service Model

21/12/2005 OWL-S: Ontology Web Language for Services

* * 0

21/12/2005 OWL-S: Ontology Web Language for Services

Process Ontology

Is Taken

From [1]

* * 0

21/12/2005 OWL-S: Ontology Web Language for Services

Is Taken

From [6]

Example: Process Sequence

* * 0

Grounding

•Describes how to access the service

•Concrete description such as binding protocol, address, message formats, etc.

•WSDL + OWL-S–Type : Includes OWL-S class types–Message: OWL-S inputs and OWL-S outputs–Operation:OWL-S atomic process–Binding: Encoding Style supplied

21/12/2005 OWL-S: Ontology Web Language for Services

* * 0

21/12/2005 OWL-S: Ontology Web Language for Services

Sample WSDL file taken

from [7]

Example: WSDL+OLWS

* * 0

21/12/2005 OWL-S: Ontology Web Language for Services

Sample WSDL file taken

from [7]

Example: WSDL+OLWS Cont.

* * 0

Comparison with Related Technologies

• UDDI

•- Used mostly in registering services.

•- UDDI has 2 drawbacks:

21/12/2005 OWL-S: Ontology Web Language for Services

1.provides a search mechanism depending on keywords

2.lacks the semantic description

- Advantage of UDDI It guarantees syntactical interoperability to OWL-S

* * 0 Comparison with Related Technologies

•- Because of these reasons OWL-S and UDDI complements eachother, we need a maping between them.

21/12/2005 OWL-S: Ontology Web Language for Services

UDDI (continues)

Is Taken

From [2]

* * 0 Comparison with Related

Technologies

•- can be compared with the OWL-S service model in terms of expressiveness, semantics, monitoring and fault handling

•- In addition to the input and output in BPEL4WS, OWL-S add the precondition and effects.

•- OWL-S is based on formal semantics (advantage of OWL-S)

21/12/2005 OWL-S: Ontology Web Language for Services

BPEL4WS

* * 0 Comparison with Related

Technologies

•- BPEL4WS provides handling mechanisms of faults , OWL-S does not support any recovery protocols.

•- Execution monitoring task is in the future list of BPE4WS.However both of OWL-S and BPEL4WS do not support execution monitoring now.

•- WS-Coordination and WS-Transaction may extend by BPEL4WS.

• 21/12/2005 OWL-S: Ontology Web Language for Services

BPEL4WS(continues)

* * 0 Example

21/12/2005 OWL-S: Ontology Web Language for Services

Currency Controller -Service<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE uridef (View Source for full doctype...)>

- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf- schema#" xmlns:daml="http://www.daml.org/2001/03/daml+oil#" xmlns:service="http://www.daml.org/services/daml-

s/0.7/Service.daml#" xmlns:process="http://www.daml.org/services/daml-s/0.7/Process.daml#" xmlns:profile="http://www.daml.org/services/daml-s/0.7/Profile.daml#"

xmlns:profileHierarchy="http://www.daml.org/services/daml-s/0.7/ProfileHierarchy.daml#" xmlns="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-service.daml#">

- <daml:Ontology> <daml:versionInfo>$Id: currencyconverter-service.daml,v 1.0 2003/03/04 23:47:36 trp Exp $</daml:versionInfo>

<rdfs:comment>DAML-S Coalition: Currency Converter Example for DAML-S release 0.7 Service description</rdfs:comment>

<daml:imports rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns" /> <daml:imports rdf:resource="http://www.w3.org/2000/01/rdf-schema" /> <daml:imports rdf:resource="http://www.daml.org/2001/03/daml+oil" />

<daml:imports rdf:resource="http://www.daml.org/services/daml-s/0.7/Service.daml" /> <daml:imports rdf:resource="http://www.daml.org/services/daml-s/0.7/Profile.daml" /> <daml:imports rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml" />

<daml:imports rdf:resource="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-service.daml" />

<daml:imports rdf:resource="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-process.daml" />

<daml:imports rdf:resource="http://www.daml.org/services/daml-s/0.7/ProfileHierarchy.daml" /> </daml:Ontology>

* * 0 Example

21/12/2005 OWL-S: Ontology Web Language for Services

Currency Controller -Service (continues)

- <service:Service rdf:ID="CurrenctConverterWebService">

- <!-- Reference to the Profile --> <service:presents rdf:resource="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-

profile.daml#Profile_SotonCCWS" />

- <!-- Reference to the Process Model --> <service:describedBy rdf:resource="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-

process.daml#Process_SotonCCWS" />

- <!-- Reference to the Grounding --> <service:supports rdf:resource="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-

grounding.daml#Grounding_SotonCCWS" />

</service:Service>

</rdf:RDF>

* * 0 Example

21/12/2005

Currency Controller -Service Profile- <daml:Class rdf:ID="Information_Translation_Service">

<rdfs:subClassOf rdf:resource="profileHierachy#Information_Service" /> <daml:comment>Class that represents Information Translation Services</daml:comment>

</daml:Class>

- <daml:Class rdf:ID="RAE-Rating">- <daml:oneOf rdf:parseType="daml:collection">

<RAE-Rating rdf:ID="RAE-1" /> <RAE-Rating rdf:ID="RAE-2" /> <RAE-Rating rdf:ID="RAE-3" /> <RAE-Rating rdf:ID="RAE-4" /> <RAE-Rating rdf:ID="RAE-5" />

<RAE-Rating rdf:ID="RAE-5star" /> </daml:oneOf> </daml:Class>

- <profile:QualityRating rdf:ID="Provider-Rating"> <profile:ratingName>Research Assessment Exercise Ratings</profile:ratingName>

<profile:rating rdf:resource="#RAE-Rating" /> </profile:QualityRating>

- <profile:Actor rdf:ID="Contact-SotonCCWS"> <profile:name>Terry Payne</profile:name>

<profile:title>Lecturer</profile:title> <profile:phone>+44(0)23 8059 8343</profile:phone>

<profile:fax>+44(0)23 8059 2865</profile:fax> <profile:email>[email protected]</profile:email>

<profile:physicalAddress>University of Southampton, Southampton, SO17 1BJ, UK</profile:physicalAddress> <profile:webURL>http://www.ecs.soton.ac.uk/~trp</profile:webURL>

</profile:Actor>

* * 0 Example

21/12/2005

Currency Controller -Service Process Model<!-- Instance Definition of the Process Model

--> - <process:ProcessModel rdf:ID="Process_SotonCCWS">

<process:hasProcess rdf:resource="#call_SotonCCWS" /> <service:describes rdf:resource="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-

service.daml#CurrenctConverterWebService" /> </process:ProcessModel>

- <!-- ########################################################################## <daml:Class rdf:ID="call_SotonCCWS">

<daml:subClassOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#AtomicProcess" /> <label>This is the top level process</label>

</daml:Class>- <!-- IOPEs

--> - <daml:Property rdf:ID="originalAmount_In">

<daml:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#input" /> <daml:domain rdf:resource="#call_SotonCCWS" />

<daml:range rdf:resource="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter- profile.daml#Amount" />

</daml:Property>- <daml:Property rdf:ID="originalCurrency_In">

<daml:subPropertyOf rdf:resource="http://www.daml.org/services/daml-s/0.7/Process.daml#input" /> <daml:domain rdf:resource="#call_SotonCCWS" />

<daml:range rdf:resource="http://www.daml.ecs.soton.ac.uk/ont/currency.daml#Currency" /> </daml:Property>

OWL-S: Ontology Web Language for Services

* * 0 Example

21/12/2005

Currency Controller -Grounding

<!-- Instance Definition of the Grounding Model -->

- <process:ProcessModel rdf:ID="Grounding_SotonCCWS"> <process:hasProcess rdf:resource="#SotonCCWSprocess" />

<service:describes rdf:resource="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter- service.daml#CurrenctConverterWebService" />

</process:ProcessModel>- <grounding:WsdlGrounding rdf:ID="Grounding_SotonCCWS">

<service:supportedBy rdf:resource="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter- service.daml#CurrenctConverterWebService" />

- <!-- Collecton of all the groundings specifications -->

<grounding:hasAtomicProcessGrounding rdf:resource="#WsdlGrounding_SotonCCWS" /> </grounding:WsdlGrounding>

- <!-- ############################################################### -->

- <!-- # call_SotonCCSW (Atomic) # -->

- <grounding:WsdlAtomicProcessGrounding rdf:ID="WsdlGrounding_SotonCCWS">

OWL-S: Ontology Web Language for Services

* * 0

Example

•- <!-- Grounding for the Atomic Process call_SotonCCWS • --> • <grounding:damlsProcess rdf:resource="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-

process.daml#call_SotonCCWS" /> •- <!-- Reference to the corresponding WSDL operation • --> •- <grounding:wsdlOperation>• <xsd:uriReference rdf:value="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-

grounding.wsdl#call_SotonCCWS_operation" /> • </grounding:wsdlOperation>•- <!-- Reference to the WSDL input message • --> •- <grounding:wsdlInputMessage>• <xsd:uriReference rdf:value="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-

grounding.wsdl#call_SotonCCWS_input" /> • </grounding:wsdlInputMessage>•- <!-- Mapping of DAML-S inputs to WSDL message parts • --> •- <grounding:wsdlInputMessageParts rdf:parseType="daml:collection">•- <grounding:WsdlMessageMap>• <grounding:damlsParameter rdf:resource="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-

process.daml#originalAmount_In" /> •- <grounding:wsdlMessagePart>• <xsd:uriReference rdf:value="http://www.daml.ecs.soton.ac.uk/services/daml-s0.7/cc/currencyconverter-

grounding.wsdl#originalAmount_WSDLIn" /> • </grounding:wsdlMessagePart>• </grounding:WsdlMessageMap>

Currency Controller –Grounding Cont.

OWL-S: Ontology Web Language for Services

21/12/2005

* * 0 References

21/12/2005 OWL-S: Ontology Web Language for Services

1. The OWL Services Coalition, OWL-S: Semantic Markup for

Web Services, available at http://www.daml.org/services/ow

l-s/1.0/owl-s.pdf.2. D. Martin, Artificial

Intelligence Center, SRI International, Menlo Park, CA, USA, M. Paolucci, Robotics Institute, Carnegia Mellon

University, S. McIlraith, Department of Computer

Science, University of Toronto, M. Burstein, D. McDermott, D.

McGuinness, B. Parsia, T. Payne, M. Sabou, M. Solanki,

N. Srinivasan, K. Sycara, Bringing Semantics to Web

Services: The OWL-S Approach.

3. N.Srinivasan, M. Paolucci, K.Sycara, Robotics Institute, Carnegia Mellon University,

Adding OWL-S to UDDI, implementation and throughput.

4. DAML-S and Related Technologies, available at

http://www.daml.org/services/owl- s/1.0/survey.pdf

5. OWL-S Homepage, http://www.daml.org/services/ow

l-s/6. P.S Munindar. and N.H Mitchael, Service Oriented

Computing: Semantics, Processes and Agents, Willey,

England,2005.7. D. Martin, M. Burstein, O.

Lassia, M. Paolucci, T. Payne, S. McIlraith, Describing Web Services using OWL-S and WSDL, DAML-S Coalition

Working Document, October 2003.

8. Examples from http://www.daml.org/services/ow

l-s/examples.html

* * 0

21/12/2005 OWL-S: Ontology Web Language for Services

Thank you for listening!