1. Introduction Prelims Agents Related Work Conclusion
Provider-Composer Negotiations for
Semantic Robustness in Service
Compositions
Nikolay Mehandjiev Freddy Lécué Usman Wajid
Centre for Service Research
The University of Manchester
Booth Street East, Manchester, UK
ICSOC-ServiceWave,
November 24-26, 2009
Stockholm, Sweden
2. Introduction Prelims Agents Related Work Conclusion
Outline
1 Introduction
2 Preliminaries
3 Agents and Template-based Composition
4 Related Work
5 Conclusion
3. Introduction Prelims Agents Related Work Conclusion
Scope
Introduction and Scope
Conventional and Web Services
Intertwine
both areas can “learn” from each other;
e.g. produce better software by
considering service providers.
Role of Service Providers in Web Service Composition
Currently only in service quality and contracts.
This is OK for small and cheap services,
but sub-optimal for complex and evolving assemblies.
This Talk:
demonstrates one particular benefit of considering service providers;
focuses on achieving robust composition in a large search space;
assumes template-based composition.
4. Introduction Prelims Agents Related Work Conclusion
Scope
Introduction and Scope
Conventional and Web Services
Intertwine
both areas can “learn” from each other;
e.g. produce better software by
considering service providers.
Role of Service Providers in Web Service Composition
Currently only in service quality and contracts.
This is OK for small and cheap services,
but sub-optimal for complex and evolving assemblies.
This Talk:
demonstrates one particular benefit of considering service providers;
focuses on achieving robust composition in a large search space;
assumes template-based composition.
5. Introduction Prelims Agents Related Work Conclusion
Scope
Introduction and Scope
Conventional and Web Services
Intertwine
both areas can “learn” from each other;
e.g. produce better software by
considering service providers.
Role of Service Providers in Web Service Composition
Currently only in service quality and contracts.
This is OK for small and cheap services,
but sub-optimal for complex and evolving assemblies.
This Talk:
demonstrates one particular benefit of considering service providers;
focuses on achieving robust composition in a large search space;
assumes template-based composition.
6. Introduction Prelims Agents Related Work Conclusion
Template-based Service Composition
Template-based Composition of Semantic Services
Service Composition:
aims to satisfy the need for a service by bringing together existing ones;
manual or automated;
“from scratch” or using existing templates.
Template Instantiation:
A template contains a set of tasks: unbound service specifications.
The aim is to find the optimal service to instantiate each task.
We focus on optimising the “data fit” between service inputs and preceding
outputs.
Functional Description
Pre-Conditions Post−Conditions
Functional View of Services:
Formally specified inputs and outputs.
Name Formally specified service aim.
And
Input Output
Parameters Description Parameters Pre-conditions and post-conditions are semantic
expressions.
7. Introduction Prelims Agents Related Work Conclusion
Template-based Service Composition
Template-based Composition of Semantic Services
Service Composition:
aims to satisfy the need for a service by bringing together existing ones;
manual or automated;
“from scratch” or using existing templates.
Template Instantiation:
A template contains a set of tasks: unbound service specifications.
The aim is to find the optimal service to instantiate each task.
We focus on optimising the “data fit” between service inputs and preceding
outputs.
Functional Description
Pre-Conditions Post−Conditions
Functional View of Services:
Formally specified inputs and outputs.
Name Formally specified service aim.
And
Input Output
Parameters Description Parameters Pre-conditions and post-conditions are semantic
expressions.
8. Introduction Prelims Agents Related Work Conclusion
Template-based Service Composition
Template-based Composition of Semantic Services
Service Composition:
aims to satisfy the need for a service by bringing together existing ones;
manual or automated;
“from scratch” or using existing templates.
Template Instantiation:
A template contains a set of tasks: unbound service specifications.
The aim is to find the optimal service to instantiate each task.
We focus on optimising the “data fit” between service inputs and preceding
outputs.
Functional Description
Pre-Conditions Post−Conditions
Functional View of Services:
Formally specified inputs and outputs.
Name Formally specified service aim.
And
Input Output
Parameters Description Parameters Pre-conditions and post-conditions are semantic
expressions.
9. Introduction Prelims Agents Related Work Conclusion
Semantic Web Services
Semantic Web Services
Parameters (i.e., Input and Output) of Web services in semantic
Web are concepts referred to in an ontology T :
WSDL-S, SA-WSDL (W3C Proposed Recommendation);
OWL-S profile level;
WSMO capability level.
10. Introduction Prelims Agents Related Work Conclusion
Web Service Composition and its Semantic Links
Semantic Link: Semantic connection between services;
... more particulary between Output and Input parameters;
... denoted by sly ,x and valued by SimT (Out_sy , In_sx );
S y Output S x Input
Parameters Parameters
S y Input S x Output
Parameters Parameters
Out_sy In_sx
Semantic connection: Sim Web service: sx
T
Web service: sy
SimT is reduced to the five matchmaking functions [M.Paolucci
et al. ISWC’02, Li and Horrocks WWW’03]:
Exact i.e., T |= Out_sy ≡ In_sx ;
PlugIn i.e., T |= Out_sy In_sx ;
Subsume i.e., T |= In_sx Out_sy ;
Intersection i.e., T |= Out_sy In_sx ⊥;
Disjoint i.e., T |= Out_sy In_sx ⊥;
For we need some refinements: Extra Description.
11. Introduction Prelims Agents Related Work Conclusion
Web Service Composition and its Semantic Links
Semantic Link: Semantic connection between services;
... more particulary between Output and Input parameters;
... denoted by sly ,x and valued by SimT (Out_sy , In_sx );
S y Output S x Input
Parameters Parameters
S y Input S x Output
Parameters Parameters
SlowNetWorkConnection
NetWorkConnection
Semantic connection: Sim Web service: sx
T
Web service: sy
SimT is reduced to the five matchmaking functions [M.Paolucci
et al. ISWC’02, Li and Horrocks WWW’03]:
Exact i.e., T |= Out_sy ≡ In_sx ;
PlugIn i.e., T |= Out_sy In_sx ;
Subsume i.e., T |= In_sx Out_sy ;
Intersection i.e., T |= Out_sy In_sx ⊥;
Disjoint i.e., T |= Out_sy In_sx ⊥;
For we need some refinements: Extra Description.
12. Introduction Prelims Agents Related Work Conclusion
Robustness
Non Robust Semantic Links in Web Service Composition
The open issue: How transform a non robust semantic link
SimT (Out_sy , In_sx ) in its robust form?
The suggested approach: by retrieving the Extra Description H
- information contained by In_sx and not by Out_sy through
Concept Abduction or Concept Difference.
T. Di Noia, E. Di Sciascio et al.
Abductive matchmaking using description logics.
In IJCAI, pages 337–342, Acapulco, Mexico, 2003. MK.
G. Teege.
Making the difference: A subtraction operation for DLs.
In KR, pages 540–550, San Francisco, California, 1994.
13. Introduction Prelims Agents Related Work Conclusion
Robustness
Non Robust Semantic Links in Web Service Composition
The open issue: How transform a non robust semantic link
SimT (Out_sy , In_sx ) in its robust form?
The suggested approach: by retrieving the Extra Description H
- information contained by In_sx and not by Out_sy through
Concept Abduction or Concept Difference.
T. Di Noia, E. Di Sciascio et al.
Abductive matchmaking using description logics.
In IJCAI, pages 337–342, Acapulco, Mexico, 2003. MK.
G. Teege.
Making the difference: A subtraction operation for DLs.
In KR, pages 540–550, San Francisco, California, 1994.
14. Introduction Prelims Agents Related Work Conclusion
Robustness
Concept Abduction in Web Service Composition
Definition (Concept Abduction)
Let L be a DL, Out_sy , In_sx be two concepts in L, and T be a set of
axioms in L. A Concept Abduction Problem (CAP), denoted as
L, Out_sy , In_sx , T is finding a concept H ∈ L such that
T |= Out_sy H In_sx .
The Extra Description H represents what is underspecified in Out_sy
in order to completely satisfy In_sx ;
⇒ Explains why Out_sy and In_sx can not be chained by a robust
semantic link.
The Common Description Out_sy In_sx refers to information
required by In_sx and effectively provided by Out_sy .
15. Introduction Prelims Agents Related Work Conclusion
Robustness
Concept Abduction with an Example
Definition (Concept Abduction)
Let L be a DL, Out_sy , In_sx be two concepts in L, and T be a set of
axioms in L. A Concept Abduction Problem (CAP), denoted as
L, Out_sy , In_sx , T is finding a concept H ∈ L such that
T |= Out_sy H In_sx .
e.g., in case of non robust semantic link valued by the Subsume
match level.
S y Output S x Input
Parameters Parameters
S y Input S x Output
Parameters Parameters
Web service: sx
Web service: sy
16. Introduction Prelims Agents Related Work Conclusion
Robustness
Concept Abduction with an Example
Definition (Concept Abduction)
Let L be a DL, Out_sy , In_sx be two concepts in L, and T be a set of
axioms in L. A Concept Abduction Problem (CAP), denoted as
L, Out_sy , In_sx , T is finding a concept H ∈ L such that
T |= Out_sy H In_sx .
e.g., in case of non robust semantic link valued by the Subsume
match level.
S y Output S x Input
Parameters Parameters
S y Input S x Output
Parameters Parameters
Web service: sx
Web service: sy
17. Introduction Prelims Agents Related Work Conclusion
Robustness
Concept Abduction in Web Service Composition
Definition (Concept Abduction)
Let L be a DL, Out_sy , In_sx be two concepts in L, and T be a set of
axioms in L. A Concept Abduction Problem (CAP), denoted as
L, Out_sy , In_sx , T is finding a concept H ∈ L such that
T |= Out_sy H In_sx .
Explains Why a semantic link is not robust...
... hence provides a way to replace (How) a non robust semantic
link in its robust form:
Subsume match level ⇒ Exact match level ;
Intersection match level ⇒ PlugIn match level .
18. Introduction Prelims Agents Related Work Conclusion
Agents and Template-based Composition
Service Providers and the Service Composer are agents
The Service Composer selects a Composition Template and
advertises it on a noticeboard
Service Providers watch the noticeboards of interest and bid to
provide services
Semantic Composition Template
is a graph containing a set of tasks Ti as its nodes and a set of
Abstract Semantic Links sl A i,j as its edges.
19. Introduction Prelims Agents Related Work Conclusion
Service Providers Bidding to Instantiate Tasks
Service Providers Bidding to Instantiate Tasks
Service Providers are represented by Software Agents
Agents monitor noticeboards for suitable tasks for their services.
A service s is considered suitable for task T if:
1 The service s achieves the same goal as T .
2 The pre-conditions of s are implied by the pre–conditions of T .
3 The post-conditions of s imply the post-conditions of T .
4 SimT (In_T , In_s) is PlugIn.
5 SimT (Out_s, Out_T ) is PlugIn.
20. Introduction Prelims Agents Related Work Conclusion
Protocol Outline
Protocol Outline
A
For each non-robust abstract link sli,j
the service composer agent calculates its HTi ,Tj ;
and initiates a three-phase negotation protocol, involving the
providers of services si and sj ,
aiming to select services which provide robust instantiation of the
semantic link.
The assumptions behind three phases are:
1 Phase 1: robust composition “for free” (i.e. w/out extra services),
using differences in specs between a task and its services;
2 Phase 2: additional services (and usage fees), but no
modifications;
3 Phase 3: service providers adapt services against payment.
21. Introduction Prelims Agents Related Work Conclusion
Protocol Outline
Protocol Outline
A
For each non-robust abstract link sli,j
the service composer agent calculates its HTi ,Tj ;
and initiates a three-phase negotation protocol, involving the
providers of services si and sj ,
aiming to select services which provide robust instantiation of the
semantic link.
The assumptions behind three phases are:
1 Phase 1: robust composition “for free” (i.e. w/out extra services),
using differences in specs between a task and its services;
2 Phase 2: additional services (and usage fees), but no
modifications;
3 Phase 3: service providers adapt services against payment.
22. Introduction Prelims Agents Related Work Conclusion
Protocol Detail - Phase 1
Protocol Detail - Phase 1
Step 1
1 Service Composer sends CFP(HTi ,Tj ) to all providers of si ;
2 The response depends on Out_si compared to HTi ,Tj :
a) Proposal: if T |= Out_si HTi ,Tj Out_Ti .
b) Refuse: If T |= Out_si HTi ,Tj ⊥.
c) Counter-Proposal:If there is satisfiable intersection, i.e.,
T |= Out_si HTi ,Tj ⊥, the provider will propose Out_si
instead.
Step 2
1 Service Composer sends CFP({Out_si }) to providers of sj .
2 The responses depend if In_sj subsumes any of the
counter-proposals:
a) Proposal: if SimT (Out_si , In_sj ) is of a PlugIn type;
b) Counter-Proposal: If SimT (Out_si , In_sj ) is an
Intersection type, the counter-proposal is the extra
description required for this concrete semantic link sli,j i.e.,
T |= Out_si Hsi ,sj In_sj . We have “Paired Offer”.
If the second step ends up with counter-proposals rather than
proposals, the composer will initiate the second phase of negotiation.
23. Introduction Prelims Agents Related Work Conclusion
Protocol Detail - Phase 1
Protocol Detail - Phase 1
Step 1
1 Service Composer sends CFP(HTi ,Tj ) to all providers of si ;
2 The response depends on Out_si compared to HTi ,Tj :
a) Proposal: if T |= Out_si HTi ,Tj Out_Ti .
b) Refuse: If T |= Out_si HTi ,Tj ⊥.
c) Counter-Proposal:If there is satisfiable intersection, i.e.,
T |= Out_si HTi ,Tj ⊥, the provider will propose Out_si
instead.
Step 2
1 Service Composer sends CFP({Out_si }) to providers of sj .
2 The responses depend if In_sj subsumes any of the
counter-proposals:
a) Proposal: if SimT (Out_si , In_sj ) is of a PlugIn type;
b) Counter-Proposal: If SimT (Out_si , In_sj ) is an
Intersection type, the counter-proposal is the extra
description required for this concrete semantic link sli,j i.e.,
T |= Out_si Hsi ,sj In_sj . We have “Paired Offer”.
If the second step ends up with counter-proposals rather than
proposals, the composer will initiate the second phase of negotiation.
24. Introduction Prelims Agents Related Work Conclusion
Protocol Detail - Phases 2 and 3
Protocol Detail - Phases 2 an 3
Step 1
1 Service Composer sends CFP(MatrixH) to all providers of si ;
2 MatrixH contains all Paired Offers, padded with HTi ,Tj ;
3 The response can be one of the following:
a) Statement-of-Interest: “Buying Time” to find partners.
b) Proposal: When ready to provide the missing information.
c) Failure: If the service provider cannot help.
Step 2
1 Service Composer sends CFP({Out_si }) to providers of sj .
2 The response options are the same as for Step 1.
3 For Phase 2, both si and sj consider forming partnerships and
coalitions;
4 For Phase 3, both sets consider adapting their own service
offerings.
If more than one positive response is received, the general service
selection criteria are used.
25. Introduction Prelims Agents Related Work Conclusion
Protocol Detail - Phases 2 and 3
Protocol Detail - Phases 2 an 3
Step 1
1 Service Composer sends CFP(MatrixH) to all providers of si ;
2 MatrixH contains all Paired Offers, padded with HTi ,Tj ;
3 The response can be one of the following:
a) Statement-of-Interest: “Buying Time” to find partners.
b) Proposal: When ready to provide the missing information.
c) Failure: If the service provider cannot help.
Step 2
1 Service Composer sends CFP({Out_si }) to providers of sj .
2 The response options are the same as for Step 1.
3 For Phase 2, both si and sj consider forming partnerships and
coalitions;
4 For Phase 3, both sets consider adapting their own service
offerings.
If more than one positive response is received, the general service
selection criteria are used.
26. Introduction Prelims Agents Related Work Conclusion
Service Composition
Related Work - Robustness in Service Composition
At Functional Level
Most of FLC consider not robust semantic links hence some
inconsistencies in the composition model:
e.g. [O.Lassila and S.Dixit AAAI’04] and [Zhang et al. ICWS’03]
with Exact, Subsume, PlugIn and Disjoint;
e.g. [J.Cardoso and A.Sheth JIIS’03] with computation of syntactic
similarity;
e.g. [T.Di Noia et al. WWW’05];
In the same direction ...
Semi-Automation of Robust Composition (End-User Assistance)
[F.Lécué et al. ICWS’07];
Authors of [F.Lécué and A.Delteil AAAI’07] suggest to use the
Concept Difference (more costly) [Teege KR’94] and not the
Concept Abduction.
27. Introduction Prelims Agents Related Work Conclusion
Service Composition
Related Work - Robustness in Service Composition
At Functional Level
Most of FLC consider not robust semantic links hence some
inconsistencies in the composition model:
e.g. [O.Lassila and S.Dixit AAAI’04] and [Zhang et al. ICWS’03]
with Exact, Subsume, PlugIn and Disjoint;
e.g. [J.Cardoso and A.Sheth JIIS’03] with computation of syntactic
similarity;
e.g. [T.Di Noia et al. WWW’05];
In the same direction ...
Semi-Automation of Robust Composition (End-User Assistance)
[F.Lécué et al. ICWS’07];
Authors of [F.Lécué and A.Delteil AAAI’07] suggest to use the
Concept Difference (more costly) [Teege KR’94] and not the
Concept Abduction.
28. Introduction Prelims Agents Related Work Conclusion
Agent Negotiation and Coalition Formation
Related Work - Agent Negotiation
Using Agents for Web Service Composition
Mostly focused on contracts and norms, e.g. [Kollingbaum et.al.
at WISER’2006];
Only a few focus on the composition problem, e.g. [Hassine et.al.
at ISWC’06];
Agents for robust composition of WS instances are used in
[Lécué et.al. at ECOWS’09].
Using Agents to Represent Service Providers and Requesters
Mature work on negotiation and coalition formation protocols;
“Service” is a core concept in agent research but not directly
linked to Semantic Web Services;
There are some examples of work on agents collaborating to
procure web services [Abdoessalam et.al. WETICE’04]
29. Introduction Prelims Agents Related Work Conclusion
Agent Negotiation and Coalition Formation
Related Work - Agent Negotiation
Using Agents for Web Service Composition
Mostly focused on contracts and norms, e.g. [Kollingbaum et.al.
at WISER’2006];
Only a few focus on the composition problem, e.g. [Hassine et.al.
at ISWC’06];
Agents for robust composition of WS instances are used in
[Lécué et.al. at ECOWS’09].
Using Agents to Represent Service Providers and Requesters
Mature work on negotiation and coalition formation protocols;
“Service” is a core concept in agent research but not directly
linked to Semantic Web Services;
There are some examples of work on agents collaborating to
procure web services [Abdoessalam et.al. WETICE’04]
30. Introduction Prelims Agents Related Work Conclusion
Conclusion and Future Work
Conclusion
Template-based Service composition as a composition of
Semantic links;
Considering service providers represented as agents can help
by:
robustness of semantic links;
phased protocol to minimise robustness costs;
near-linear complexity using Extra Descriptions.
Further work in the area
Linking instance-based and template-based compositions;
Optimising across different semantic links - coalition formation;
Optimising in case of “split” and “join” semantic links.
31. Introduction Prelims Agents Related Work Conclusion
Conclusion and Future Work
Conclusion
Template-based Service composition as a composition of
Semantic links;
Considering service providers represented as agents can help
by:
robustness of semantic links;
phased protocol to minimise robustness costs;
near-linear complexity using Extra Descriptions.
Further work in the area
Linking instance-based and template-based compositions;
Optimising across different semantic links - coalition formation;
Optimising in case of “split” and “join” semantic links.
32. Introduction Prelims Agents Related Work Conclusion
Questions?