decentralized workflow execution using a chemical metaphor
DESCRIPTION
TRANSCRIPT
1
AUTOCHEM (ANR-07-BLAN-0323)
Decentralized Approach for Execution of Composite Web Services using the
Chemical Paradigm
Hector Fernandez, Thierry Priol and Cedric Tedeschi
2
Context
• Service oriented computing
• Service composition expressed as workflow
– Workflow execution
• Centralized Workflow execution:
• A single coordinator node.
• The composite web service will be executed in this node.
• Responsible for coordination of all data and control flow between the web services.
➔ Problems [Alonso et al., 1997][Chafle et al., 2004]:
• Scientific issues: poor scalability, communication and performance bottlenecks.
• Societal issues: privacy
Intr
od
uct
ion
3
Objectives
• Ensure an execution of composite services:
• Decentralized
• Dynamic
• Autonomic
• Loose coupling (coordination mechanism)
Intr
od
uct
ion
4
“Nature-inspired metaphors have been shown to be of high interest for service coordination.”
[Viroli et al., 2009]
5
Chemical Programming Model• A program can be seen as a chemical solution:
• Data: “floating” molecules in the solution.
• Computation: chemical reactions between the molecules.
• Implicit parallelism and autonomy of reactions until inertia.
• Data structure: Multiset.
• Containing all data molecules.
• Reaction rules re-writing the multiset.
• Pioneered by Gamma (General Abstract Model for Multiset Manipulation) [Banâtre et al., 1990].C
hem
ical
Pro
gra
mm
ing
Par
adig
m
6
High-Order Chemical Language (HOCL)• The High-Order Chemical Language, HOCL [Banâtre et al., 2006], extension of Gamma.
• Reaction rules apply on reaction rules.
• Every entity is a molecule in the multiset.
• Autonomic behaviors.
• Dynamic (runtime).
• Example:
• A reaction rules is written
replace-one P by M if C
where P is a pattern which matches the required molecule, C is the reaction condition and M the result of the reaction.
Ch
emic
al P
rog
ram
min
g P
arad
igm
7
Decentralized Composite Web Services Execution using a Chemical Paradigm
8
Architecture overview
• Nodes communicating through a persistent and fault-tolerant shared address space.
• Composite web service is executed in a fully decentralized manner.
• Workflow is executed in parts corresponding with each web service
• Data and control transfer through the shared address space.
• Loose coupling among web services.
• Each node is co-responsible of the execution.
Dec
ent r
aliz
ed C
om
po
site
Web
Ser
vice
s E
xecu
tio
n
usi
ng
a C
hem
ical
Pa r
adig
m
9
Building Block: Chemical Web Service
The architecture is composed of:
• Chemical web services (ChWSes), a chemical encapsulation of a web service.
• Service invocation
• Storage space (Contains part of multiset)
• Chemical engine– HOCL interpreter (Chemical workflow engine)
Bu
ildin
g b
lock
Dec
ent r
aliz
ed C
om
po
site
Web
Ser
vice
s E
xecu
tio
n
usi
ng
a C
hem
ical
Pa r
adig
m
10
Architecture• Multiset, dynamic and decentralized coordination mechanism.
– Acts as a shared address space containing both control and data flows.– ChWSes communicate through the multiset. (reading and writing)– Physically distributed over ChWSes storage spaces.
•
• Multiset mirrors DSM's (Distributed Shared Memory) behavior.
Arc
hit
e ctu
reD
ecen
t ral
ized
Co
mp
osi
te W
eb S
ervi
ces
Exe
cuti
on
u
sin
g a
Ch
emic
al P
a rad
igm
11
Chemical Workflow Definition
In a classical workflow definition
• Executable languages like BPEL [OASIS, 2007], XPDL [WfMC, 2008] or YAWL [Van der Aalst et al., 2005].
• All data and control dependencies in the same file.
• Made to be executed in a centralized way.
In a chemical workflow definition
• Workflow definition using chemical expressions.
• Distributes data and control dependencies to each ChWS.
• Executes in parts a workflow in each ChWS.
Bu
ildin
g b
lock
Dec
ent r
aliz
ed C
om
po
site
Web
Ser
vice
s E
xecu
tio
n
usi
ng
a C
hem
ical
Pa r
adig
mD
ecen
t ral
ized
Co
mp
osi
te W
eb S
ervi
ces
Exe
cuti
on
u
sin
g a
Ch
emic
al P
a rad
igm
Multiset
12
Chemical Representations for Workflow
• Express all data and control dependencies (reaction rules and molecules).
• We use the High-Order Chemical Language (HOCL)
• The whole solution represents the multiset containing all information.
• The solution itself is composed of as many sub-solutions as ChWSes.
Bu
ildin
g b
lock
Dec
ent r
aliz
ed C
om
po
site
Web
Ser
vice
s E
xecu
tio
n
usi
ng
a C
hem
ical
Pa r
adig
mD
ecen
t ral
ized
Co
mp
osi
te W
eb S
ervi
ces
Exe
cuti
on
u
sin
g a
Ch
emic
al P
a rad
igm
13
Chemical rules for distributed execution
• Independent from any chemical workflow representation.
• Local chemical engines use these chemical rules.
• Two sets of chemical rules:
• Control and data transfer among ChWSes (MR_transfer).
• Execution of the workflow step by step (MR_invoke).
Dec
ent r
aliz
ed C
om
po
site
Web
Ser
vice
s E
xecu
tio
n
usi
ng
a C
hem
ical
Pa r
adig
m
14
Example
15
Service2
Service3
Service4Service1
SynchronizationParallel
16
• Workflow will be executed in parts.
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
More complex examples
36
Despatch police
Despatch ambulance
Transfer patientEmergency request
Synchronization mergeMulti choice
37
Synchronization mergecontrol dependencies
Multi-choicecontrol dependencies
Data dependenceData dependence
38
Conclusion
• Demand for more decentralized and dynamic interaction schemas.
• Chemical model is well featured for decentralized workflow execution.
• Our proposal: High-level decentralized coordination mechanism.
• Decentralized Architecture:– Chemical web services working as local engines.– Distributed Multiset
– Data and control dependencies– Temporal composition
• A High-order chemical language for composite web services:– Concepts for decentralized coordination.– Autonomic behavior
Su
mm
a ry
39
Future Work
• Decentralized workflow coordination for composite web services (Chemical engines).
• Implementation of a prototype (on-going work).
• Autonomic behaviour in decentralized workflow execution.
Su
mm
a ry
40
Questions ?