250 likes | 404 Views
DAML-S: Accessing Information and Services on the Web. Mark Burstein, BBN Technologies (burstein@bbn.com) David Martin, SRI (martin@ai.sri.com) Sheila McIlraith, Stanford KSL (sam@ksl.stanford.edu). Outline. What is DAML? Observations Semantic Web Queries, Requests, Requirements
E N D
DAML-S: Accessing Information and Services on the Web Mark Burstein, BBN Technologies (burstein@bbn.com) David Martin, SRI (martin@ai.sri.com) Sheila McIlraith, Stanford KSL (sam@ksl.stanford.edu)
Outline • What is DAML? • Observations • Semantic Web Queries, Requests, Requirements • The Big Picture (Web architecture and evolution) • DAML-S: DAML for Services • Initially released May 30 2001
DAML-S Working Group Joint work by: • SRI: David Martin, Srini Narayanan, Jerry Hobbs • Stanford: Sheila McIlraith, Honglei Zeng • CMU: Katia Sycara, Terry Payne, Massimo Paolucci • BBN: Mark Burstein • Nokia: Ora Lassila
What is DAML? • An acronym: DARPA Agent Markup Language • A DARPA program • An XML-based markup language • An input to the W3C Semantic Web activity • Will likely be proposed as the draft of a working group recommendation See also: http://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: http://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 can be distributed, referenced by URI • Logical rules can be described, applied using inference engines • DAML-S: A DAML+OIL ontology for (e.g. Web) Services
Queries, Requests, Requirements “Find a reference to the latest paper on SHOE with James Hendler as a co-author.” • All concepts identified unambiguously (by URIs) http://www.cs.umd.edu/projects/plus/DAML/onts/docmnt1.0.daml#Document • Ontologies distributed across the web <Ontology about=""> <versionInfo>document-ont, v.1.0</versionInfo> <comment>An ontology that models documents, particularly publications</comment> <imports resource="http://www.cs.umd.edu/projects/plus/DAML/onts/base1.0.daml"/> <imports resource="http://www.cs.umd.edu/projects/plus/DAML/onts/general1.0.daml"/> </Ontology> • “Latest”, etc.: no closed-world assumption
Using Distributed Theories Scales Ontology/Theory Processes Ontology/Theory Preferences Ontology/Theory Dates & Times Ontology/Theory Security Ontology/Theory Geography Ontology/Theory MapBlast Travel Ontology/Theory Personal Travel Agent SNARK nau.edu/latlongdist SRI Travel Ontology/Theory Process Interpreter Web Sites Travelocity++ Travelocity + DAML Annotations My Travel Ontology/Theory
Queries, Requests, Requirements • Meta-data for a response is (very likely) distributed “Find a reference to a paper having 2 authors, both of which have been PIs for a DARPA project.” • Combine information queries with service requests “If Daniel Dennett has published a book about consciousness, request the Stanford Library to hold it for me.” • Compose services “Get me a flight to Washington DC, and reserve a room near the airport” • Multiple participants in single transactions Airline, hotel, travel agent, meeting scheduler
DAML-S: Goals • Develop upper ontology for describing, using services. • Suport full automation of service use • Provide enough information for an agent to find, select, and use a service never before encountered • Enable Composition of Services • Allow for composition of information gathering and transactional services • Many components & tools can work for both • Search & selection, ontology translation, transaction planning... • Support inference in selecting and using services
Upper Ontology for Services • A foundation for creating many service ontologies • But not a mandate for specific ontologies • May provide deeper ontologies for Meta-services • Can be specialized in many different ways • No one “official hierarchy” of services • But agents always know how to get started • Top-level specs provide consistency • Existing taxonomies can be mapped
Service Ontology: Top-level Classes Service Resource provides presents supports describedBy ServiceProfile ServiceGrounding ServiceModel How to communicate with it (e.g. Transport Protocols) What theservice does “Advertisement” How to use it A “Recipe”
Example: Specialization for a B2C Site B2C-Service B2C-Lookup B2C-Purchase B2C-AccountMgmt Congo-Lookup Congo-Purchase Congo-AccountMgmt CP-Profile CP-Grounding CP-Model
Service Profile“What does it do?” • Requirements, benefits, results of use • “Black box” view used to advertise the service • Information needed to find and select a service • Inputs, outputs, preconditions, effects, … • “Binding rules” for inputs, outputs • “Roles” involved • May vary for different service classes • Can employ logical rules • (e.g. to describe applicability) • Analogous to Yellow pages entry, w. specifics, constraints on use
B2C Purchase: Profile • Intended Purpose: The primary (intended) effectsOwn(Item) • Input(s): ItemDescription (several forms), PriceRange, AcctName, Passwd, CreditCard#, Shipping-address, … • Input usage rule: Exists(Acct) => Defined(CreditCard#, Shipping-Address) • Precondition: Exists(Acct) | CanCreate(Acct) • Output: ‘Succeed’ + Receipt | ‘Cancel’ | ‘Fail’ • Effect: ‘Succeed’ ShippingOrderPlaced
Service Model“How does it work?” • Semantic description of a service • “Glass box” view • Detailed characterization of how to use it, what it does • Decomposes process down to level of executable messages, transactions • May vary for different service classes • A process description • may employ logical rules, • Analogous to description of procedure body
Process Model(SubClass of ServiceModel) • Shared knowledge to coordinate service’s “roles” • Draws on work in AI planning, workflow, … • Expresses state changes resulting from actions • Describes sequences of possible interactions for an extended transaction • Hierarchical process decomposition • Executable semantics • Can be used for task planning, scheduling, reachability analysis, etc.
Process Ontology ServiceModel ProcessControl subClassOf ProcessModel Input output participant precondition effect ... expand/contract Process CompositeProcess component ProcessBag ProcessList If/Then/Else Split RepeatUntil Sequence
AI-inspired Action/Process Metaphor Output: • confirmation no. • ... Input: • ticket purchased • credit card debited • ... Effect: • customer name • flight number • credit card • ... www.acmeair.com BookFlight service Y flight available + valid credit card ? Preconditions: N • knowledge of • the input • own credit card • ... • failure notification • … Output: <no effect> Effect:
B2C Purchase: Expanded Process Model Simple and Compositeservice descriptions Locate-Goods Put-in-Cart Check-out OR Sign-in Create-Account Load-Prefs Create-Prefs Expands to Purchase Composite process Select-Payment-Method Simpleprocess Specify-Delivery-Address Giftwrap Finalize
Service Grounding“How is it used?” • Implementation-specific details for accessing the service • Message formatting, transport mechanisms, protocols, serializations of all types • Service Model + Grounding give everything needed for using the service • Examples: HTTP forms, SOAP, KQML, CORBA IDL, OAA ICL, Java RMI
B2C-Purchase: Grounding • Transport: Secure HTTP • Protocol: HTTP Forms • Address: https://buybot.congo.com:4040/initsub.htm • Type Serializations • ItemDescription (keywords): Set of DAML literals • PriceRange: pair of monetary units, ISO 5678 • CreditCard: https://transcredit.com/S1.daml#SecureTransferFormat
Recap of Upper Ontology for Services • Profile supports service selection • Model + Grounding support execution, monitoring, composition, … • Profile and Model are abstract;Grounding makes it concrete • There can be multiple of each • One-to-one correspondence not required
Comparison with Developing E-Commerce Standards • DAML-S has been compared to: • UDDI • WSDL • E-speak • ebXML • see http://www.daml.org/services/daml-s/2001/05/survey-f-release.pdf • DAML-S has more explicit semantics and is (because of DAML) can be more expressive than existing e-commerce standards, but… • Still early in development. Integration with these standards would be desirable, preferable.
Summary • The Semantic Web will be big • It will support a wide variety of (mixed) queries and requests, in a semantically-grounded way • KB representational techniques, ontologies, axioms, reasoning are likely to be important elements • Services can be advertised, found, executed, monitored, and composed using DAML-S • Search engines & portals will evolve; ontology translation services will become essential. • Sharing ontologies for both services and content when possible will make everyone’s (integration) job easier.
Status • DAML-S v0.5 is now available for comment, feedback at http://www.daml.org/services/ • Joint work by SRI, Stanford KSL, CMU, BBN, Nokia supported by DARPA