47
Part III: Resources & Building Blocks •General Resources •Applications •Tools & Components •Summary

Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

Embed Size (px)

Citation preview

Page 1: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

Part III: Resources & Building Blocks

• General Resources

• Applications

• Tools & Components

• Summary

Page 2: 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

Page 3: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

Create new DAML-S service

Page 12: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

Expand the search results (view the subclasses of search results)

Page 14: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

Load reusable ontologies into JTP

Page 15: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

Create new class

add/remove new property, add/remove/modify property values

Page 16: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

Browse the Process Ontology to create/edit a service

Page 18: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

Select/subclass/sibling a service and Create/Edit its properties

Page 19: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

Define the control structure for composite services

Page 20: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

Select a service and inspect its properties

Page 21: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

Define the data flow within a composite service

Page 22: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

<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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

Architecture

DAML-enabled web pages

Web Service Ontologies

Web Procedures Ontologies

AgentBroker

E-mail

DAML-enabled personal/company

constraints and prefs...

Page 35: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

Demo: Dynamic UI with DAML+OIL

User Interface auto-generated from DAML+OIL Ontology

Page 36: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

Agent e-mails itinerary to customer

Email the user travel plans when done...

Page 38: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

Agent creates expense claim for customer

Generate expense claim

Page 39: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

End of Part III

ExtraMaterialFollows

Page 44: Part III: Resources & Building Blocks General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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 General Resources Applications Tools & Components Summary

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