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