Services Part 3
Download
Report
Transcript Services Part 3
Part III: Resources &
Building Blocks
• General Resources
• Applications
• Tools & Components
• Summary
Acknowledgements
• Massimo Paolucci, Katia Sycara
– Robotics Institute, Carnegie Mellon University
– Material on DAML-S Matchmaker, DAML-S API,
DAML-S Virtual Machine, WSDL2DAML-S,
DAMLzon
• Sheila McIlraith, Honglei Zeng, Rob
McCool
– Knowledge Systems Lab, Stanford University
– Material on DAML-S Editor, Automated Web Service
Composition
General Resources
• Web site & mailing lists
– http://www.daml.org/services/
• New pages for collecting use cases, tools, sample code
– http://www.swsi.org
– [email protected]
– Look for conference workshops
• DAML-S/OWL-S & related publications
– Many and varied
– See http://www.daml.org/services/
• W3C Web services activities
– Description, Architecture, Choreography WGs
– Under discussion: Semantic Web Services IG
– Liaisons: Katia Sycara, Jim Hendler, Bijan Parsia
Some Applications Using
DAML-S
• CoSAR-TS demo (shown at SWMU)
• CMU demo(s)
– Travel planning, Electronic parts buying, DAMLzon
•
•
•
•
•
•
•
Stanford KSL demo
MyGrid: (http://mygrid.man.ac.uk)
AgentCities (www.agentcities.org)
Task Computing (Fujitsu Labs with MINDSWAP)
Composer demo (http://www.mindswap.org/~evren/composer/)
MyCampus (http://128.2.199.68/project)
Secure Mobile Services (UMBC/Finin)
Tools & Components
• OWL-S is just another OWL ontology
All the tools & technologies for OWL are relevant
• Tools & components specialized for OWL-S
–
–
–
–
Development tools
Matchmakers
Service provision (execution) tools
Service composition technology
• See also: http://www.daml.org/services/
– Publications, Tools
4 “Sweet Spots”
Discovery
Process Model
Grounding
Profile
Publication
Development
Selection
Simulation
Composition
Verification
Execution, Interoperation
Monitoring, Recovery
Development
…
Deployment … Use …
Sweet Spot: Development
•
•
•
•
DAML-S API
WSDL2DAML-S
DAML-S Editor
See also: http://www.daml.org/services/
– Publications, Tools
DAML-S API
• Provides easy way to process DAML-S in
Java
• Translates DAML-S ontologies into Java
– One Java class for each DAML-S class
– Accessors for each property in DAML-S
classes
• Complete implementation of DAML-S 0.7
WSDL2DAML-S
• WSDL widely used to describe Web services
– Wide repositories of WSDL descriptions
• www.salcentral.com
www.xmethods.com
• WSDL2DAMLS allows easy derivation of DAML-S
code from WSDL documents
• Automatic generation of Grounding
– Partial generation of Process Model and Profile
– Up to 80% of work required to generate a DAML-S
description is done automatically
• Combined with Java2WSDL to provide
Java2DAML-S
DAML-S Editor
Goal: Editor tailored to the markup of Web Services in DAML-S+
(not just an ontology editor -- focus on end user needs and intuitions)
Input: graphical and form entry
Output: DAML-S
Anticipated Users:
• Web service providers
• 2nd-ary Web service providers
• 3rd party Web page developers
• DAML community
Approach:
• Use-based
• Graphical
• Ontology editor and reasoner behind the scenes
What will make it significant Value added by reasoning:
• Verification of properties of services
• Simulation of services
• Diagnostics
Create new DAML-S service
Search Tap server for reusable ontologies
Inspect Class/Instance Properties
(notice the inputs/outputs/pre/effect for subclasses of
DAML-S Process)
Expand the search results (view the subclasses of search
results)
Load reusable ontologies into JTP
Create new class
add/remove new property, add/remove/modify property
values
create/edit a simple/composite services
specify Control Flow of composite services
specify Data Flow of composite services
Pallete of connectives for
Control Flow specification
Pallete of services for
Data & Control Flow specification
Browse the Process Ontology to create/edit a service
Select/subclass/sibling a service and
Create/Edit its properties
Define the control structure for composite services
Select a service and inspect its properties
Define the data flow within a composite service
<rdfs:Class rdf:ID="ExpandedAcmeMovingService">
<rdfs:subClassOf rdf:resource="http://www.daml.org/services/daml-s/2001/05/Process#Sequence" />
- <rdfs:subClassOf>
- <daml:Restriction>
<daml:onProperty rdf:resource="http://www.daml.org/services/daml-s/2001/05/Process#components" />
<daml:toClass rdf:resource="#PROCESS-LIST-142" />
</daml:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
- <rdfs:Class rdf:ID="PROCESS-LIST-142">
<rdfs:subClassOf rdf:resource="http://www.daml.org/services/daml-s/2001/05/Process#ProcessList" />
- <rdfs:subClassOf>
- <daml:Restriction>
<daml:onProperty rdf:resource="http://www.daml.org/2001/03/daml+oil#first" />
<daml:toClass rdf:resource="#AcmeConfirmMvRoute" />
</daml:Restriction>
</rdfs:subClassOf>
- <rdfs:subClassOf>
- <daml:Restriction>
<daml:onProperty rdf:resource="http://www.daml.org/2001/03/daml+oil#rest" />
<daml:toClass rdf:resource="#PROCESS-LIST-141" />
</daml:Restriction>
</rdfs:subClassOf>
</rdfs:Class>
- <rdfs:Class rdf:ID="PROCESS-LIST-141">
<rdfs:subClassOf rdf:resource="http://www.daml.org/services/daml-s/2001/05/Process#ProcessList" />
- <rdfs:subClassOf>
….-
Finally, generate the DAML-S for the services
Sweet Spot: Matchmaking
Sweet Spot: Matchmaking
From “Web Services Architecture W3C Working Draft”
http://www.w3.org/TR/2002/WD-ws-arch-20021114/
Sweet Spot: Matchmaking
• Matchmakers (and other forms of middle agents) have
been a focus in work on software agents
• Work on DL-based matchmaking predates DAML
• Semantic Web has brought renewed attention
– E.g. Paolucci/Sycara (CMU), Trastour (HP Labs), Lei/Horrocks
(Manchester), …
• Used in most or all SW Services applications
– See previous slide
• See also: http://www.daml.org/services/
– Publications
DAML-S Matchmaker
• Yellow pages matching service: Web services
and agents advertise their capabilities or look for
agents and Web services with a given capability
• Uses DAML-S to represent capability of Web
Services
• Extends UDDI Registry by adding capability
matching which is impossible to do without
semantic information
• Emphasis on flexible matching against services
not known a priori
DAML-S Matchmaker(2)
• Provides Web interface to compile
advertisements and requests
– Make easier for human users to compile
advertisements and requests
– Does not require profound knowledge of
DAML and DAML-S syntax
• Implementation available at
www.damlsmm.ri.cmu.edu
Sweet Spot: Service Provision
Sweet Spot: Matchmaking
From “Web Services Architecture W3C Working Draft”
http://www.w3.org/TR/2002/WD-ws-arch-20021114/
DAML-S VM
DAML-S processor that
allows any Web service
to interact with Web
services using only
DAML-S specifications
Features of DAML-S VM
• Uses DAML-S as representation of Web
services
• Uses DAML to represent information to
exchange between Web services
• Actively adopts logic inference to reason
about DAML-S and DAML ontologies
• Shows how to integrate DAML-S within Web
services technology such as Axis and WSIF
DAML-S for P2P
• Use DAML-S to expand search mechanism on Gnutella
P2P network
– Search capabilities in Gnutella restricted to keyword search – No
Semantic Information
• Improve on Gnutella by adding semantics in DAML and
capability representation in DAML-S
– Removes the need of centralized Registry
• Protocol:
– Non DAML nodes allow requests to hop from node to node
– DAML nodes reason about the requests that they receive and
decide whether to accept the task
Sweet Spot (?): Composition
Sweet Spot: Matchmaking
From “Web Services Architecture W3C Working Draft”
http://www.w3.org/TR/2002/WD-ws-arch-20021114/
Sweet Spot: Composition
• Stanford Knowledge Systems Lab
(McIlraith)
• CMU Robotics Lab (Sycara/Paolucci)
• MINDSWAP (Hendler/Parsia)
– http://www.mindswap.org/~evren/composer/
• See also: http://www.daml.org/services/
– Publications
Stanford KSL
Automated Web Service Composition
E.g., Arrange food for 500 people for 2 weeks in Dubai.
Approach:
I. Plan a sequences of services that realize user’s objective.
(NP complete or worse)
II. Customize reusable generic procedures
- Define and archive reusable generic procedures
- Customize with user’s constraints.
(NP complete or worse in a reduced search space)
Advantages: efficiency, ease of use, customization
Architecture
Web Procedures
Ontologies
Web Service
Ontologies
Agent
Broker
DAML-enabled
personal/company
constraints and prefs
DAML-enabled
web pages
E-mail
...
Demo: Dynamic UI with DAML+OIL
User Interface auto-generated from DAML+OIL Ontology
Behind the Scenes
User Constraints+Generic Procedures+deduction=composition
**or**
User constraints + Goal + deduction = composition
Talk to Web services through OAA
Agent e-mails itinerary to customer
Email the user travel plans when done...
Agent creates expense claim for customer
Generate expense claim
KSL Service Composition:
Status & Challenges
Automated Web Service Composition is working now!
Implementation:
DAML+OIL/DAML-S FOL -> Ontolingua, Golog & sit’n calculus in Prolog
Java, Prolog, Ontolingua-DAML+OIL translator, OKBC,
DAML-S to PDDL translator, bubble gum, scotch tape
Challenges:
• Outstanding DAML-S representation issues
• DAML-S-ize our work; Reduce number of repn’s required; Reasoner.
• Technical challenges:
• Execution Monitoring & Recovery, Info vs. world-chging services
• Automate Service Selection
• Low-level synchronization, message passing issues
Tools & Components: Status
• DAML-S Matchmaker
– Implementation available at www.damlsmm.ri.cmu.edu
• DAML-S API, WSDL2DAML-S, DAML-S VM,
DAML-S for P2P
– Not yet publically released; contact Katia Sycara
• DAML-S Editor
– Currently being rewritten to
-
Replace DAML+OIL with OWL
Exploit new ontology editor
Improve interface
- Not yet publically released;
contact Sheila McIlraith
4 “Sweet Spots”
Discovery
Process Model
Grounding
Profile
Publication
Development
Selection
Simulation
Composition
Verification
Execution, Interoperation
Monitoring, Recovery
Development
…
Deployment … Use …
Summary
The service paradigm will be a crucial part of the Semantic
Web
OWL-S supports service descriptions that are integral with
other Semantic Web meta-data
OWL-S aims to enable automatic discovery, selection,
invocation, composition, monitoring of services
Service description ontology (Profile, Process, and
Grounding) is available, in use, and evolving
Several extremely useful building blocks have been created
and are in use
Many publications and other resources are available here:
http://www.daml.org/services/
End of Part III
Extra
Material
Follows
DAMLzon: DAML-S for
Amazon.com
• WSDL2DAML-S
used to generate
Reserve Book
Book Search
DAML-S for
Amazon’s Web
Service
• DAML-S VM used to
interact with Amazon
Web service
Process Model for Amazon.com
Perfomance Measures
• We compared the performance of using
DAML-S in its interaction with Amazon.com
• Two experiments
– Compared Amazon client with DAML-S VM
client on browsing task
– Analyzed DAML-S VM client on
browsing+reserving task
• No client for Browsing+Reserving provided by Amazon
Results Experiment 1
• Compared Amazon client
with DAML-S VM client
on browsing task
• 98 runs total over 4 days in
Amazon Client
DAML-S VM
Average
execution
time
2007 ms
2021 ms
Only 14 ms more
Strd
Deviation
1134 ms
776 ms
varying load conditions
Distribution
• Results in milliseconds
45
Amazon Client
40
DAML-S Client
35
30
25
20
15
10
5
0
1500
2000
2500
3000
3500
4000
4500
5000
5500
>5500
Results Experiment 2
Time of
DAML-S
VM
• DAML-S VM client on
browsing+reserving task
– No client for Browsing+Reserving
provided by Amazon
•
Analyzed data by computing:
Time of
data
transform.
Invocation
Time
Average
83
156
2797
Strd dev
107
146
1314
– Time required by DAML-S VM to
execute Process Model
– Time required for data transformation
to fit Amazon requirements
– Time required to invoke an operation
on Amazon
• 98 runs total over 4 days in
varying load conditions
•
Results in milliseconds
Time required by DAML-S VM
Time required for Data
Transformation
Amazon Invocation Time