340 likes | 488 Views
DAML-S: Bringing Semantics to Web Services. David Martin SRI International http://www.daml.org/services/. DAML-S Web Services Coalition *. CMU: Massimo Paolucci, Terry Payne, Katia Sycara, Norm Sadeh BBN: Mark Burstein Nokia: Ora Lassila Stanford KSL: Sheila McIlraith, (Honglei Zeng)
E N D
DAML-S:Bringing Semantics toWeb Services David Martin SRI International http://www.daml.org/services/
DAML-S Web Services Coalition* CMU: Massimo Paolucci, Terry Payne, Katia Sycara, Norm Sadeh BBN: Mark Burstein Nokia: Ora Lassila Stanford KSL: Sheila McIlraith, (Honglei Zeng) SRI: Jerry Hobbs, David Martin, (Srini Narayanan) Yale: Drew McDermott * Founded February, 2001
What is DAML-S? • DARPA Agent Markup Language for Services • A DAML+OIL 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 (Ontology) RDFS (RDF Schema) RDF (Resource Description Framework) XML (Extensible Markup Language) Layered Approach to Language Development A major application of DAML+OIL Future versions will build upon emerging layers (e.g. DAML-Rules) DAML-S (Services)
DAML-S Objectives Automation of service use by software agents Ideal: discovery, selection & use of services never before encountered Useful in the “real world” 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 DAML-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?
Upper Ontology of Services Ontology images compliments of Terry Payne, CMU
Service Profile:“What does it do?” High-level characterization/summary of a service • Provider & participants • Capabilities • Functional attributes (e.g., QoS, region served) 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 Capability Description Provenance Description Functional Attributes
Service Profile: Provenance Description • Service overview & participants • serviceName & textDescription • intendedPurpose & roles of Actors • Details about • Providers • Requesters • 3rd PartyActors
Service Profile: Capability Description • Specification of what the service provides • High-level functional representation in terms of: • preconditions • inputs • (conditional) outputs • (conditional) effects Summarizes the top-level Process (described by Service Model)
Service Profile: Functional Attributes Provide supporting information about the service, including: • geographical scope Pizza Delivery only within the Pittsburgh area • quality descriptions and guarantees Stock quotes delivered within 10 secs • service types, service categories Commercial / Problem Solving etc • service parameters Average Response time is currently ...
Service Profile:Styles of use • Class-hierarchical yellow pages • Implicit capability characterization • Arrangement of attributes on class hierarchy • Can use multiple inheritance • Plan summaries • More explicit • Preconditions, effects • Less reliance on formal hierarchical organization • Summarizes process model specs
Exploiting Taxonomies of Services nameproviderrole+avgResponseTime?… ServiceProfile feeBasis+paymentMethod+ FeeBased ProductProvidingService ActionService Physical_Product+ Manufacturing InfoService InformationProduct+ physicalProduct+manufacturer+deliveryRegion*deliveryProvider*deliveryType PhysicalProductService Repair physicalProduct+ Tie in with UDDI, UNSPSC, …DL Basis for matchmakingMultiple profiles; multiple taxonomies transportationMode+geographicRegion+ Transportation
Process Model: “How does it work?” Service Model“How does it work?” • Each service is conceived as atomic or composite process • “Simple” (abstract) processes can specify “views” of atomics & composites • Allows for black box and glass box views of composite services • Associated with each process is a set of inputs, outputs, preconditions and effects • Composite processes are composed of other processes using constructs such as sequence, if-then-else, fork,... • Process model (and process execution model) used for: • (automated) Web service invocation, composition, interoperation, monitoring
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 • …
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 • Examples: HTTP forms, SOAP, KQML, CORBA IDL, OAA ICL, Java RMI
DAML-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 DAML-S
DAML-S DL-based Types Process Model Inputs / Outputs Atomic Process Message Operation Binding to SOAP, HTTP, etc. WSDL
DAML-S / WSDL Grounding (cont’d) WSDLDocument <message …> <part …><message …> <part …> <operation …><binding …> daml-property inputX daml-property outputY daml-s-process AtomicProcess
Language Evolution to Date Release 0.5 (May 2001) Initial Profile & Process ontologies Release 0.6 (December 2001) Refinements to Profile & Process Resources ontology Two approaches to formal semantics Sycara/Ankolekar, McIlraith/Narayanan Release 0.7 (coming soon) DAML-S/WSDL Grounding More complete examples Release 1.0 (later this year) Process model issues
Related Activities Web site & mailing lists http://www.daml.org/services/ www-ws@w3.org Use cases DAML-S Publications WWW10 Sem. Web. Workshop (2), SWWS, WWW11, Coordination 2002, AAMAS (poster), ICSW (4), … Monitoring W3C Web services activities Designated liaison for Web Services Arch. WG
Tools and Applications • DAML-S is just another DAML+OIL ontology • All the tools & technologies for DAML+OIL are relevant • Some DAML-S Specific Tools and Technologies: • Discovery, Matchmaking, Agent Brokering: CMU, SRI (OAA), Stanford KSL • Automated Web Service Composition: Stanford KSL, BBN/Yale/Kestrel, • CMU, MIT, Nokia, SRI • DAML-S Editor: Stanford KSL, SRI, CMU (profiles), Manchester • Process Modeling Tools & Reasoning: SRI, Stanford KSL • Service Enactment /Simulation: SRI, Stanford KSLFormal Specification of DAML-S Operational/Execution Semantics: CMU, Stanford KSL, SRI
Challenges • Finding the “80/20” line • Where and how to go beyond DAML+OIL? • Interface between DL ontology, logical expressions, algorithm/workflow representation • Profiles: more explicit • Process modeling: many issues • Variability of public/private aspects of Processes • Extending to offline (sub)processes • Generalizing to multiple roles • Failure, transactions • 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 DAML-S. • DAML-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
Summary The service paradigm will be a crucial part of the Semantic Web DAML-S supports service descriptions that are integral with other Semantic Web meta-data DAML-S aims to enable automatic discovery, selection, invocation, composition, monitoring of services Initial versions of Profile, Process, and Grounding ontologies are available Many challenges remain We’re interested in synergy with related work http://www.daml.org/services/