Title: On Automating Web Services Discovery
1On Automating Web Services Discovery
- Boualem Benatallah, University of New South Wales
- Mohand-Said Hacid, Universite Lyon
- Alain Leger, France Telecom
- Christophe Rey, Universite Blaise Pascal
- Farouk Toumani, Universite Blaise Pascal
2Contents
- Introduction
- Description logic
- Example Travel reservations
- Semantic reasoning for Web services discovery
- Evaluation
- Future work
- Conclusions
3Purpose Service Discovery
- Effectively discovering services on the web
- Using description logics (DL)
- EU project that has been implemented
4Web Services
- Built on XML
- Standards
- SOAP (Simple Object Access Protocol)
- WSDL (Web Services Description Language)
- UDDI (Universal Description, Discovery, and
Integration) - Service description
- Service discovery (FOCUS)
- Communication
5Semantic web
- Purpose to improve technology to
- Organize
- Search
- Integrate
- Evolve Web-accessible resources
- Ontologies to identify metadata to
- Discover information sources
- Reason about their capabilities
- Give rich description and modeling of
- Services
- Properties
- Capabilities
- Behaviors
6Description Logic
7Definitions 1
- Terminology DL service descriptions
- Difference operation extract service
description - Reduced clause form and structure equivalence
- Structural subsumption identify unique
difference - Cover services that cover the query
- Rest and miss query services not found
8Definitions 2
- Best cover SOLUTION
- Hypergraph and transversal represent cover
- Hypergraph generation concept (vertex)
service (edge) - Cost of a set of vertices Low Cost search
- Profile cover services found
- Profile rest and profile miss services not
found
9Theorem I The best covering problem is NP-hard
- Lemma 1 Characterization of the minimal rest or
missing services is always unique -
- Lemma 2 Characterization of covers that
minimize the rest or the missing services is a
minimal transversal of the hypergraph
10Theorem II Minimal transversal describes a
solution pair (xi, sj)
- Let Tr(H) xi, i 1..m be the set of minimal
- transversals for the hypergraph H and
- E sj, j 1..n an edge of H.
- Assume H H U E.
- Then we have
- xi U sj is a nonminimal transversal of H ?
there exists a minimal transversal xk of H such
that - xk n E sj and
- xk \ sj is a subset of xi.
11Optimizations separate options of the algorithm
- PERS only minimal transversals are good
candidates (reduces candidates for solution) - BNB Branch and bound (prunes hypergraph)
- Preference to small cost
- Upperbound is Cost Evaluation
12Service Parameters - Example
SERVICE INPUT OUTPUT
ToTravel Itinerary Arrival TripReservation
FromTravel Itinerary Departure TripReservation
Hotel Destination StayDuration HotelReservation
13Tourism Ontology in DL
14Terminology (T)
- ToTravel ( 1 departurePlace) ? (V
departurePlace.Location) ? - ( 1 arrivalPlace) ? (V
arrivalPlace.Location) ? - ( 1 arrival-Date) ? (V
arrivalDate.Date) ? - ( 1 arrivalTime) ? (V
arrivalTime.Time) - FromTravel ( 1 departurePlace) ? (V
departurePlace.Location) - ? ( 1 arrivalPlace) ? (V
arrivalPlace.Location) ? - ( 1 departure-Date) ? (V
departureDate.Date) ? - ( 1 departureTime) ? (V
departureTime.Time) - Hotel Accommodation ?
- ( 1 destinationPlace) ? (V
destinationPlace.Location) ? - ( 1 checkIn) ? (V checkIn.Date) ?
- ( 1 checkOut) ? (V checkOut.Date) ?
- ( 1 nbAdults) ? (V nbAdults.Integer)
? - ( 1 nbChildren) ? (V
nbChildren.Integer)
15Query (Q)
- Q ( 1 departurePlace) ? (V departurePlace.Locat
ion) ? - ( 1 arrivalPlace) ? (V arrivalPlace.Locati
on) ? - ( 1 departureDate) ? (V
departureDate.Date) ? - Accommodation ?
- ( 1 destinationPlace) ? (V
destinationPlace.Location)? - ( 1 checkIn) ? (V checkIn.Date) ?
- ( 1 checkOut) ? (V check-Out.Date) ?
- carRental
- (carRental - NOT MATCHED)
16Vertices and Edges of the Hypergraph
- Vertices
- S VToTravel, VFromTravel, VHotel
- Edges
- G w(1departurePlace), w(V departurePlace.Locat
ion), - w(1arrivalPlace), w(V arrivalPlace.Locatio
n), - w(1departureDate), w(V departureDate.Date)
, - wAccommodation,
- w(1destinationP lace), w(V destinationP
lace.Location), - w(1checkIn), w(V checkIn.Date),
- w(1checkOut), w(V checkOut.Date),
- wcarRental.
17Hypergraph HT Q (S,G)
18Generate the transversal hypergraph
- incremental subexponential time k O(log k)
- k input output
19Semantic reasoning for Web services discovery
DAML-S ontology
- ServiceProfile capabilities and parameters
- Description of the service (human-readable)
- Functional behavior transformation of inputs to
outputs - Nonfunctional attributes (i.e. cost)
- ServiceModel description of the operation
- ServiceGrounding how to access the service
(messaging)
20Evaluation
- Prototype implementation of the computeBCov
algorithm - GOALS
- Validate the feasibility of the approach
- Test the correctness of the algorithm
- Study the performance and scalability of the
algorithm (not completed) - Implement in European project MKBEEM
- Multilingual Knowledge Based European
Electronic Marketplace
21Algorithm to compute Best Cover
22Knowledge Representation - MKBEEM Multilingual
Knowledge Based European Electronic Marketplace
23Configurations of test cases
Configurations Case 1 Case 2 Case 3
Number of defined concepts in the application domain ontology 365 1334 3405
Number of Web services 366 660 570
Number of atomic clauses in the query 6 33 12
24Execution Time
25Future work
- Extend the proposed framework to include
- Best covering problem where the difference
operation is not semantically unique - Service discovery with a large number of
hetergeneous ontologies - Support for service composition automation
26Conclusions
- Good example of applying description logic to a
web service discovery problem - Only works when there is a best covering problem
that is semantically unique - Removes solutions that do not cover minimum
services (BEST solution may be a combination) - IF all services cannot be provided by one service
provider (i.e. car rental), how is the query
divided - IF there are millions of service providers
instead of just hundreds, how do you manage