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
Jan 15, 2016
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