On Automating Web Services Discovery
Download
Report
Transcript On Automating Web Services Discovery
On 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
Contents
Introduction
Description logic
Example – Travel reservations
Semantic reasoning for Web services discovery
Evaluation
Future work
Conclusions
2
Purpose – Service Discovery
Effectively discovering services on the web
Using description logics (DL)
EU project that has been implemented
3
Web 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
4
Semantic 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
5
Description Logic
6
Definitions 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
7
Definitions 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
8
Theorem 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
9
Theorem 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 ∩ E = {sj} and
xk \ {sj} is a subset of xi.
10
Optimizations – 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
11
Service Parameters - Example
SERVICE
INPUT
OUTPUT
ToTravel
Itinerary
Arrival
TripReservation
FromTravel
Itinerary
Departure
TripReservation
Hotel
Destination
StayDuration
HotelReservation
12
Tourism Ontology in DL
13
Terminology (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)
14
Query (Q)
Q ≡ (≥ 1 departurePlace) ∏ (V departurePlace.Location) ∏
(≥ 1 arrivalPlace) ∏ (V arrivalPlace.Location) ∏
(≥ 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)
15
Vertices and Edges of the Hypergraph
Vertices
Σ = {VToTravel, VFromTravel, VHotel}
Edges
Γ = {w(≥1departurePlace), w(V departurePlace.Location),
w(≥1arrivalPlace), w(V arrivalPlace.Location),
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}.
16
Hypergraph HT Q = (Σ,Γ)
17
Generate the transversal hypergraph
incremental subexponential time k O(log k)
k = input# + output#
18
Semantic 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)
19
Evaluation
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
20
Algorithm to compute Best Cover
21
Knowledge Representation - MKBEEM
Multilingual Knowledge Based European Electronic Marketplace
22
Configurations of test cases
Configurations
Case 1 Case 2 Case 3
Number of defined
concepts in the application
domain ontology
Number of Web services
365
1334
3405
366
660
570
Number of atomic clauses
in the query
6
33
12
23
Execution Time
24
Future 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
25
Conclusions
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
26