* * 0 owl-s: ontology web language for services reyhan aydoĞan emre yilmaz 21/12/2005owl-s:...
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
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
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