Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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