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 – New pages for collecting use cases, tools, sample code – –Look for conference workshops DAML-S/OWL-S & related publications –Many and varied –See 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: ( AgentCities ( Task Computing (Fujitsu Labs with MINDSWAP) Composer demo ( MyCampus ( ) 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: –Publications, Tools
Process Model Grounding Development … Deployment … Use … Publication Development Simulation Discovery Composition Selection Execution, Interoperation Monitoring, Recovery Profile Verification 4 Sweet Spots
Sweet Spot: Development DAML-S API WSDL2DAML-S DAML-S Editor See also: –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 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 entryOutput: 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
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 services for Data & Control Flow specification Pallete of connectives for 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
….-- Finally, generate the DAML-S for the services
Sweet Spot: Matchmaking From Web Services Architecture W3C Working Draft
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: –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
Sweet Spot: Matchmaking Sweet Spot: Service Provision From Web Services Architecture W3C Working Draft
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: Matchmaking Sweet Spot (?): Composition From Web Services Architecture W3C Working Draft
Sweet Spot: Composition Stanford Knowledge Systems Lab (McIlraith) CMU Robotics Lab (Sycara/Paolucci) MINDSWAP (Hendler/Parsia) – See also: –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 users objective. (NP complete or worse) II. Customize reusable generic procedures - Define and archive reusable generic procedures - Customize with users constraints. (NP complete or worse in a reduced search space) Advantages: efficiency, ease of use, customization
Architecture DAML-enabled web pages Web Service Ontologies Web Procedures Ontologies Agent Broker DAML-enabled personal/company constraints and prefs...
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 s itinerary to customer 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 & sitn 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 repns 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 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
Process Model Grounding Development … Deployment … Use … Publication Development Simulation Discovery Composition Selection Execution, Interoperation Monitoring, Recovery Profile Verification 4 Sweet Spots
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:
End of Part III Extra Material Follows
DAMLzon: DAML-S for Amazon.com WSDL2DAML-S used to generate DAML-S for Amazons Web Service DAML-S VM used to interact with Amazon Web service Process Model for Amazon.com Book Search Reserve Book
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 varying load conditions Results in milliseconds Amazon ClientDAML-S VM Average execution time 2007 ms2021 ms Only 14 ms more Strd Deviation 1134 ms776 ms Distribution
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 Strd dev