metrics-based semantic web service discovery, ieee icws-2009
DESCRIPTION
Slideset presented at research track at IEEE 7th International Conference on Web Services (ICWS 2009), July 6-10, 2009, Los Angeles, CA, USA.TRANSCRIPT
Exploiting Metrics for Semantic
Web Service Discovery- IEEE ICWS’09, Los Angeles, CA, USA, July 08, 2009 -
Stefan Dietze, Alessio Gugliotta, John Domingue
Knowledge Media Institute, The Open University, UK
� Semantic Web Services (SWS) mediation
� Two-fold representation approach for SWS
� Prototypical application
� Conclusions
Outline
sws:WebService
SWS.2
sws:WebService
SWS.3
sws:WebService
SWS.1
WebService
WS.2
WebService
WS.3
WebService
WS.1
Introduction Semantic Web Services
� Formal specifications of Web
services in terms of their
capabilities (Cap), interfaces (If)
and non-functional properties (Nfp)
� Capabilities describe assumptions
(Ass) and effects (Eff)
� Defined through ontologies O, i.e.
as tuple of concepts C, instances I,
properties P, relations R and
axioms A
� Reference models such as OWL-S,
WSMO, SAWSDL
� SWS discovery: matchmaking of
capabilities of SWS e.g. :
� SWS brokers match logical
expressions
(e.g. & )
Introduction
Semantic Mediation for SWS Discovery
432 IIAs ¬∩≡211 IIAs ∩¬≡
1212 EfEfAsAs ⊂∪⊂
sws:WebService
SWS.2
sws:WebService
SWS.3
sws:Request
R.1
sws:WebService
SWS.1
WebService
WS.2
WebService
WS.3
WebService
WS.1
? ?
� SWS discovery: matchmaking of
capabilities of SWS e.g. :
� SWS brokers match logical
expressions
(e.g. & )
� Heterogeneous SWS annotations
� Semantic mediation:
alignment/mapping of SWS
concepts/instances across distinct
SWS
Introduction
Semantic Mediation for SWS Discovery
432 IIAs ¬∩≡211 IIAs ∩¬≡
1212 EfEfAsAs ⊂∪⊂
sws:WebService
SWS.2
sws:WebService
SWS.3
sws:Request
R.1
sws:WebService
SWS.1
WebService
WS.2
WebService
WS.3
WebService
WS.1
Semantic-Level Mediation
Mediation between different semantic
representations
Semantic Mediation
Issues
SWS1
(get-flowers)
<Color rdf:ID="Lilac"/>
<Location rdf:ID="Milton_Keynes"/>
211 IIAs ∩¬≡
has-assumption
SWS Request (Consumer)
Semantic Mediation
Issues
SWS1
(get-flowers)
<Color rdf:ID="Lilac"/>
<Location rdf:ID="Milton_Keynes"/>
432 IIAs ¬∩≡211 IIAs ∩¬≡
SWS2
(provide-flowers)
<Colour rdf:ID="Purple"/>
<geospatialLocation rdf:ID="M-K"/>
has-assumption has-assumption
SWS (Provider)SWS Request (Consumer)
Semantic Mediation
Issues
SWS1
(get-flowers)
<Color rdf:ID="Lilac"/>
<Location rdf:ID="Milton_Keynes"/>
432 IIAs ¬∩≡211 IIAs ∩¬≡
SWS2
(provide-flowers)
<Colour rdf:ID="Purple"/>
<geospatialLocation rdf:ID="M-K"/>
has-assumption has-assumption
?
SWS (Provider)SWS Request (Consumer)
Issues:
� Heterogeneous SWS annotations
� Lack of implicit similarity information
(symbol grounding problem)
� Reliance on either:
� (i) manual mapping rules
� (ii) ontology mapping mechanisms
(exploiting linguistic or structural similarities)
� Costly and error-prone
=> representations which implicitly represent similarities across heterogeneous SWS ?
Semantic Mediation
Issues
� Refining SWS ontologies through multiple Conceptual Spaces (CS), i.e. multidimensional,
geometrical vector spaces
� Concept C in one SWS ontology O => Conceptual Space CS
� Instance I of C => member M (vector) in CS
Two-fold Approach
Refining SWS through Conceptual Spaces
Instance I1j Instance I1i
Concept C1x instance-of
refined-as-cs
refined-as-member refined-as-member
d1
d2
d3
instance-of
SWS Ontology O1
Conceptual Space CS1x
� Similarity-computation between SWS instances by means of spatial distances in CS
� Common agreement at schema (i.e. CS) level
� Facilitated through wide-spread use of upper-level ontologies
(DOLCE, SUMO…)
d2
Instance i2i Instance i1i
Conceptual Space CSx
Concept c1x
refined-as-cs
refined-as-member refined-as-member
Concept c2x
refined-as-cs
d1
d3
SWS Ontology O1 SWS Ontology O2
instance-of
Agent 1 Agent 2
instance-of
Two-fold Approach
Refining SWS through Conceptual Spaces
CS ontology enabling to represent SWS concepts / instances through CS:
� CS (refining concept C) represented through set of dimensions di each associated
with a prominence value pi: ,
� Assignment of measurement scales
� Dimension dj might be refined by further dimensions:
(CS possibly composed of subspaces),
Two-fold Approach
Formal CS Ontology
( ){ }PpCSddpdpdpCS iinn
n ∈∈= ,,...,, 2211
( ){ }DddpdpdpDd knn
n
j ∈== ''',...,'','' 2211
CS ontology enabling to represent SWS concepts / instances through CS:
� CS (refining concept C) represented through set of dimensions di each associated
with a prominence value pi: ,
� Assignment of measurement scales
� Dimension dj might be refined by further dimensions:
(CS possibly composed of subspaces),
� Members M (refining instances I) represented through vectors in CS:
� Similarity between two SWS instances (members) V and U calculated by means of
their Euclidean distance:
(where is the mean of a dataset U and su is the standard deviation from U)
Two-fold Approach
Formal CS Ontology
( ){ }PpCSddpdpdpCS iinn
n ∈∈= ,,...,, 2211
( ){ }DddpdpdpDd knn
n
j ∈== ''',...,'','' 2211
( ){ }MvvvvM in
n ∈= ,...,, 21
∑=
−−
−=
n
i v
i
u
ii
s
vv
s
uupvudist
1
2))()((),(
u
A Similarity-based Mediator
Implementation based on WSMO
� Implementation based on Web Service Modelling Ontology (WSMO) and SWS reasoning
environment IRS-III for similarity-based SWS discovery
wsmo:Mediator
Med.1
wsmo:WebService
SWS.2
wsmo:WebService
SWS.3
wsmo:Goal
G.1
wsmo:WebService
SWS.1
wsmo:MedWS
SWS.1.1 Comp. Sim.
(1)
(2)
(4)
(5)
(3)
A Similarity-based Mediator
Implementation based on WSMO
� Implementation based on Web Service Modelling Ontology (WSMO) and SWS reasoning
environment IRS-III for similarity-based SWS discovery
� WSMO Mediator: computation of similarities between given request (WSMO Goal, G1) and
set of x associated SWS (SWS1..SWSx)
� Implemented through mediation Web service
wsmo:Mediator
Med.1
wsmo:WebService
SWS.2
wsmo:WebService
SWS.3
wsmo:Goal
G.1
wsmo:WebService
SWS.1
wsmo:MedWS
SWS.1.1 Comp. Sim.
(1)
(2)
(4)
(5)
(3)
� MedWS SWS1.1 computes x similarity values with Sim(G1,SWSj) defined as reciprocal to the
mean value of their individual member distances:
� With distk being the distance between one particular member vi of G1 and one member of
SWSj in the same CS
( )
1
11
)(
),(),(
−
=−
==∑
n
dist
SWSGDistSWSGSim
n
k
k
jiji
Measurement-based Service Selection
Implementation based on WSMO
wsmo:Mediator
Med.1
wsmo:WebService
SWS.2
wsmo:WebService
SWS.3
wsmo:Goal
G.1
wsmo:WebService
SWS.1
wsmo:MedWS
SWS.1.1 Comp. Sim.
(1)
(2)
(4)
(5)
(3)
� Uses representational approach based on CS and similarity-based WSMO Mediator
� Aims at retrieval of distributed video resources
(provided within EU FP7 IP NoTube - http://notube.tv)
� Keyword-based searches across 5 (REST) Web services built on top of the following
(logical/physical) repositories
� BBC Backstage (world news feed) [ http://backstage.bbc.co.uk/ ]
� Open Video [ http://www.open-video.org/ ]
� YouTube (entertainment feed) [ http://www.youtube.com ]
� OU channel on YouTube [ http://www.youtube.com/ou ]
� YouTube (mobile feed) [ http://www.youtube.com/ou ]
� Similarity-based service discovery for a given request
SWS Mediation based on CS
Prototypical Application
SWS Mediation based on CS
Prototypical Application
SWS1:
OU-youtube
O1:Purp O1:Env
SWS2:
entertain-youtube
O2:Purp O2:Env
SWS3:
open-video
O3:Purp O3:Env
SWS4:
bbc-backstage
O4:Purp O4:Env
M62={v1, v2}
SWS5:
mobile-youtube
O5:Purp O5:Env
CS2 Environment SpaceCS1 Purpose Space
SWS6:
get-video-request
M61={v1, v2, v3}
WS1:
OU-youtube
WS2:entertain-youtube
WS3:
open-video
WS4:
bbc-backstage
WS5:
mobile-youtube
SWS Mediation based on CS
Prototypical Application
SWS1:
OU-youtube
O1:Purp O1:Env
SWS2:
entertain-youtube
O2:Purp O2:Env
SWS3:
open-video
O3:Purp O3:Env
SWS4:
bbc-backstage
O4:Purp O4:Env
M62={v1, v2}
SWS5:
mobile-youtube
O5:Purp O5:Env
CS2 Environment SpaceCS1 Purpose Space
SWS6:
get-video-request
M61={v1, v2, v3}
WS1:
OU-youtube
WS2:entertain-youtube
WS3:
open-video
WS4:
bbc-backstage
WS5:
mobile-youtube
SWS1:
OU-youtube
O1:Purp O1:Env
SWS2:
entertain-youtube
O2:Purp O2:Env
SWS3:
open-video
O3:Purp O3:Env
SWS4:
bbc-backstage
O4:Purp O4:Env
M62={v1, v2}
SWS5:
mobile-youtube
O5:Purp O5:Env
CS2 Environment SpaceCS1 Purpose Space
SWS6:
get-video-request
M61={v1, v2, v3}
WS1:
OU-youtube
WS2:entertain-youtube
WS3:
open-video
WS4:
bbc-backstage
WS5:
mobile-youtube
SWS Mediation based on CS
Prototypical Application
{(p1*information, p2*education, p3*leisure)} = CS1 {(p4*resolution, p5*bandwidth)} = CS2
SWS Mediation based on CS
Prototypical Application
Assumption
)..()..( 2121 mSWSiSWSiSWSinSWSiSWSiSWSiSWSi EEEPPPAss ∪∪∪∪∪∪∪=
Members Pi in CS1 (purpose) Members Ej in CS2 (environment)
SWS1 P1(SWS1)={(0, 100, 0)} E1(SWS1)={(100, 100)}
SWS2 P1(SWS2)={(0, 0, 100)} E1(SWS2)={(100, 100)}
SWS3 P1(SWS3)={(50, 50, 0)} E1(SWS3)={(100, 100)}
SWS4 P1(SWS4)={(100, 0, 0)} E1(SWS4)={(100, 100)}
SWS5 P1(SWS5)={(100, 0, 0)} P2(SWS5)={(0, 100, 0)}
E1(SWS5)={(10, 10)}
� SWS annotated with Assumption Ass defined through conjunction of instances
(more expressive logical expressions to be considered)
� Instances refined through vectors (members)
SWS Mediation based on CS
Prototypical Application
Assumption
)..()..( 2121 mSWSiSWSiSWSinSWSiSWSiSWSiSWSi EEEPPPAss ∪∪∪∪∪∪∪=
Members Pi in CS1 (purpose) Members Ej in CS2 (environment)
SWS1 P1(SWS1)={(0, 100, 0)} E1(SWS1)={(100, 100)}
SWS2 P1(SWS2)={(0, 0, 100)} E1(SWS2)={(100, 100)}
SWS3 P1(SWS3)={(50, 50, 0)} E1(SWS3)={(100, 100)}
SWS4 P1(SWS4)={(100, 0, 0)} E1(SWS4)={(100, 100)}
SWS5 P1(SWS5)={(100, 0, 0)} P2(SWS5)={(0, 100, 0)}
E1(SWS5)={(10, 10)}
OU@Youtube SWS Educational purpose High resolution and bandwidth
� SWS annotated with Assumption Ass defined through conjunction of instances
(more expressive logical expressions to be considered)
� Instances refined through vectors (members)
SWS1:
OU-youtube
O1:Purp O1:Env
SWS2:
entertain-youtube
O2:Purp O2:Env
SWS3:
open-video
O3:Purp O3:Env
SWS4:
bbc-backstage
O4:Purp O4:Env
M62={v1, v2}
SWS5:
mobile-youtube
O5:Purp O5:Env
CS2 Environment SpaceCS1 Purpose Space
SWS6:
get-video-request
M61={v1, v2, v3}
WS1:
OU-youtube
WS2:entertain-youtube
WS3:
open-video
WS4:
bbc-backstage
WS5:
mobile-youtube
SWS Mediation based on CS
Prototypical Application
� Requests (WSMO Goals) defined through AJAX-based UI
� Requests consists of:
� Input parameters: set of keywords (free text)
� Assumption: defined through vectors
(measurements describing purpose and environment)
� Similarity-based discovery of most suitable service based on WSMO mediator
DEMO
SWS1:
OU-youtube
O1:Purp O1:Env
SWS2:
entertain-youtube
O2:Purp O2:Env
SWS3:
open-video
O3:Purp O3:Env
SWS4:
bbc-backstage
O4:Purp O4:Env
M62={v1, v2}
SWS5:
mobile-youtube
O5:Purp O5:Env
CS2 Environment SpaceCS1 Purpose Space
SWS6:
get-video-request
M61={v1, v2, v3}
WS1:
OU-youtube
WS2:entertain-youtube
WS3:
open-video
WS4:
bbc-backstage
WS5:
mobile-youtube
Some issues:
� SWS assumptions defined as conjunction of instances
=> consideration of arbitrary logical expressions required
� Additional representational effort
� Similarity-calculation requires overlapping CS and measurable quality dimensions
Conclusions
Discussion and Summary
Some issues:
� SWS assumptions defined as conjunction of instances
=> consideration of arbitrary logical expressions required
� Additional representational effort
� Similarity-calculation requires overlapping CS and measurable quality dimensions
…, however:
� Allows to compute similarities between distinct SWS
� Reduces the required level of common ontological agreement
(only required at schema level).
Conclusions
Discussion and Summary