Title: An Approach for the Automated Composition of BPEL Processes
1An Approach for the Automated Composition of
BPEL Processes
- Annapaola Marconi
- ITCirst / University of Trento
- marconi_at_irst.itc.it
Joint work with P. Bertoli, M. Pistore and P.
Traverso
wscomps05 Compiegne -19 September 2005
2Outline
- Web Service composition
- Our automated composition framework
- Experimental evaluation
- Conclusions
3Web Service Composition
- Combine existing services, available on the Web,
to define higher level functionalities.
reqs
...
...
...
...
End user
NewExecutableCompositeProcess
WebServiceProtocols
4Web Service Composition
- Combine existing services, available on the Web,
to define higher level functionalities.
VIRTUAL TRAVEL AGENCY
FLIGHT
...
CUSTOMER
...
HOTEL
...
End user
WebServiceProtocols
NewExecutableCompositeProcess
5Automated Web Service Composition
- The main idea
- Exploit and extend advanced planning techniques
to support the automated composition of composite
web services
planning goal
Plan
Planning
planning domain
6Automated Web Service Composition
- The planning challenges
- Non-atomic services (complex control flow),
nondeterministic domain
FLIGHT
register (UserID)
ok
invalid
request (Time, Loc)
not-avail
7Automated Web Service Composition
- The planning challenges
- Non-atomic services (complex control flow),
nondeterministic domain - Managing exchanged data (complex data flow)
8Automated Web Service Composition
- The planning challenges
- Non-atomic services (complex control flow),
nondeterministic domain - Managing exchanged data (complex data flow)
9Automated Web Service Composition
- The planning challenges
- Non-atomic services (complex control flow),
nondeterministic domain - Managing exchanged data (complex data flow)
10Automated Web Service Composition
- The planning challenges
- Non-atomic services (complex control flow),
nondeterministic domain - Managing exchanged data (complex data flow)
11Automated Web Service Composition
- The planning challenges
- Non-atomic services (complex control flow),
nondeterministic domain - Data modeling and reasoning, complex data flow
- Complex composition requirements temporal
preferences
try to sell holiday packages upon failure, do
never a single commit
12Automated Web Service Composition
- The planning challenges
- Non-atomic services (complex control flow),
nondeterministic domain - Data modeling and reasoning, complex data flow
- Complex composition requirements temporal
preferences
try to sell holiday packages upon failure, do
never a single commit
13Automated Web Service Composition
- The planning challenges
- Non-atomic services (complex control flow),
nondeterministic domain - Data modeling and reasoning, complex data flow
- Complex composition requirements temporal
preferences
try to sell holiday packages upon failure, do
never a single commit
14Outline
- Web Service composition
- Our automated composition framework
- Experimental evaluation
- Conclusions
15Our service composition framework
?
Compositionrequirements
W
Synthesizedplan
W1
ExecutableCompositeService
. . . .
. . . .
Planning domain
Wn
State TransitionSystems
ComponentWeb Services
- Component services abstract BPEL4WS semantic
annotations - Composite service executable BPEL4WS
- Composition requirements EaGLe requirements
language
16Abstract BPEL4WS Semantic Annotations
- BPEL4WS complete and detailed description of the
WS protocol - Automated composition task needs a semantic
description of the interactions - Semantic annotations
- define the outcome of the interaction
17Abstract BPEL4WS Semantic Annotations
- BPEL4WS complete and detailed description of the
WS protocol - Automated composition task needs a semantic
description of the interactions - Semantic annotations
- define the outcome of the interaction
- add semantic relations among the exchanged data
18Abstract BPEL4WS Semantic Annotations
- BPEL4WS complete and detailed description of the
WS protocol - Automated composition task needs a semantic
description of the interactions - Semantic annotations
- define the outcome of the interaction
- add semantic relations among the exchanged data
19EaGLe requirements language
- EaGle (Dal Lago, Pistore, Traverso 2002)
- a language for temporally extended planning goals
in non-deterministic domains - many similarities with CTL
- recovery conditions, second-preference goals
20EaGLe requirements language
EaGLe formalization
TryReach C.booked ? H.booked ? F.booked ?
C.cost F.costOf(C.time, C.loc)
H.costOf(F.time, C.loc) Fail DoReach
C.not_booked ? H.not_booked ? F.not_booked
try to sell holiday packages upon failure, do
never a single commit
21Our service composition framework
?
Compositionrequirements
W
Synthesizedplan
W1
ExecutableCompositeService
. . . .
. . . .
Planning domain
Wn
State TransitionSystems
ComponentWeb Services
- Component services abstract BPEL4WS processes
- Composite service executable BPEL4WS process
- Composition requirements EaGLe requirements
language
22Our service composition framework
?
Compositionrequirements
W
Synthesizedplan
W1
WS2STS
ExecutableCompositeService
. . . .
. . . .
Planning domain
Wn
ComponentWeb Services
State TransitionSystems
- WS2STS from web services to formal models
- support all BPEL4WS basic and structured
activities - !!! deal with DATA (knowledge level planning)
23Knowledge Level Planning
- Reasoning on the data values exchanged by the web
services participating to the composition - Remark neither actual data values nor actual
definition of functions are important! - Key challenge define a suitable knowledge base
s.t. - KL models can be automatically extracted from
BPEL processes - automated composition can be done for a relevant
set of realistic problems - composite BPEL process can be automatically
extracted from the plan - efficient composition
-
24Knowledge Level Planning
- Knowledge Base Propositions
- KV(x) we know the value of x
- K(x y) we know that x and y have the same
value - K(x f (y1, .., yn)) we know that x has the
value of f applied to y1, .., yn - where x, y, y1, .., yn are BPEL
variables and f is a user defined function.
- Knowledge Base Actions
- del (KB, p1, .., pn) is the knowledge base KB \
p1, .., pn - add (KB, p1, .., pn) is the knowledge base KB U
p1, .., pn - close (KB) is the knowledge base containing all
propositions that can be deduced from the
propositions in KB
25Knowledge Level Planning
- KB evolution a simple example
- Suppose that
- r, v, z Request and o, w Offer are BPEL
variables - costOf(Request, Offer) is a BPEL function (of
the Hotel WS) - KB0 KV(v) , K(r z) is the current
knowledge base - Are executed the following actions
- request (r ? v)
- o costOf (r)
- offer(o ? w)
26Knowledge Level Planning
- KB evolution a simple example
KB0 KV(v) , K(r z)
- request(r ? v) on KB0
- preconditions
- KV(v)
- effects
- KB0 del (KB0 , ..all props on r) KV(v)
- KB0 add (KB0 , K(r v)) KV(v), K(r
v) - KB1 close (KB0 ) KV(v), K(r v),
KV(r)
27Knowledge Level Planning
- KB evolution a simple example
KB1 KV(v), K(r v), KV(r)
- o costOf(r) on KB1
- preconditions
- none
- effects
- KB1 del (KB1 , ..all props on o) KV(v),
K(rv), KV(r) - KB1 add (KB1 , K(o costOf(r)))
KV(v), K(rv), KV(r), K(ocostOf(r)) - KB2 close (KB1 ) KV(v), K(rv), KV(r),
K(ocostOf(r)), K(ocostOf(v))
28Knowledge Level Planning
KB2 KV(v), K(r v), KV(r),
K(ocostOf(r)), K(ocostOf(v))
- KB evolution a simple example
- offer(o ? w) on KB2
- preconditions
- none
- effects
- KB2 del (KB2 , ..all props on w..)
KV(v), K(rv), KV(r), K(ocostOf(r)),
K(ocostOf(v)) - KB2 add (KB2 , K(w o), KV(w)) KV(v),
K(rv), KV(r), K(ocostOf(r)),
K(ocostOf(v)), K(wo), KV(w) - KB3 close (KB3 ) KV(v), K(rv), KV(r),
K(ocostOf(r)), K(ocostOf(v)), K(wo),
KV(w), KV(o), K(wcostOf(r), K(wcostOf(v)
29Our service composition framework
?
Compositionrequirements
W
Synthesizedplan
W1
WS2STS
ExecutableCompositeService
. . . .
. . . .
Planning domain
Wn
ComponentWeb Services
State TransitionSystems
- WS2STS from web services to formal models
- support all BPEL4WS basic and structured
activities - !!! deal with DATA (knowledge level planning)
30Our service composition framework
?
Compositionrequirements
W
Synthesizedplan
W1
ExecutableCompositeService
. . . .
. . . .
Planning domain
Wn
ComponentWeb Services
State TransitionSystems
- Obtaining the planning domain
- S is a STS representing all the possible
behaviors of the component services
31Our service composition framework
?
Compositionrequirements
AUTOMATED COMPOSITION
W
Synthesizedplan
W1
ExecutableCompositeService
. . . .
. . . .
Planning domain
Wn
ComponentWeb Services
State TransitionSystems
- Synthesizing the plan
- Planning via Symbolic Model Checking (MBP Planner
- NuSMV)
32Our service composition framework
?
Compositionrequirements
W
STS2WS
Synthesizedplan
W1
ExecutableCompositeService
. . . .
. . . .
Planning domain
Wn
ComponentWeb Services
State TransitionSystems
- STS2WS Obtaining the executable composite
process - ready for deployment and run
- particular care to code quality
33Outline
- Web Service composition
- Our automated composition framework
- Experimental evaluation
- Conclusions
34Experiment set 1 Atomic WS Composition
35Experiment set 2 More complex WS Composition
36Experimenting with realistic applications
- On the HF problem
- Time
- automated composition 10 secs
- manual coding 1 hour
- Quality
- automated composition 22K bytes
- manual coding 11K bytes
37Outline
- Web Service composition
- Our automated composition framework
- Experimental evaluation
- Conclusions
38Conclusions
- The proposed composition framework has been
implemented within the ASTRO toolset - http//astroproject.org
39Conclusions
- The proposed composition framework has been
implemented within the ASTRO toolset - http//astroproject.org
- ASTRO toolset supports
- ..of composite business processes
FORMAL VERIFICATION
RUN-TIME MONITORING
AUTOMATED COMPOSITION
40Some publications
http//astroproject.org
- Planning Framework for Web Service Composition
- M. Pistore, P. Traverso, P. BertoliAutomated
Composition of Web Services by Planning in
Asynchronous DomainsInternational Conference on
Automated and Planning Sheduling (ICAPS) 2005 - Managing exchanged data
- M. Pistore, A. Marconi, P. Bertoli, P.
TraversoAutomated Composition of Web Services by
Planning at the Knowledge LevelInternational
Joint Conference on Artificial Intelligence
(IJCAI) 2005 - Semantic Web Service Composition
- P. Traverso, M. PistoreAutomatic Composition of
Semantic Web Services into Executable
ProcessesInternational Semantic Web Conference
(ISWC) 2004 - Composition Verification
- R. Kazhamiakin, M. PistoreA Parametric
Communication Model for the Verification of
BPEL4WS Compositions2nd International Workshop
on Web Services and Formal Methods (WS-FM) 2005
41An Approach for theAutomated Composition of BPEL
Processes
42- COMPOSITE WS VERIFICATION
- R. Kazhamiakin, M. PistoreA Parametric
Communication Model for the Verification of
BPEL4WS Compositions2nd International Workshop
on Web Services and Formal Methods (WS-FM) 2005 - R. Kazhamiakin, M. Pistore, M. RoveriA framework
for integrating Business Processes and Business
Requirements9th International IEEE Enterprise
Distributed Object Computing Conference (EDOC)
2004 - M. Pistore, M. Roveri, P. BusettaRequirements-Dri
ven Verification of Web Services1st
International Workshop on Web Services and Formal
Methods (WS-FM) 2004 - R. Kazhamiakin, M. Pistore, M. RoveriFormal
Verification of requirements using SPIN A Case
Study on Web Services3rd IEEE International
Conference on Software Engineering and Formal
Methods (SEFM) 2004
43- SERVICE SYNTHESIS AND COMPOSITION
- M. Pistore, A. Marconi, P. Bertoli, P.
TraversoAutomated Composition of Web Services by
Planning at the Knowledge LevelInternational
Joint Conference on Artificial Intelligence
(IJCAI) 2005 - M. Pistore, P. Traverso, P. Bertoli, A.
MarconiAutomated Synthesis of Composite BPEL4WS
Web Services3rd IEEE International Conference on
Web Services 2005 - M. Pistore, P. Traverso, P. Bertoli, A.
MarconiAutomated Synthesis of Executable Web
Serivce Compositions from BPEL4WS
ProcessesPoster presentation at the
International World Wide Web Conference (WWW)
2005 - M. Pistore, P. Traverso, P. BertoliAutomated
Composition of Web Service by Planning in
Asynchronous DomainsInternational Conference on
Automated and Planning Sheduling (ICAPS) 2005 - M. Pistore, F. Barbon, P. Bertoli, D. Shaparau,
P. TraversoPlanning and Monitoring Web Service
CompositionArtificial Intelligence Methodology,
Systems, Application (AIMSA) 2004Also ICAPS'04
Workshop on Planning and Scheduling for Web and
Grid Services
44- SEMANTIC WEB SERVICES
- M. Pistore, P. Roberti, P. TraversoProcess-Level
Composition of Executable Web Services
"On-the-fly" Versus "Once-for-all"
CompositionEuropean Semantic Web Conference
(ESWC) 2005 - P. Traverso, M. PistoreAutomatic Composition of
Semantic Web Services into Executable
ProcessesInternational Semantic Web Conference
(ISWC) 2004