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.

II.<br />

RESOURCE-ORIENTED WORKFLOW MODEL<br />

A workflow is composed of tasks that execute in a<br />

specific order. A task is an activity or an event. We assume<br />

a task is ato mic. When it g ets started, it is g uaranteed to<br />

finish. An important implication of this assumption is all<br />

required resources to finish the task will be held by the task<br />

until it is done.<br />

Workflows are case-based. Every piece of work is<br />

executed for a specific case. For example, an incident is a<br />

case for an incident response workflow. A patient visit is a<br />

case for the emergency department workflow.<br />

Workflow execution requires resources. Workflows are<br />

executed by humans or machines, which are du rable<br />

resources. When Petri nets are used to model a workflow,<br />

these kinds of resources can be specif ied using tokens.<br />

Besides workflow executors, executing a task in a<br />

workflow may consume/occupy other resources and when<br />

a task execution is finished some of these resources may be<br />

released or some new resources may be produced. Petri net<br />

tokens are not suitable to model this class of resources.<br />

A. Task Modeling<br />

A task can be modeled with a transition in a Petri net.<br />

However, in order to catch resources in use when a task is<br />

in execution and released when the task is done, we use<br />

two sequential transitions to model a task, on e modeling<br />

the beginning of the task execution and the other the end of<br />

the task execution.<br />

B<br />

Fig. 1 Petri model of a task.<br />

InExec<br />

Idle<br />

As shown in Fig. 1 (a), transition B represents the<br />

beginning of a task execution; E represents the end of the<br />

task execution. Place InEx represents the task is in<br />

execution, while Idle represents the task is idle. From<br />

reachability analysis perspective, Fig. 1(a) can be reduced<br />

to a sing le transition, which represents the entire task<br />

execution as a sing le logic unit. If there is n o resource<br />

involved in a task execution, then we don’t need to model<br />

it using two transitions.<br />

B. Resource Modeling<br />

We assume there are n types of resources in a system,<br />

and the quantity of each type of resource can be<br />

represented by a non-negative real number. Hence,<br />

resources are described by S = (r 1 , r 2 , …, r n ), where each r i<br />

is a non-negative real number.<br />

A task may hold or co nsume particular resources<br />

during execution and rele ase or p roduce particular<br />

resources once execution is completed. We use R + to<br />

E<br />

describe the resources consumed and/or h eld when<br />

executing a task and use R - to describe resources produced<br />

+<br />

and/or released after task execution is finished, where r i ≥<br />

-<br />

0 and r i ≤ 0 and i = 1, 2, … n.<br />

Resource modeling is based on the two-transition<br />

model. More specifically, for a task TS k , R + (TS k ) is<br />

associated with transition B k and R - (TS k ) is associated with<br />

transition E k .<br />

C. Resource-Oriented Workflow Nets (ROWN)<br />

In [1], a Petri net that models a workflow process is called<br />

a workflow net. A workflow net is a Petri net that satisfies<br />

two requirements. First, it h as one source place and on e<br />

sink place. A token in the source place co rresponds to a<br />

case needs to be handled. A token in the output place<br />

corresponds to a case th at has already been handled.<br />

Secondly, there are no dangling transitions or places.<br />

Formally, a Petri net is PN = (P, T, I, O, M 0 ) if and only<br />

if<br />

1) PN has two special places: i and o. Place i is a source<br />

place: *i = ; Place o is a source place: *i = ,<br />

2) If we add a transit ion t to P N that connects place o<br />

with i, then the resulting Petri net is strong ly<br />

connected.<br />

A resource-constraint workflow net (ROWN) is<br />

workflow net in which a task whose execution requires<br />

resources is rep resented in two sequential transitions: a<br />

transition representing the start of the task and with<br />

resources consumption defined on it, and a transition<br />

representing the end of th e task with resources<br />

production/release defined on it. Mathematically, it i s<br />

defined as a 7-tupe: ROWN = (P, T, R, I, O, M 0 , S 0 ), in<br />

which (T, R) is a pair: f or each T k T, there is an R k R<br />

that specifies resource change associate with the firing of<br />

transition T k . S 0 represents the initially available resources.<br />

D. Transition Firing<br />

A transition t k is enabled under state (M i , S i ) if and only<br />

if<br />

M i ≥ I(t k ), (1)<br />

S i ≥ R(t k ) (2)<br />

Condition (1) stan ds for control-ready, while condition 2<br />

stands for resource-ready. Notice that R(t k ) is R + (t k ) if t k<br />

represents the start of a ta sk; it is R - (t k ) if t k represents the<br />

end of a task; it is a 0 vector if the task represented by t k<br />

does not involve any resource changes. The transition’s<br />

enabledness is affected by resource availability only if it<br />

represents the start of a task.<br />

After an enabled transition t k fires, the new state is<br />

determined by<br />

M j = M i + O(t k ) - I(t k ), (3)<br />

S j = S i - R(t k ). (4)<br />

Eq. (3) is exactly the same as it is for regular Petri nets. Eq.<br />

(4) reflects resource change after firing a transition: if the<br />

transition represents the start of a task, R(t k ) is a p ositive<br />

382

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

Saved successfully!

Ooh no, something went wrong!