On Automating Web Services Discovery Boualem Benatallah, University of New South Wales Mohand-Said Hacid, Universite Lyon Alain Leger, France Telecom Christophe.

Post on 15-Jan-2016

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

On Automating Web Services

DiscoveryBoualem Benatallah, University of New South WalesMohand-Said Hacid, Universite LyonAlain Leger, France TelecomChristophe Rey, Universite Blaise PascalFarouk Toumani, Universite Blaise Pascal

2

Contents Introduction

Description logic

Example – Travel reservations

Semantic reasoning for Web services discovery

Evaluation

Future work

Conclusions

3

Purpose – Service Discovery

Effectively discovering services on the web

Using description logics (DL)

EU project that has been implemented

4

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

5

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

6

Description Logic

7

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

8

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

9

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

10

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.

11

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

12

Service Parameters - ExampleSERVICE INPUT OUTPUT

ToTravel Itinerary

Arrival

TripReservation

FromTravel Itinerary

Departure

TripReservation

Hotel Destination

StayDuration

HotelReservation

13

Tourism Ontology in DL

14

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)

15

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)

16

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}.

17

Hypergraph HT Q = (Σ,Γ)

18

Generate the transversal hypergraph

incremental subexponential time k O(log k)

k = input# + output#

19

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)

20

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

21

Algorithm to compute Best Cover

22

Knowledge Representation - MKBEEM Multilingual Knowledge Based European Electronic Marketplace

23

Configurations 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

24

Execution Time

25

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

26

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

top related