Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 June 8, 2006Dynamic Workflow Modeling and Analysis J. Wang and R. Rosca Department of Software Engineering Monmouth University.

Similar presentations


Presentation on theme: "1 June 8, 2006Dynamic Workflow Modeling and Analysis J. Wang and R. Rosca Department of Software Engineering Monmouth University."— Presentation transcript:

1 1 June 8, 2006Dynamic Workflow Modeling and Analysis J. Wang and R. Rosca Department of Software Engineering Monmouth University

2 2 June 8, 2006Dynamic Workflow Modeling and Analysis Outline Motivation An intuitive and formal workflow model Well-formed workflows Verification Tool support Conclusion and future work

3 3 June 8, 2006Dynamic Workflow Modeling and Analysis Motivation Driven by workflow design for incident command systems Frequent changes of the course of action dictated by incoming events –Calls for on-the-fly verification of the workflow correctness Predominantly volunteer-based workforce –Needs intuitive features for the description and modification of the WF High stake –Needs formal approach (no ambiguity, allows analysis) We introduced the Workflow Intuitive Formal Approach (WIFA) to meet the needs

4 4 June 8, 2006Dynamic Workflow Modeling and Analysis WIFA Workflow Definition A workflow is WF = (T, P, C, A, S 0 ), where T = {T 1, T 2, …T m } is a set of tasks, m ≥ 1. P = (p) mxm is the precedence matrix of the task set. If T i is the direct predecessor of T j, then p ij = 1; otherwise, p ij = 0. C = (c) mxm is the conflict matrix of the task set. c ij  {0, 1} for i = 1, 2, …m and j =1, 2, … m. A = (A(T 1 ), A(T 2 ), …, A(T m )) defines pre-condition set for each task.  T k  T, A(T k ): *T k . Let set A’  A(T k ). Then T i  A’ implies p ik = 1. S 0  {0, 1, 2, 3} m is the initial state of the workflow.

5 5 June 8, 2006Dynamic Workflow Modeling and Analysis Example T1T1 T2T2 T3T3 T6T6 T4T4 T5T5 T7T7 T8T8, A(T 1 ) = Ø, A(T 2 ) = {{T 1 }, {T 6 }}, A(T 3 ) = {{T 1 }}, A(T 4 ) = {{T 2 }}, A(T 5 ) = {{T 4 }}, A(T 6 ) = A(T 7 ) = {{T 5 }}, A(T 8 ) = {{T 3, T 7 }}. S 0 = (1, 0, 0, 0, 0, 0, 0, 0). T = {T 1, T 2, …, T 8 },

6 6 June 8, 2006Dynamic Workflow Modeling and Analysis Individual Task State Values S(T i ) = 0 means T i is not executable at state S and not executed previously. S(T i ) = 1 means T i is executable at state S and not executed previously. S(T i ) = 2 means T i is not executable at state S and executed previously. S(T i ) = 3 means T i is executable at state S and executed previously.

7 7 June 8, 2006Dynamic Workflow Modeling and Analysis State Transition Rules A set of rules to guide workflow execution Denote by S a (T i )S b that task T i is executed under state S a, and the new state after the execution is S b. Rules:  T j  T, –If T j = T i then S b (T j ) = 2. (T j is just executed) –If S a (T j ) = 0: If p ij = 1 and  A’  A(T j ) such that S b (T k ) = 2 for any T k  A’, then S b (T j ) = 1; otherwise S b (T j ) = 0.

8 8 June 8, 2006Dynamic Workflow Modeling and Analysis State Transition Rules –S a (T j ) = 1 If c ij = 0 then S b (T j ) = 1; otherwise S b (T j ) = 0. –Sa(T j ) = 2 If p ij = 1 and  A’  A(T j ) such that S b (T k ) = 2 for any T k  A’, then S b (T j ) = 3; otherwise S b (T j ) = 2. –S a (T j ) = 3 If c ij = 0 then S b (T j ) = 3; otherwise S b (T j ) = State value change of a task

9 9 June 8, 2006Dynamic Workflow Modeling and Analysis State Transition Rules Example T1T1 T2T2 T4T4 T5T5 T3T3 T6T6 T7T7 S 0 =(1, 0, 0, 0, 0, 0, 0) S 1 =(2, 1, 1, 0, 0, 0, 0) S 2 =(2, 2, 0, 1, 0, 0, 0) S 3 =(2, 0, 2, 0, 0, 1, 0) … c 23 = 1

10 10 June 8, 2006Dynamic Workflow Modeling and Analysis Modeling Power Sequential execution Conflict (decision making) Concurrency Synchronization Loop T1T1 T2T2 T3T3 T6T6 T4T4 T5T5 T7T7 T8T8 c 23 = 0 c 67 = 1 A(T 2 ) = {{T 1 },{T 2 }} A(T8) = {T 3, T 7 }

11 11 June 8, 2006Dynamic Workflow Modeling and Analysis Reachability Tree T1T1 T2T2 T3T3 T3T3 T2T2 T4T4 T5T5 T6T6 T4T4 T2T2 T4T4 T5T5 T6T6 T2T2 T4T4 T3T3 T3T3 T3T3 T3T3 ( ) ( ) ( )( ) ( ) ( ) ( ) ( )( ) ( ) ( )( ) ( ) ( )( ) T5T5 T5T5 T3T3 ( ) ( ) T7T7 T7T7 T3T3 ( ) ( ) T3T3 ( ) ( ) T8T8 ( ) T6T6 T7T7 T8T8 T6T6

12 12 June 8, 2006Dynamic Workflow Modeling and Analysis Well-Formed Workflows All reachable states form reachable set R A workflow is well-formed if and only if the following two behavior conditions are met: –There is no dangling task –Given any reachable state, there is always an execution path leading the workflow to finish Validation of a WF being well-formed requires the reachability analysis of the WF

13 13 June 8, 2006Dynamic Workflow Modeling and Analysis Confusion-Free Workflows To simplify workflow modeling and verification A confusion-free workflow –Is a well-formed workflow –Either all tasks triggered by the same task are in conflict, or no pairs of them are in conflict –A task becomes executable either when all of its predecessor tasks are executed, or when any one of them is executed AND-In-AND-Out AND-In-XOR-Out XOR-In-and-Out XOR-In-XOR-Out

14 14 June 8, 2006Dynamic Workflow Modeling and Analysis Workflow Dynamics A couple of theorems developed for quick on-the-fly well- formedness verification –Theorem for adding new tasks to a WF, such that the new WF can preserve the confusion-free, well-formed properties (in the paper). –Theorem for deleting a task from the WF such that the new WF can preserve the confusion-free, well- formed properties. –Theorems for changing business rules that express task dependencies

15 15 June 8, 2006Dynamic Workflow Modeling and Analysis Lemma 1 Given a workflow WF A = (T, P, C, A, S 0 ) with T k  T. As shown in Fig, WF B = (T’, P’, C’, A’, S’ 0 ) is obtained by replacing T k with T k1 and T k2, such that –*T k1 = *T k, T k2 * = T k *, T k1 * = {T k2 } and * T k2 = {T k1 }, –A’ (T k1 ) = A(T k ); –C’(T i, T j ) = C(T i, T j ) for  T i, T j  T k *, Then WF B is confusion-free well-formed iff WF A is confusion-free well- formed. WF A TkTk WF B T k1 T k2

16 16 June 8, 2006Dynamic Workflow Modeling and Analysis Lemma 2 Let WF A = (T, P, C, A, S 0 ) be a well-formed confusion-free workflow with T k1, T k2  T, T k1 * = * T k2 = , and T k2 is not a predecessor of T k1. As shown in the figure, WF B = (T’, P’, C’, A’, S’ 0 ) is obtained by introducing precedence constraint between T k1 and T k2 such that T k1 is an immediate predecessor of T k2. Then WF B is also well-formed and confusion-free. WF B T k1 T k2 WF A T k1 T k2

17 17 June 8, 2006Dynamic Workflow Modeling and Analysis Adding a new task WF TkTk TkTk TkTk *T k ≠ , T k * =  *T k = , T k * ≠  *T k ≠ , T k * ≠  TiTi TiTi

18 18 June 8, 2006Dynamic Workflow Modeling and Analysis Changing dependency T1T1 T2T2 T3T3 T4T4 T5T5 T6T6 T8T8 T7T7 T1T1 T2T2 T3T3 T4T4 T5T5 T6T6 T8T8 T7T7

19 19 June 8, 2006Dynamic Workflow Modeling and Analysis Deleting a task T1T1 T2T2 T3T3 T4T4 T5T5 T6T6 T8T8 T7T7 T1T1 T2T2 T3T3 T4T4 T5T5 T8T8 T7T7

20 20 June 8, 2006Dynamic Workflow Modeling and Analysis Tool Support for Editing, Validation and Enactment of WFs

21 21 June 8, 2006Dynamic Workflow Modeling and Analysis Tool Features Saving workflow in XML or as an image Drag and Drop interface Dynamically change tasks/workflow properties Zooming in and out to focus on specific sections of the workflow Validate workflow Visually step through workflow in design window Step forward/backward through the simulation Auto-play speed adjustment Audit log – for post incident analysis

22 22 June 8, 2006Dynamic Workflow Modeling and Analysis Conclusion Introduced a new formalism to support dynamic workflow modeling and verification Developed a set of theorems to validate the on-the-fly workflow changes Implemented a tool to allow easy workflow construction, modification, verification and execution

23 23 June 8, 2006Dynamic Workflow Modeling and Analysis Future Work Data dependency Decision support Inter-organizational workflows Tool enhancement


Download ppt "1 June 8, 2006Dynamic Workflow Modeling and Analysis J. Wang and R. Rosca Department of Software Engineering Monmouth University."

Similar presentations


Ads by Google