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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

(Notice that r i - (TS 1 ) ≤ 0) In order to execu te T 3 , the<br />

requirement on resource r i is:<br />

r i + (TS 3 ) + r i + (TS 2 ) + r i - (TS 2 ) + r i + (TS 1 ) + r i - (TS 1 );<br />

…<br />

Therefore, the requirement on resource r i of executing the<br />

procedural branch, denoted by Rq(r i ) is<br />

Rq(r i ) = max{ r i + (TS 1 ),<br />

r i + (TS 2 ) + r i + (TS 1 ) + r i - (TS 1 ),<br />

…<br />

r i + (TS n ) + ∑ k=1 n-1 (r i + (TS k ) + r i - (TS k ))} (7)<br />

The net resource consumption is<br />

Rc(r i ) = ∑ k=1 s (r i + (TS k ) + r i - (TS k )) (8)<br />

The overall resource requirement of executing the<br />

procedural branch is<br />

R r = (Rq(r 1 ), Rq(r 2 ), … Rq(r s )) (9)<br />

For an ES-block composed of w procedural branches,<br />

we use f ormula (9) to calcu late the resource requirement<br />

for each branc h, excluding the starting and ending tasks.<br />

Denote by Rq k (r i ) the requirement on resource r i of branch<br />

k. Because in any given execution instance the workflow<br />

can only choose one branch to execute, therefore, the<br />

resource requirement of the ES-block on r i should be<br />

Rq(r i ) = max{Rq k (r i ) | k=1,2, .., w} (10)<br />

Notice that it is possible t hat the maximum value in<br />

formula (7) may be identified on different branches for<br />

different resources. For exa mple, executing branch on e<br />

may demand more on resource A than B, while executing<br />

branch two may demand more on resource B than A. But<br />

the overall resource requirement is a co mbination of worst<br />

case (the maximum demand) for each type of resources.<br />

The maximum net resource consumption on r i is<br />

Rc(r i ) = max{Rc k (r i ) | k=1,2, .., w} (11)<br />

For a PS-block composed of w procedural branches, we<br />

again use formula (9) to calculate the resource requirement<br />

for each branc h, excluding the starting and ending tasks.<br />

Denote by Rq k (r i ) the requirement on resource r i of branch<br />

k. Because these branches will execute concurrently, the<br />

worst case (maximum demand for a resource) would be a<br />

state in which all branches reach maximum demand for a<br />

given resource. Therefore, the resource requirement of the<br />

PS-block on r i should be<br />

Rq(r i ) = ∑ k=1 w Rq k (r i ) (12)<br />

The net resource consumption on r i is<br />

Rc(r i ) = ∑ k=1 w Rc k (r i ) (13)<br />

The overall workflow MRC analysis is carried out by<br />

the analysis of PS-blocks and ES-blocks and then replacing<br />

each of them with a task that is equivalent to the block in<br />

terms of maximum resource requirement and resou rce<br />

consumption. It starts f rom inter-most blocks. B efore we<br />

formally describe th e algorithm, let us illustrate the idea<br />

using the example the right-most workflow in Fig. 4(c)<br />

first. In this workflow, there are two internal most blocks:<br />

<br />

<br />

ES-block, composed of TS 221 , TS 222 and TS 223 and<br />

TS 220 .<br />

PS-bock, composed of TS 231 , TS 232 and TS 233 and<br />

TS 230 .<br />

For the ES block, we replace the two branches with a new<br />

task T 22 , while for the PS-block, we replace the three<br />

branches with a n ew task T 23 , as ill ustrated in Fig. 5(a).<br />

Now there is on ly one block in Fig. 5, which starts with<br />

TS 21 and ends with TS 200 and has two branches, each<br />

having three tasks. We replace each branch with a sing le<br />

new task, and then replace the two branches (now each<br />

branch has only one task) with a new task. After that, only<br />

one branch is left in the ROWN.<br />

TS 1<br />

TS 21<br />

TS 221 TS 231<br />

TS 22<br />

TS 23<br />

TS 220<br />

TS 200<br />

TS 100<br />

Fig. 5. An equivalent ROWN to Fig. 4(c).<br />

For any type of blocks, when all its branches are<br />

replaced with a si ngle task TS b , the equivalent resource<br />

parameters of TS b for resource r i are:<br />

r + i (TS b ) = Rq(r i ) (14)<br />

r - i (TS b ) = Rq(r i ) - Rc(r i ) (15)<br />

If the block is an ES -block, Rq(r i ) and Rc(r i ) are given by<br />

(10) and (11), respectively. If it is a PS-block, they are<br />

given by (12) and (13).<br />

MRC analysis algorithm<br />

TS 230<br />

385

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

Saved successfully!

Ooh no, something went wrong!