27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

vector and available resources are decreased . If the<br />

transition represents the end of a task, R(t k ) is negative and<br />

available resources are increased. If no resource involved,<br />

then available resources remain unchanged.<br />

Based on the transition firing rule reachability analysis<br />

can be perf ormed, which explores all p ossible states and<br />

execution paths, reveals possible deadlocks due to resource<br />

contention.<br />

E. An Example<br />

Fig. 2 shows an ROWN with four tasks. Assume three<br />

types of resources are involved in the workflow execution<br />

and their initial quantities are S 0 = (30, 25, 20). Resource<br />

changes by task execution are specified as follows:<br />

R(B 1 ) = R + (TS 1 ) = (3, 8, 5)<br />

R(E 1 ) = R - (TS 1 ) = (-3, -2, -5)<br />

i<br />

B 1<br />

InEx 1<br />

Idle 1<br />

Fig. 2 An RCWN of 4 tasks.<br />

a<br />

b<br />

E 1<br />

B 2 InEx 2<br />

E 2<br />

Idle 2<br />

B 3 E 3 InEx 3<br />

Idle 3<br />

R(B 2 ) = R + (TS 2 ) = (5, 0, 10)<br />

R(E 2 ) = R - (TS 2 ) = (0, 0, -5)<br />

R(B 3 ) = R + (TS 3 ) = (15, 10, 5)<br />

R(E 3 ) = R - (TS 3 ) = (-5, -2, -5)<br />

R(B 4 ) = R + (TS 4 ) = (0, 5, 15)<br />

R(E 4 ) = R - (TS 4 ) = (0, -5, -5)<br />

At the initial state, B 1 is the only transition that is<br />

enabled. After it fires, S 1 = S 0 – R(B 1 ) = (27, 17, 15). Then<br />

E 1 is the only transition that is enabled. After E 1 is fired, S 2<br />

= S 1 – R(E 1 ) = (30, 12, 20). At state (M 2 , S 2 ), both B 2 and<br />

B 3 are enabled. If B 2 fires, S 3 = S 2 – R(B 2 ) = (25, 1 2, 10).<br />

Then if B 3 fires, S 4 = S 3 – R(B 3 ) = (10, 2, 5). We can<br />

continue this process until we get to a state th at no<br />

transitions are enabled.<br />

III. RESOURCE REQUIREMENT ANALYSIS<br />

After a workflow is built and the resource consumption<br />

and production are def ined for all tas ks, the resource<br />

requirement for executing the workflow can be f ormally<br />

analyzed. We are in terested in the maximum resource<br />

consumption (MRC), which is defined as the minimum<br />

amount of resources that if satisfied, the workflow can be<br />

executed along any possible path till finish without the<br />

B 4<br />

c<br />

d<br />

InEx 4<br />

Idle 4<br />

E 4<br />

o<br />

occurrence of resource shortage. Meeting MRC<br />

requirement is very important for emergency response<br />

workflows because it is de sired to not see an y resource<br />

shortage in an y case in emergence response. To analyze<br />

MRC, we need to f ind out the maximum amount of each<br />

type of resources that can be held or co nsumed in the<br />

execution of a workflow. We present two approaches in<br />

this section. One is through reachability analysis, the other<br />

one is based on ROWN structure and applies to a class of<br />

ROWNs.<br />

A. Reachability Analysis Based Approach<br />

Let H be th e reachable state set. For each t ype of<br />

resource r i , Find a state (M k , S k ) such that<br />

S k (r i ) = min{S j (r i ) | (M j , S j ) H} (5)<br />

S k (r i ) is the lowest possible level of availability of resource<br />

r i during the workflow execution. Therefore, S 0 (r i ) - S k (r i )<br />

indicates the minimum requirement on resource r i in order<br />

for the workflow to be exec uted along all possible pat h.<br />

Denote it by Rq(r i ).<br />

Rq(r i ) = S 0 (r i ) - min{S j (r i ) | (M j , S j ) H} (6)<br />

There are several advantages using this approach for<br />

resource requirements analysis: First, it is si mple. One can<br />

easily modify an existing Petri net tool to s upport this<br />

functionality. Secondly, it allows multi-case resources<br />

requirements analysis. The number of cases are specif ied<br />

by the number of tokens in the source place i at the initial<br />

state. Thirdly, it v irtually works for all workflows,<br />

regardless of whether they are complex or simple in terms<br />

of control flow and whether they are big or small in size.<br />

B. Free-choice Workflow Nets<br />

We only consider free-choice workflows. A w orkflow<br />

net free-choice if and only if<br />

p 1 *p 2 * ≠ => |p 1 *|=|p 2 *| = 1, p 1 , p 2 P,<br />

Free-choice workflow net does not allow confusion, a<br />

situation where conflict and concurrency are mixed.<br />

C. Well-nested Workflows<br />

Based on the concept of free-choice workflows, we<br />

further introduce well-nested workflows. To facilitate the<br />

definition of well-nested workflows, a piece of workflow<br />

in which tasks are seriall y connected to f orm a si ngle<br />

branch is called a procedural branch, and a piece of<br />

workflow in which two or more procedural branches are<br />

sprung out from a start task and then join in an end task is<br />

called a fork-join block. There are two types of fork-join<br />

blocks: one is parallel split-synchronization block (PSblocks),<br />

in which multiple tasks are trigged by one task,<br />

run currently and are even tually synchronized at anot her<br />

task. The other type is exclusive choice-simple merge<br />

blocks (ES-blocks), in which multiple tasks are trigged by<br />

one task, run exclusively, and whichever is selected to run<br />

383

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!