400 likes | 559 Views
Part II: OWL-S Technical Overview. Profile, Process & Grounding ontologies Next Steps & Future Directions SWSI, SWSL & SWSA. DAML-S Web Services Coalition. BBN: Mark Burstein CMU: Katia Sycara, Massimo Paolucci* ICSI : Srini Narayanan Maryland / College Park : Bijan Parsia
E N D
Part II: OWL-STechnical Overview • Profile, Process & Grounding ontologies • Next Steps & Future Directions • SWSI, SWSL & SWSA
DAML-S Web Services Coalition BBN: Mark Burstein CMU: Katia Sycara, Massimo Paolucci* ICSI: Srini Narayanan Maryland / College Park: Bijan Parsia Nokia: Ora Lassila Stanford KSL: Sheila McIlraith* SRI: David Martin* Southampton: Terry Payne* USC-ISI: Jerry Hobbs Yale: Drew McDermott *Contributor to these slides
What is OWL-S? • Ontology Web Language for Services • An OWL ontology/language for (formally) describing properties and capabilities of Web services • An approach that draws on many sources • Description logic • AI planning • Workflow • Formal process modeling • Agents • Web services • http://www.daml.org/services/
DAML+OIL OWL(Ontology) RDFS (RDF Schema) RDF (Resource Description Framework) XML (Extensible Markup Language) Layered Approach to Language Development OWL-S: a major application of OWL Future versions will build upon emerging layers (e.g. DAML-Rules) OWL-S (Services) DAML-??? (Rules, FOL?)
OWL-S Objectives Automation of service use by software agents Ideal: full-fledged use of services never before encountered: Discovery, selection, composition, invocation, monitoring, .. Useful in the “real world” Compatible with industry standards Incremental exploitation Enable reasoning/planning about services e.g., On-the-fly composition Integrated use with information resources Ease of use; powerful tools
Automation Enabled by OWL-S • Web service discovery • Find me a shipping service that transports goods to Dubai. • Web service invocation • Buy me 500 lbs. powdered milk from www.acmemoo.com • Web service selection & composition • Arrange food for 500 people for 2 weeks in Dubai. • Web service execution monitoring • Has the powdered milk been ordered and paid for yet?
Key: Publication Profile Discovery Simulation Selection Process Model Verification Composition Execution, Interoperation Grounding Monitoring, Recovery Development … Deployment … Use …
Upper Ontology of Services Ontology images compliments of Terry Payne, University of Southampton
Service Profile:“What does it do?” High-level characterization/summary of a service Used for • Populating service registries • A service can have many profiles • Automated service discovery • Service selection (matchmaking) One can derive: • Service advertisements • Service requests
Service Profile Non Functional Properties Functionality Description
Functional Specification of what the service provides in terms of parameters, subclassed as: preconditions inputs outputs effects Summarizes the top-level Process Service Profile: Functionality Description
Provides supporting information about the service. Service Profile: NonFunctional Properties
These include serviceName textDescription qualityRating serviceParameter serviceCategory contactInformation Service Profile: NonFunctional Properties
Service Profile:Styles of use • Class-hierarchical yellow pages • Implicit capability characterization • Arrangement of attributes on class hierarchy • Can use multiple inheritance • Relies primarily on “non-functional” properties • Process summaries for planning purposes • More explicit • Inputs, outputs, preconditions, effects • Less reliance on formal hierarchical organization • Summarizes process model specs • Relies primarily on functional description
Exploiting Profile Hierarchies Tie in with UDDI, UNSPSC, …DL Basis for matchmakingMultiple profiles; multiple taxonomies
Process Model: “How does it work?” Service Model“How does it work?” Process • Interpretable description of service provider’s behavior • Tells service user how and when to interact (read/write messages) & Process control • Ontology of process state; supports status queries • (stubbed out at present) • Used for: • Service invocation, planning/composition, interoperation, monitoring • All processes have • Inputs, outputs, preconditions and effects • Function/dataflow metaphor; action/process metaphor • Composite processes • Control flow • Data flow
Function/Dataflow Metaphor Input: Output: • customer name • origin • destination • weight • pickup date • ... • confirmation no. • ... Acme Book Truck Shipment Y truck available + valid credit card ? N • failure notification • …
Acme Book Truck Shipment AI-inspired Action/Process Metaphor Output: • confirmation no. • ... Input: • customer name • origin • destination • pickup date • ... • goods at location • if successful • credit card debited... Effect: Y truck available + valid credit card ? Preconditions: N • knowledge of • the input • ... • failure notification • … Output: <no effect> Effect:
Composite Process Output & Effects Input & Preconditions AcmeTruckShpng • confirmation no. • ... • customer name • location • car type • dates • credit card no. • ... www.acmecar.com book car service ? • failure notification • … ? • confirmation no. • ... • confirmation no. • dates • room type • credit card no. • ... www.acmehotel.com book hotel service • confirmation no. • ... ? • customer name • flight numbers • dates • credit card no. • ... www.acmeair.com book flight service ? • failure notification • … • failure notification • errror information • …
Atomic Process Example <!– Atomic Process Definition - GetDesiredFlightDetails --> <rdfs:Class rdf:ID="GetDesiredFlightDetails"> <rdfs:subClassOfrdf:resource="http://www.daml.org/Process#AtomicProcess" /> </rdfs:Class> <!– (sample) Inputs used by atomic processGetDesiredFlightDetails --> <rdf:Property rdf:ID="departureAirport_In"> <rdfs:subPropertyOfrdf:resource="http://www.daml.org/Process#input" /> <rdfs:domainrdf:resource="#GetDesiredFlightDetails" /> <rdfs:rangerdf:resource="http://www.daml.ri.cmu.edu/ont/ DAML-S/concepts.daml#Airport" /> </rdf:Property> <rdf:Property rdf:ID="outbounDate_In"> <rdfs:subPropertyOfrdf:resource="http://www.daml.org/Process#input" /> <rdfs:domainrdf:resource="#GetDesiredFlightDetails" /> <rdfs:rangerdf:resource="http://www.daml.ri.cmu.edu/ont/ DAML-S/concepts.daml#FlightDate" /> </rdf:Property> departureAirport_In Airport GetDesired Flight Details Flight Date outboundDate_In
Composite Process Example <rdfs:Class rdf:ID="BookFlight"> <rdfs:subClassOfrdf:resource="#CompositeProcess" /> <rdfs:subClassOfrdf:resource="http://www.daml.org/Process#Sequence" /> <daml:subClassOf> <daml:Restriction> <daml:onPropertyrdf:resource="http://www.daml.org/Process#components" /> <daml:toClass> <daml:subClassOf> <daml:unionOf rdf:parseType="daml:collection"> <rdfs:Classrdfs:about="#GetFlightDetails" /> <rdfs:Classrdfs:about="#GetContactDetails" /> <rdfs:Classrdfs:about="#ReserveFlight" /> <rdfs:Classrdfs:about="#ConfirmReservation" /> </daml:unionOf> </daml:subClassOf> </daml:toClass> </daml:Restriction> </daml:subClassOf> </rdfs:Class> Composite Process BookFlight Get Flight Details Get Contact Details Confirm Reservation Reserve Flight Sequence Sequence Sequence
Confirm Shipping Region truck available + valid credit card N Acme Truck Shipping Service Y expands Get Quote Get Shipping Dates Book Truck Shipment Simple and Composite Processes AcmeTruckShpng ExpandedAcmeTruckShpng
Service Grounding: “How to access it” • Implementation-specific • Message formatting, transport mechanisms, protocols, serializations of types • Service Model + Grounding give everything needed for using the service • Builds upon WSDL
OWL-S / WSDL Grounding • Web Services Description Language • Authored by IBM, Ariba, Microsoft • Focus of W3C Web Services Description WG • Commercial momentum • Specifies message syntax accepted/generated by communication ports • Bindings to popular message/transport standards (SOAP, HTTP, MIME) • Abstract “types”; extensibility elements • Complementary with OWL-S
OWL-S / WSDL Grounding OWL-S Resources/Concepts Process Model Inputs / Outputs Atomic Process Message Operation Binding to SOAP, HTTP, etc. WSDL
OWL-S / WSDL Grounding (cont’d) WSDLDocument <message …> <part …><message …> <part …> <operation …><binding …> daml-property inputX daml-property outputY owl-s-process AtomicProcess
Path of Evolution Release 0.5 (May 2001) Initial Profile & Process ontologies Release 0.6 (December 2001) Refinements to Profile & Process; Resources ontology Release 0.7 (October 2002) Initial DAML-S/WSDL Grounding; Profile, Process Model refinements; more complete examples Release 0.9 (May 2003) - just announced DAML-S OWL-S Grounding: greater generality, flexibility Initial work on expressing conditions, security More community support (contributions pages) Towards 1.0 Expressiveness issues; exceptions, lifecycle; process issues
Critical Path to 1.0 • OWL-final • Process Model • Exceptions • Process Control Ontology (lifecycle mgmt.) • Roles, explicit messaging • Surface language? • Grounding • WSDL 1.2
SWSI Objectives • Bring together US and European Semantic Web Services researchers • Engage in collaborative standardization efforts • Semantic Web Services Language • DAML-S as a primary input • More attention to working with industry standards efforts • Semantic Web Services Architecture • Close collaboration with W3C directions • Web Service Choreography Working Group • Semantic Web Services Interest Group • Likely outcome is a W3C Note
SWSI Structure • Advisory Committee • Murray Burke, Hans-Georg Stork, Jim Hendler • Coordinating Committee • Co-chairs: Dieter Fensel and Katia Sycara • Industrial Advisory Board • Co-chairs: Michael Uschold and ??? • Language Technical Committee • Co-chairs: David Martin and Michael Kifer • Architecture Technical Committee • Co-chairs: Mark Burstein and Christoph Bussler
Challenges • Profiles: relationship with processes • Process modeling: many issues • Variability of public/private aspects of Processes • Extending to offline (sub)processes • Generalizing to multiple roles • Failure, transactions • Where and how to go beyond OWL? • Interface between DL ontology, logical expressions, algorithm/workflow representation • Connecting with Industry • Showing compelling value • Not promising too much • Providing an incremental path
(Some) Related Work • Related Industrial Initiatives • UDDI • ebXML • WSDL • .Net • XLANG • Biztalk, e-speak, etc • These XML-based initiatives are largely complementary to OWL-S. • OWL-S aims to build on top of these efforts enabling increased expressiveness, semantics, and inference enabling automation. • Related Academic Efforts • Process Algebras (e.g., Pi Calculus) • Process Specification Language (Hoare Logic, PSL) • Planning Domain Definition Language (PDDL) • Business Process Modeling (e.g., BMPL) • OntoWeb Process Modeling Effort