Title: DAMLS: Bringing Semantics to Web Services
1DAML-SBringing Semantics toWeb Services
- David Martin
- SRI International
- http//www.daml.org/services/
2DAML-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
3What is DAML-S?
- DARPA Agent Markup Language for Services
-
- A DAMLOIL 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/
4Layered Approach to Language Development
A major application of DAMLOIL
Future versions will build upon emerging layers
(e.g. DAML-Rules)
DAML-S (Services)
5DAML-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
6Automation 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?
7Upper Ontology of Services
Ontology images compliments of Terry Payne, CMU
8Service 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
9Service Profile
Capability Description
Provenance Description
Functional Attributes
10Service Profile Provenance Description
- Service overview participants
- serviceName textDescription
- intendedPurpose roles of Actors
- Details about
- Providers
- Requesters
- 3rd PartyActors
11Service 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)
12Service 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 ...
13Service 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
14Exploiting Taxonomies of Services
nameproviderroleavgResponseTime?
ServiceProfile
FeeBased
feeBasispaymentMethod
ProductProvidingService
ActionService
Physical_Product
Manufacturing
InfoService
InformationProduct
physicalProductmanufacturerdeliveryRegiondel
iveryProviderdeliveryType
PhysicalProductService
Repair
physicalProduct
Tie in with UDDI, UNSPSC, DL Basis for
matchmakingMultiple profiles multiple taxonomies
transportationModegeographicRegion
Transportation
15Upper Ontology of Services
16Service ModelHow does it work?
Process 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
17Service Model / Process Model
18Function/Dataflow Metaphor
Input
Output
- customer name
- origin
- destination
- weight
- pickup date
- ...
Acme Book Truck Shipment
Y
truck available valid credit card
?
N
19AI-inspired Action/Process Metaphor
Output
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
- ...
Output
Effect
20Composite Process
Output Effects
Input Preconditions
AcmeTruckShpng
- customer name
- location
- car type
- dates
- credit card no.
- ...
www.acmecar.com book car service
?
?
- confirmation no.
- dates
- room type
- credit card no.
- ...
www.acmehotel.com book hotel service
?
- customer name
- flight numbers
- dates
- credit card no.
-
- ...
www.acmeair.com book flight service
?
- failure notification
- errror information
-
21Simple and Composite Processes
AcmeTruckShpng
ExpandedAcmeTruckShpng
22Upper Ontology of Services
23Service 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
24DAML-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
25DAML-S
DL-based Types
Process Model
Inputs / Outputs
Atomic Process
Message
Operation
Binding to SOAP, HTTP, etc.
WSDL
26DAML-S / WSDL Grounding (contd)
27DAML-S / WSDL Grounding (contd)
WSDLDocument
daml-property
inputX
daml-property
outputY
daml-s-process
AtomicProcess
28Review Upper Ontology of Services
29Language 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
30Related Activities
- Web site mailing lists
- http//www.daml.org/services/
- www-ws_at_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
31Tools and Applications
DAML-S is just another DAMLOIL ontology
? All the tools technologies for DAMLOIL are
relevant Some DAML-S Specific Tools and Technol
ogies Discovery, Matchmaking, Agent Brokering
CMU, SRI (OAA), Stanford KSL Automated Web Ser
vice Composition Stanford KSL, BBN/Yale/Kestrel,
CMU, MIT, Nokia, SRI DAML-S Ed
itor 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
32Challenges
- Finding the 80/20 line
- Where and how to go beyond DAMLOIL?
- 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
33(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
34Summary
- 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
- Were interested in synergy with related work
- http//www.daml.org/services/