1 Task Model for Process Composition Stuart Wheater Santosh Shrivastava
2 Objective Distributed applications constructed by combining existing applications – Such applications can be very complex in structure Contain many notification and dataflow dependencies between their constituent applications – The execution of such an application may take a long time to complete, and may contain long periods of inactivity Long running applications will require support for fault-tolerance: machines may fail, services may be moved or withdrawn
3 Computational Model Computational model for expressing process logic – Tasks – Dependencies – Task composition
4 Tasks Can have multiple input sets – Contains a set of input objects – The first complete input set causes a task to be started Can have multiple output sets – Contains a set of output objects – A task can produces one output set i3i3 i2i2 i4i4 i1i1 t I1I1 I2I2 I3I3 o2o2 o3o3 o1o1 O1O1 O2O2 O3O3
5 Multi-source Multi-sinkMulti-sourceMulti-sink Dataflow Dependencies Source OutputSource Input Dependencies Types OutputOutput InputInput SinkSink Notification Dependencies Source OutputSource Input
6 A C B D Example of Tasks and Dependences
7 Compound Tasks Compositional building blocks for collections of tasks The first complete output set causes a compound task to be completed A B E C D
8 Genesis Tasks Tasks which instantiate a workflow definition when executed – Allows “just in time” instantiation – Allows recursive execution of defined workflows A A’ B
9 Model Summary Tasks – Multiple ways of starting (input sets) – Multiple ways of completing (output sets) Recursive task definition – Compound tasks Recursive task execution – Genesis task Multiple input sources – Redundant sources of input
10 Flexible Task Composition Application level fault-tolerance – Alternative tasks – Compensating tasks Forward error recovery Backward error recovery – Input time-out support tasks
11 Alternative Tasks Primary task A Alternative task A’ If A fails A’ is started – With same input B will be triggered by successful completion of A or A’ – Otherwise another process could be triggered A’ BA
12 Compensating Tasks Task C outcomes: – Successful – Nothing – Partial Forward error recovery Backward error recovery -C CD +C CD
13 Input Time-Out Support Tasks If task E does not complete within required time, task TO will trigger task F using secondary input set. TO EF
Process Deployment Model Process definition contains annotations which are interpreted based on the deployment definition Deployment definition Process definition Deployment engine Process instance
15 Process Deployment Definition Organisation
16 Process Deployment Definition Organisation Provided Processes
17 Process Deployment Definition Organisation Required Processes
18 Org A Org B Org C Org D a b c d Example Deployment
19 Summary Computational Model Deployment Model
20
21 B D C E A
22 B D C E A
23 B D C E A
24 B D C E A
25 B D C E A
26 B D C E A
27 B D C E A
28 B D C E A
29 B D C E A
30 B D C E A
31 B D C E A
32 B D C E A
33 B D C E A
34 B D C E A
35 B D C E A
36 B D C E A
37 B D C E A
38 B D C E A
39 B D C E A
40 B D C E A
41 B D C E A
42 B D C E A
43
44 C D A B
45 C D A B
46 C D A B
47 C D A B
48 C D A B
49 C D A B
50 C D A B
51 C D A B
52 C D A B
53 C D A B
54 C D A B
55 C D A B
56 C D A B
57 C D A B
58 C D A B
59 C D A B
60 C D A B
61 C D A B
62 C D A B