410 likes | 633 Vues
DAML-S: Bringing Services to the Semantic Web. David Martin SRI International http://www.daml.org/services/. DAML-S Web Services Coalition. BBN: Mark Burstein CMU: Massimo Paolucci, Katia Sycara ICSI : Srini Narayanan Nokia: Ora Lassila Stanford KSL: Sheila McIlraith*
E N D
DAML-S:Bringing Services tothe Semantic Web David Martin SRI International http://www.daml.org/services/
DAML-S Web Services Coalition BBN: Mark Burstein CMU: Massimo Paolucci, Katia Sycara ICSI: Srini Narayanan Nokia: Ora Lassila Stanford KSL: Sheila McIlraith* SRI: David Martin* Southampton: Terry Payne* USC-ISI: Jerry Hobbs Yale: Drew McDermott *Contributed to these slides
Outline Motivation & Goals DAML-S technical overview Profile, Process & Grounding ontologies Achievements to date Releases, tools & applications Challenges Next Steps
Convergence on Services • Commercial vendors, media, forecasters, etc. • Intranets, not just internets • W3C Web services efforts • Semantic Web community • DAML-S; WSMF & other EU efforts • ISWC: 10 services-related papers, 7 posters • Grid computing (OGSA) • Ubiquitous computing (devices) • Mobile access to services A remarkable opportunity • Bringing behavioral intelligence to the Web
What is DAML? • A DARPA program • An input to the W3C Semantic Web activity • Draft for the Web Ontology working group • A markup language www.daml.org
Characteristics of DAML • Based on XML & RDF(S) • Beyond RDF: properties of properties, equivalence and disjointness of classes, more constraints, etc. Feature comparison: https://www.daml.org/language/features.html • Layered approach XML => RDF(S) => DAML+OIL => (DAML-L) => DAML-S • Semantics for Web resources from Knowledge Representation concepts • DAML+OIL: can be regarded as a description logic • Ontologies • Logical rules & inference • DAML-S: Extension to Services
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 OWL(Ontology) RDFS (RDF Schema) RDF (Resource Description Framework) XML (Extensible Markup Language) Layered Approach to Language Development DAML-S: a major application of DAML+OIL Future versions will build upon emerging layers (e.g. DAML-Rules) DAML-S (Services) DAML-??? (Rules, FOL?)
DAML-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 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, 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
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 • Process summaries for planning purposes • More explicit • Inputs, outputs, 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?” 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 • …
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
Process Model:Recent evolution • Conditional outputs & effects • Parameter bindings <rdf:Description rdf:about="#FullCongoBuy"><sameValues rdf:parseType="daml:collection"> <ValueOf atClass="#FullCongoBuy“ theProperty="#fullCongoBuyBookISBN"/> <ValueOf atClass="#LocatedBookOutput“ theProperty="outInCatalogBookISBN"/> <ValueOf atClass="#CongoBuyBook“ theProperty="#congoBuyBookISBN"/></sameValues> Pushing the limits of DAML+OIL expressiveness
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
Key: Publication Profile Discovery Simulation Selection Process Model Verification Composition Invocation, Interoperation Grounding Monitoring, Recovery Development … Deployment … Use …
Path of Evolution 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 (October 2002) DAML-S/WSDL Grounding Profile, Process Model refinements More complete examples Towards 1.0 Expressiveness issues; process modeling; industry tie-in
Related Activities Web site & mailing lists http://www.daml.org/services/ www-ws@w3.org Users UMCP (Hendler/Parsia), UMBC (Finin), Manchester (Goble), CMU (Sadeh), Lockheed-Martin, Ultralog, beta-reviewers, … Tools DAML-S publications WWW10 SW Workshop (2), SWWS, WWW11, Coordination 2002, AAMAS, ICSW (4), IEEE Computer, IEEE Intel. Systems… W3C Web services activities Designated liaison for WS Arch. WG; Katia Sycara Experiment Use cases
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 • 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 DAML+OIL? • Interface between DL ontology, logical expressions, algorithm/workflow representation • Connecting with Industry • Showing compelling value • Not promising too much • Providing an incremental path
Next steps / priorities Focus on use cases architecture Joint committee forming … Move to OWL Model information services Profile: More substantial illustrative taxonomies Tie in with existing taxonomies where possible (e.g. UNSPSC) Process Model Evaluate potential tie-in with an existing effort (WSFL?) Support real-world use Describing and using public WSDL services Possible collaborations with other SemWeb projects Demos directed towards Web services community Tools DAML-S API
(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/
Acknowledgements • Slides created by David Martin, Sheila McIlraith, Terry Payne • Ontology images created by Terry Payne, CMU