David Martin for DAML-S Coalition 12/18/2002
DAML-S:Bringing Services tothe Semantic Web
David Martin
SRI International
http://www.daml.org/services/
David Martin for DAML-S Coalition 12/18/2002
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
David Martin for DAML-S Coalition 12/18/2002
Outline
Motivation & Goals DAML-S technical overview
Profile, Process & Grounding ontologies
Achievements to dateReleases, tools & applications
ChallengesNext Steps
David Martin for DAML-S Coalition 12/18/2002
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
David Martin for DAML-S Coalition 12/18/2002
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
David Martin for DAML-S Coalition 12/18/2002
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
David Martin for DAML-S Coalition 12/18/2002
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/
David Martin for DAML-S Coalition 12/18/2002
Layered Approach to Language Development
DAML-??? (Rules, FOL?)
XML (Extensible Markup Language)
RDF (Resource Description Framework)
RDFS (RDF Schema)
DAML+OIL OWL (Ontology)
DAML-S (Services)
DAML-S: a major application of DAML+OILFuture versions will build upon emerging layers (e.g. DAML-Rules)
David Martin for DAML-S Coalition 12/18/2002
DAML-S ObjectivesAutomation 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 standardsIncremental exploitation
Enable reasoning/planning about servicese.g., On-the-fly composition
Integrated use with information resourcesEase of use; powerful tools
David Martin for DAML-S Coalition 12/18/2002
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?
David Martin for DAML-S Coalition 12/18/2002
Upper Ontology of Services
Ontology images compliments of Terry Payne, University of Southampton
David Martin for DAML-S Coalition 12/18/2002
High-level characterization/summary of a serviceUsed 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: “What does it do?”
David Martin for DAML-S Coalition 12/18/2002
Service ProfileNon Functional Non Functional PropertiesProperties
Functionality Functionality DescriptionDescription
David Martin for DAML-S Coalition 12/18/2002
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)
David Martin for DAML-S Coalition 12/18/2002
Service Profile: Functional Attributes
– geographical scopePizza 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 parametersAverage Response time is currently ...
Provide supporting information about the service, including:
David Martin for DAML-S Coalition 12/18/2002
• 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
Service Profile: Styles of use
David Martin for DAML-S Coalition 12/18/2002
Exploiting Taxonomies of ServicesServiceProfile
ProductProvidingService
Manufacturing
Transportation
ActionService
InfoService
PhysicalProductService Repair
InformationProduct+
physicalProduct+manufacturer+
deliveryRegion*deliveryProvider*
deliveryType
Physical_Product+
transportationMode+geographicRegion+
physicalProduct+
Tie in with UDDI, UNSPSC, …DL Basis for matchmakingMultiple profiles; multiple taxonomies
nameprovider
role+avgResponseTime?
…
FeeBased feeBasis+paymentMethod+
David Martin for DAML-S Coalition 12/18/2002
Upper Ontology of Services
David Martin for DAML-S Coalition 12/18/2002
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
Process Model: “How does it work?”
David Martin for DAML-S Coalition 12/18/2002
Service Model / Process Model
David Martin for DAML-S Coalition 12/18/2002
Acme Book
Truck Shipment
Function/Dataflow Metaphor
Input:
• confirmation no.• ...
Output:
• failure notification• …
truck available+
valid credit card
Y
N?
• customer name• origin• destination• weight• pickup date• ...
David Martin for DAML-S Coalition 12/18/2002
AI-inspired Action/Process Metaphor
Input:
• confirmation no.• ...
Output:
• failure notification• …
truck available+
valid credit card
Y
N?
Preconditions:
• customer name• origin• destination• pickup date• ...
• knowledge of the input• ...
• goods at location if successful• credit card debited...
Effect:
Output:
Effect: <no effect>
Acme Book
Truck Shipment
David Martin for DAML-S Coalition 12/18/2002
AcmeTruckShpng
www.acmeair.com
book flight service
• customer name• flight numbers• dates• credit card no.• • ...
• confirmation no.• ...
• failure notification• errror information• …
?
www.acmehotel.com
book hotel service
• confirmation no.• dates• room type• credit card no.• ...
• confirmation no.• ...
• failure notification• …
?
www.acmecar.com
book car service
• customer name• location• car type• dates• credit card no.• ...
• confirmation no.• ...
• failure notification• …
?
• • • •
Composite Process
• • • • • • • • • •
• • • •
?
• • • • • • • • • • •
Input &Preconditions
Output &Effects
• • • •
• • • •
David Martin for DAML-S Coalition 12/18/2002
Simple and Composite Processes
truck available+
valid credit card
Y
N
Confirm Shipping Region
Get Quote
Get Shipping Dates
Book Truck Shipment
Acme
Truck
Shipping
Service
expands
AcmeTruckShpng ExpandedAcmeTruckShpng
David Martin for DAML-S Coalition 12/18/2002
• 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
Process Model: Recent evolution
David Martin for DAML-S Coalition 12/18/2002
Upper Ontology of Services
David Martin for DAML-S Coalition 12/18/2002
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
David Martin for DAML-S Coalition 12/18/2002
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
David Martin for DAML-S Coalition 12/18/2002
DL-based Types
WSDL
DAML-S
Process Model
Atomic Process
Operation Message
Inputs / Outputs
Binding to SOAP, HTTP, etc.
David Martin for DAML-S Coalition 12/18/2002
DAML-S / WSDL Grounding (cont’d)
David Martin for DAML-S Coalition 12/18/2002
daml-property
daml-s-process
inputX
daml-propertyoutputY
AtomicProcess
WSDLDocument
<message …> <part …>
<message …> <part …>
<operation …>
<binding …>
DAML-S / WSDL Grounding (cont’d)
David Martin for DAML-S Coalition 12/18/2002
Review: Upper Ontology of Services
David Martin for DAML-S Coalition 12/18/2002
Pro
cess
Mod
el
Gro
undi
ng
Development … Deployment … Use …
Publication
Simulation
Verification
Discovery
Composition
Key:
Selection
Invocation, Interoperation
Monitoring, Recovery
Pro
file
David Martin for DAML-S Coalition 12/18/2002
Path of EvolutionRelease 0.5 (May 2001)
Initial Profile & Process ontologies
Release 0.6 (December 2001)Refinements to Profile & ProcessResources ontology
Two approaches to formal semanticsSycara/Ankolekar, McIlraith/Narayanan
Release 0.7 (October 2002)DAML-S/WSDL GroundingProfile, Process Model refinementsMore complete examples
Towards 1.0Expressiveness issues; process modeling; industry tie-in
David Martin for DAML-S Coalition 12/18/2002
Related ActivitiesWeb site & mailing lists
http://www.daml.org/services/[email protected]
UsersUMCP (Hendler/Parsia), UMBC (Finin), Manchester (Goble), CMU (Sadeh), Lockheed-
Martin, Ultralog, beta-reviewers, …
ToolsDAML-S publications
WWW10 SW Workshop (2), SWWS, WWW11, Coordination 2002, AAMAS, ICSW (4), IEEE Computer, IEEE Intel. Systems…
W3C Web services activitiesDesignated liaison for WS Arch. WG; Katia Sycara
ExperimentUse cases
David Martin for DAML-S Coalition 12/18/2002
Tools and ApplicationsDAML-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 KSL
Formal Specification of DAML-S Operational/Execution Semantics:
CMU, Stanford KSL, SRI
David Martin for DAML-S Coalition 12/18/2002
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
David Martin for DAML-S Coalition 12/18/2002
Next steps / prioritiesFocus on use cases architectureJoint committee forming …Move to OWLModel information servicesProfile: More substantial illustrative taxonomies
Tie in with existing taxonomies where possible (e.g. UNSPSC)
Process ModelEvaluate potential tie-in with an existing effort (WSFL?)
Support real-world useDescribing and using public WSDL servicesPossible collaborations with other SemWeb projectsDemos directed towards Web services community
Tools DAML-S API
David Martin for DAML-S Coalition 12/18/2002
(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
David Martin for DAML-S Coalition 12/18/2002
SummaryThe service paradigm will be a crucial part of the Semantic WebDAML-S supports service descriptions that are integral with
other Semantic Web meta-dataDAML-S aims to enable automatic discovery, selection,
invocation, composition, monitoring of servicesInitial versions of Profile, Process, and Grounding ontologies
are availableMany challenges remainWe’re interested in synergy with related work
http://www.daml.org/services/
David Martin for DAML-S Coalition 12/18/2002
Acknowledgements
• Slides created by David Martin, Sheila McIlraith, Terry Payne
• Ontology images created by Terry Payne, CMU