300 likes | 540 Views
OWL-S: Ontology Web Language For Services. Reyhan AYDOĞAN Emre YILMAZ. 21/12/2005. OWL-S: Ontology Web Language for Services. Introduction Motivation for OWL-S The parts of OWL-S Service Profile Service Model Grounding Comparison with Related Technologies Examples and Discussions.
E N D
OWL-S: Ontology Web Language For Services Reyhan AYDOĞAN Emre YILMAZ 21/12/2005 OWL-S: Ontology Web Language for Services
Introduction Motivation for OWL-S The parts of OWL-S Service Profile Service Model Grounding Comparison with Related Technologies Examples and Discussions OUTLINE 21/12/2005 OWL-S: Ontology Web Language for Services
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 Introduction 21/12/2005 OWL-S: Ontology Web Language for Services
Automatic Web Service Discovery Automatic Web Service Invocation Automatic Web Service Composition & Interoperation Automatic Web Service Execution Monitoring Motivations for OWL-S 21/12/2005 OWL-S: Ontology Web Language for Services
E.g.: Selling Airline ticket accepting particular credit card Declarative advertisements of service properties for automatic service discovery Automatic Web Service Discovery Use Search engine Read Web Page Execute the service Manually Satisfies the constraints?? 21/12/2005 OWL-S: Ontology Web Language for Services
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 Automatic Web Service Invocation • Fill a form • Click button for execution Human performs 21/12/2005 OWL-S: Ontology Web Language for Services
Automatic selection, composition and interoperation E.g. Travel Arrangement Declaring prerequisites and effect of service Automatic Web Service Composition and Interoperation Select the web service Specify the composition manually Check necessity of software for interoperation Human 21/12/2005 OWL-S: Ontology Web Language for Services
The ability to find out: Where the request is in the process The status of the request Be sure the service made Unanticipated exception Automatic Web Service Execution Monitoring 21/12/2005 OWL-S: Ontology Web Language for Services
Parts of Service Ontology Is Taken From [1] 21/12/2005 OWL-S: Ontology Web Language for Services
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 Service Profile 21/12/2005 OWL-S: Ontology Web Language for Services
OLW-S & UDDI Mapping Is Taken From [2] 21/12/2005 OWL-S: Ontology Web Language for Services
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 Service Model 21/12/2005 OWL-S: Ontology Web Language for Services
Process Ontology Is Taken From [1] 21/12/2005 OWL-S: Ontology Web Language for Services
Example: Process Sequence Is Taken From [6] 21/12/2005 OWL-S: Ontology Web Language for Services
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 Grounding 21/12/2005 OWL-S: Ontology Web Language for Services
Example: WSDL+OLWS Sample WSDL file taken from [7] 21/12/2005 OWL-S: Ontology Web Language for Services
Example: WSDL+OLWS Cont. Sample WSDL file taken from [7] 21/12/2005 OWL-S: Ontology Web Language for Services
UDDI - Used mostly in registering services. - UDDI has 2 drawbacks: Comparison with Related Technologies 1.provides a search mechanism depending on keywords 2.lacks the semantic description - Advantage of UDDI It guarantees syntactical interoperability to OWL-S 21/12/2005 OWL-S: Ontology Web Language for Services
- Because of these reasons OWL-S and UDDI complements eachother, we need a maping between them. Comparison with Related Technologies UDDI (continues) Is Taken From [2] 21/12/2005 OWL-S: Ontology Web Language for Services
- 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) Comparison with Related Technologies BPEL4WS 21/12/2005 OWL-S: Ontology Web Language for Services
- 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. Comparison with Related Technologies BPEL4WS(continues) 21/12/2005 OWL-S: Ontology Web Language for Services
Example 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> 21/12/2005 OWL-S: Ontology Web Language for Services
Example 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> 21/12/2005 OWL-S: Ontology Web Language for Services
Example 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>trp@ecs.soton.ac.uk</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> 21/12/2005
Example 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 21/12/2005
Example 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"> 21/12/2005 OWL-S: Ontology Web Language for Services
- <!-- 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> Example Currency Controller –Grounding Cont. 21/12/2005 OWL-S: Ontology Web Language for Services
References 1. The OWL Services Coalition, OWL-S: Semantic Markup for Web Services, available at http://www.daml.org/services/owl-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/owl-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/owl-s/examples.html 21/12/2005 OWL-S: Ontology Web Language for Services
Thank you for listening! 21/12/2005 OWL-S: Ontology Web Language for Services