part iii: resources & building blocks
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/1.jpg)
Part III: Resources & Building Blocks
• General Resources
• Applications
• Tools & Components
• Summary
![Page 2: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/2.jpg)
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
![Page 3: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/3.jpg)
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
![Page 4: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/4.jpg)
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)
![Page 5: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/5.jpg)
Tools & Components
• OWL-S is just another OWL ontologyAll 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
![Page 6: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/6.jpg)
Pro
cess
Mod
el
Gro
undi
ng
Development … Deployment … Use …
Publication
Development
Simulation
Discovery
Composition
Selection
Execution, Interoperation
Monitoring, Recovery
Pro
file
Verification
4 “Sweet Spots”
![Page 7: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/7.jpg)
Sweet Spot: Development
• DAML-S API
• WSDL2DAML-S
• DAML-S Editor
• See also: http://www.daml.org/services/– Publications, Tools
![Page 8: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/8.jpg)
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
![Page 9: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/9.jpg)
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
![Page 10: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/10.jpg)
DAML-S EditorGoal: 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 • 3rd party Web page developers• 2nd-ary Web service providers • 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
![Page 11: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/11.jpg)
Create new DAML-S service
![Page 12: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/12.jpg)
Search Tap server for reusable ontologiesInspect Class/Instance Properties
(notice the inputs/outputs/pre/effect for subclasses of DAML-S Process)
![Page 13: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/13.jpg)
Expand the search results (view the subclasses of search results)
![Page 14: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/14.jpg)
Load reusable ontologies into JTP
![Page 15: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/15.jpg)
Create new class
add/remove new property, add/remove/modify property values
![Page 16: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/16.jpg)
create/edit a simple/composite servicesspecify Control Flow of composite servicesspecify Data Flow of composite services
Pallete of services for Data & Control Flow
specification
Pallete of connectives for Control Flow specification
![Page 17: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/17.jpg)
Browse the Process Ontology to create/edit a service
![Page 18: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/18.jpg)
Select/subclass/sibling a service and Create/Edit its properties
![Page 19: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/19.jpg)
Define the control structure for composite services
![Page 20: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/20.jpg)
Select a service and inspect its properties
![Page 21: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/21.jpg)
Define the data flow within a composite service
![Page 22: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/22.jpg)
<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
![Page 23: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/23.jpg)
Sweet Spot: MatchmakingSweet Spot: Matchmaking
From “Web Services Architecture W3C Working Draft”http://www.w3.org/TR/2002/WD-ws-arch-20021114/
![Page 24: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/24.jpg)
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
![Page 25: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/25.jpg)
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
![Page 26: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/26.jpg)
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
![Page 27: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/27.jpg)
Sweet Spot: MatchmakingSweet Spot: Service Provision
From “Web Services Architecture W3C Working Draft”http://www.w3.org/TR/2002/WD-ws-arch-20021114/
![Page 28: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/28.jpg)
DAML-S VM
DAML-S processor that allows any Web service to interact with Web services using only DAML-S specifications
![Page 29: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/29.jpg)
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
![Page 30: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/30.jpg)
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
![Page 31: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/31.jpg)
Sweet Spot: MatchmakingSweet Spot (?): Composition
From “Web Services Architecture W3C Working Draft”http://www.w3.org/TR/2002/WD-ws-arch-20021114/
![Page 32: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/32.jpg)
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
![Page 33: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/33.jpg)
Stanford KSLAutomated 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
![Page 34: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/34.jpg)
Architecture
DAML-enabled web pages
Web Service Ontologies
Web Procedures Ontologies
AgentBroker
DAML-enabled personal/company
constraints and prefs...
![Page 35: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/35.jpg)
Demo: Dynamic UI with DAML+OIL
User Interface auto-generated from DAML+OIL Ontology
![Page 36: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/36.jpg)
Behind the Scenes
User Constraints+Generic Procedures+deduction=composition **or**
User constraints + Goal + deduction = composition
Talk to Web services through OAA
![Page 37: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/37.jpg)
Agent e-mails itinerary to customer
Email the user travel plans when done...
![Page 38: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/38.jpg)
Agent creates expense claim for customer
Generate expense claim
![Page 39: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/39.jpg)
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
![Page 40: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/40.jpg)
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
![Page 41: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/41.jpg)
Pro
cess
Mod
el
Gro
undi
ng
Development … Deployment … Use …
Publication
Development
Simulation
Discovery
Composition
Selection
Execution, Interoperation
Monitoring, Recovery
Pro
file
Verification
4 “Sweet Spots”
![Page 42: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/42.jpg)
SummaryThe service paradigm will be a crucial part of the Semantic WebOWL-S supports service descriptions that are integral with other
Semantic Web meta-dataOWL-S aims to enable automatic discovery, selection, invocation,
composition, monitoring of servicesService description ontology (Profile, Process, and Grounding) is
available, in use, and evolvingSeveral extremely useful building blocks have been created and are in useMany publications and other resources are available here:
http://www.daml.org/services/
![Page 43: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/43.jpg)
End of Part III
ExtraMaterialFollows
![Page 44: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/44.jpg)
DAMLzon: DAML-S for Amazon.com
• WSDL2DAML-S used to generate DAML-S for Amazon’s Web Service
• DAML-S VM used to interact with Amazon Web service
Process Model for Amazon.com
Book SearchBook Search Reserve BookReserve Book
![Page 45: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/45.jpg)
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
![Page 46: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/46.jpg)
Results Experiment 1• Compared Amazon client
with DAML-S VM client on browsing task
• 98 runs total over 4 days in varying load conditions
• Results in milliseconds
Amazon Client DAML-S VM
Average execution time
2007 ms 2021 ms
Only 14 ms more
Strd Deviation
1134 ms 776 ms
Distribution
0
5
10
15
20
25
30
35
40
45
1500 2000 2500 3000 3500 4000 4500 5000 5500 >5500
Amazon Client
DAML-S Client
![Page 47: Part III: Resources & Building Blocks](https://reader035.vdocument.in/reader035/viewer/2022062309/568143e8550346895db06e6d/html5/thumbnails/47.jpg)
Time required by DAML-S VM
Time required for DataTransformation
Amazon Invocation Time
Results Experiment 2
• DAML-S VM client on browsing+reserving task
– No client for Browsing+Reserving provided by Amazon
• Analyzed data by computing:– 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 of
DAML-S VM
Time of data transform.
Invocation Time
Average 83 156 2797
Strd dev 107 146 1314