Part II: OWL-S Technical Overview - ICS
Download
Report
Transcript Part II: OWL-S Technical Overview - ICS
Part II: OWL-S
Technical Overview
Profile, Process & Grounding ontologies
Next Steps & Future Directions
SWSI, SWSL & SWSA
David Martin for DAML-S Coalition
05/08/2003
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
David Martin for DAML-S Coalition
*Contributor to these slides
05/08/2003
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/
David Martin for DAML-S Coalition
05/08/2003
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?)
DAML+OIL OWL (Ontology)
RDFS (RDF Schema)
RDF (Resource Description Framework)
XML (Extensible Markup Language)
David Martin for DAML-S Coalition
05/08/2003
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
David Martin for DAML-S Coalition
05/08/2003
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?
David Martin for DAML-S Coalition
05/08/2003
Key:
Discovery
Process Model
Grounding
Profile
Publication
Simulation
Selection
Verification
Composition
Execution, Interoperation
Monitoring, Recovery
Development
David Martin for DAML-S Coalition
…
Deployment … Use …
05/08/2003
Upper Ontology of Services
Ontology images compliments of Terry Payne,
University of Southampton
David Martin for DAML-S Coalition
05/08/2003
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
David Martin for DAML-S Coalition
05/08/2003
David Martin for DAML-S Coalition
05/08/2003
Service Profile: Functionality Description
• Functional Specification of
what the service provides in
terms of parameters,
subclassed as:
– preconditions
– inputs
– outputs
– effects
• Summarizes the top-level
Process
David Martin for DAML-S Coalition
05/08/2003
Service Profile: NonFunctional
Properties
• Provides supporting information about the service.
David Martin for DAML-S Coalition
05/08/2003
Service Profile: NonFunctional
Properties
• These include
–
–
–
–
–
–
serviceName
textDescription
qualityRating
serviceParameter
serviceCategory
contactInformation
David Martin for DAML-S Coalition
05/08/2003
Service Profile: NonFunctional
Properties - Actor
David Martin for DAML-S Coalition
05/08/2003
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
David Martin for DAML-S Coalition
05/08/2003
Exploiting Profile Hierarchies
Tie in with
UDDI, UNSPSC, …
DL Basis for
matchmaking
Multiple profiles;
multiple taxonomies
David Martin for DAML-S Coalition
05/08/2003
Upper Ontology of Services
David Martin for DAML-S Coalition
05/08/2003
Service
Model
Process Model: “How does it work?”
“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
David Martin for DAML-S Coalition
05/08/2003
Service Model / Process Model
David Martin for DAML-S Coalition
05/08/2003
Function/Dataflow Metaphor
Input:
• customer name
• origin
• destination
• weight
• pickup date
• ...
Output:
• confirmation no.
• ...
Acme Book
Truck Shipment
truck available
+
?
valid credit card
Y
N
• failure notification
•…
David Martin for DAML-S Coalition
05/08/2003
AI-inspired Action/Process Metaphor
Output:
• confirmation no.
• ...
Effect:
• goods at location
if successful
• credit card debited...
Input:
• customer name
• origin
• destination
• pickup date
• ...
Preconditions:
• knowledge of
the input
• ...
Acme Book
Truck Shipment
truck available
+
?
valid credit card
Output:
Effect:
David Martin for DAML-S Coalition
Y
N
• failure notification
•…
<no effect>
05/08/2003
Composite Process
Input &
Preconditions
•
•
•
•
•
•
•
•
•
•
Output &
Effects
AcmeTruckShpng
•
•
•
•
•
•
•
•
• confirmation no.
• ...
•
•
•
•
•
•
•
•
•
•
•
• customer name
• location
• car type
• dates
• credit card no.
• ...
www.acmecar.com
?
book car service
• failure notification
•…
• confirmation no.
• ...
• confirmation no.
• ...
• customer name
• flight numbers
• dates
• credit card no.
•
• ...
• confirmation no.
• dates
• room type
• credit card no.
• ...
?
www.acmehotel.com
book hotel service
?
www.acmeair.com
book flight service
?
• failure notification
•…
• failure notification
• errror information
•…
David Martin for DAML-S Coalition
05/08/2003
•
•
•
•
•
•
•
•
Atomic Process Example
<!– Atomic Process Definition - GetDesiredFlightDetails -->
<rdfs:Class rdf:ID="GetDesiredFlightDetails">
<rdfs:subClassOf rdf:resource="http://www.daml.org/Process#AtomicProcess" />
</rdfs:Class>
<!– (sample) Inputs used by atomic process GetDesiredFlightDetails -->
<rdf:Property rdf:ID="departureAirport_In">
<rdfs:subPropertyOf rdf:resource="http://www.daml.org/Process#input" />
<rdfs:domain rdf:resource="#GetDesiredFlightDetails" />
<rdfs:range rdf:resource="http://www.daml.ri.cmu.edu/ont/
DAML-S/concepts.daml#Airport" />
</rdf:Property>
<rdf:Property rdf:ID="outbounDate_In">
<rdfs:subPropertyOf rdf:resource="http://www.daml.org/Process#input" />
<rdfs:domain rdf:resource="#GetDesiredFlightDetails" />
<rdfs:range rdf:resource="http://www.daml.ri.cmu.edu/ont/
DAML-S/concepts.daml#FlightDate" />
</rdf:Property>
Airport
Flight Date
David Martin for DAML-S Coalition
departureAirport_In
GetDesired
Flight Details
outboundDate_In
05/08/2003
Composite Process Example
<rdfs:Class rdf:ID="BookFlight">
<rdfs:subClassOf rdf:resource="#CompositeProcess" />
<rdfs:subClassOf rdf:resource="http://www.daml.org/Process#Sequence" />
<daml:subClassOf>
<daml:Restriction>
<daml:onProperty rdf:resource="http://www.daml.org/Process#components" />
<daml:toClass>
<daml:subClassOf>
<daml:unionOf rdf:parseType="daml:collection">
<rdfs:Class rdfs:about="#GetFlightDetails" />
<rdfs:Class rdfs:about="#GetContactDetails" />
<rdfs:Class rdfs:about="#ReserveFlight" />
<rdfs:Class rdfs:about="#ConfirmReservation" />
</daml:unionOf>
Composite Process
</daml:subClassOf>
</daml:toClass>
BookFlight
</daml:Restriction>
</daml:subClassOf>
</rdfs:Class>
Get Flight
Details
Get Contact
Details
Sequence
David Martin for DAML-S Coalition
Reserve Flight
Sequence
Confirm
Reservation
Sequence
05/08/2003
Simple and Composite Processes
AcmeTruckShpng
ExpandedAcmeTruckShpng
Confirm Shipping Region
N
Acme
Truck
Shipping
expands
truck available
+
valid credit card
Y
Get Quote
Service
Get Shipping Dates
Book Truck Shipment
David Martin for DAML-S Coalition
05/08/2003
Upper Ontology of Services
David Martin for DAML-S Coalition
05/08/2003
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
David Martin for DAML-S Coalition
05/08/2003
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
David Martin for DAML-S Coalition
05/08/2003
OWL-S / WSDL Grounding
OWL-S
Process Model
Atomic Process
Resources/Concepts
Inputs / Outputs
Message
Operation
Binding to SOAP, HTTP, etc.
WSDL
David Martin for DAML-S Coalition
05/08/2003
OWL-S / WSDL Grounding (cont’d)
David Martin for DAML-S Coalition
05/08/2003
OWL-S / WSDL Grounding (cont’d)
WSDL
Document
daml-property
inputX
outputY
daml-property
owl-s-process
Atomic
Process
David Martin for DAML-S Coalition
<message …>
<part …>
<message …>
<part …>
<operation …>
<binding …>
05/08/2003
Review: Upper Ontology of Services
David Martin for DAML-S Coalition
05/08/2003
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
David Martin for DAML-S Coalition
05/08/2003
Critical Path to 1.0
• OWL-final
• Process Model
– Exceptions
– Process Control Ontology (lifecycle mgmt.)
– Roles, explicit messaging
– Surface language?
• Grounding
– WSDL 1.2
David Martin for DAML-S Coalition
05/08/2003
Semantic Web Services Initiative
(SWSI)
www.swsi.org
David Martin for DAML-S Coalition
05/08/2003
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
David Martin for DAML-S Coalition
05/08/2003
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
David Martin for DAML-S Coalition
05/08/2003
End of Part II
Extra
Material
Follows
David Martin for DAML-S Coalition
05/08/2003
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
David Martin for DAML-S Coalition
05/08/2003
(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
David Martin for DAML-S Coalition
05/08/2003