wfm9 patterns and products

background image

1

Patterns and Products

The Academic Response

Wil van der

Aalst

Eindhoven University of Technology
Faculty of Technology Management
Department of Information and Technology
P.O. Box 513
5600 MB Eindhoven
The Netherlands
w.m.p.v.d.aalst@tm.tue.nl

background image

2

Workflow

Patterns

• In the last decade more than 200 workflow management

systems have become available.

• Despite the efforts of the Workflow Management Coalition

(WfMC) a good standard for workflow design is missing.

• Available systems are really different with respect of basic

workflow functionality.

• Selection processes typically do not address these differences.
• In this research we (joint work with Arthur ter Hofstede and

Bartek Kiepuszewski) provide the academic answer to the poor

evaluations made by prestigious consulting firms like Gartner,

Moret, Ernst & Young, etc.

• Thus far more than 30 patterns have been collected.
• Moreover, the patterns give insight into the basic constructs in

operational processes and are a means to characterize

processes and to train designers.

background image

3

Example process: Complaints

handling

start

register

send_form

evaluate

process_complaint

check_proc

process_form

time-out

archive

ready

c1

c2

c3

c4

c5

c6

c7

background image

4

The process can be handled by

COSA ….

But

not

by

man

y

othe

rs …

background image

5

start

register

send_form

evaluate

process_complaint

check_proc

process_form

time-out

archive

ready

c1

c2

c3

c4

c5

c6

c7

Workflow pattern I:

Deferred Choice

background image

6

Workflow pattern II: Milestone

start

register

send_form

evaluate

process_complaint

check_proc

process_form

time-out

archive

ready

c1

c2

c3

c4

c5

c6

c7

background image

7

pattern

product

Staffwar

e

COSA

InConce

rt

Eastma

n

FLOWe

r

Domin

o

Meteo

r

Mobile

1 (seq)

+

+

+

+

+

+

+

+

2 (par-spl)

+

+

+

+

+

+

+

+

3 (synch)

+

+

+

+

+

+

+

+

4 (ex-ch)

+

+

+/-

+

+

+

+

+

5 (simple-

m)

+

+

+/-

+

+

+

+

+

6 (m-

choice)

-

+

+/-

+/-

-

+

+

+

7 (sync-m)

-

+/-

+

+

-

+

-

-

8 (multi-

m)

-

-

-

+

+/-

+/-

+

-

9 (disc)

-

-

-

+

+/-

-

+/-

+

10 (arb-c)

+

+

-

+

-

+

+

-

11 (impl-t)

+

-

+

+

-

+

-

-

12 (mi-no-

s)

-

+/-

-

+

+

+/-

+

-

13 (mi-dt)

+

+

+

+

+

+

+

+

14 (mi-rt)

-

-

-

-

+

-

-

-

15 (mi-no)

-

-

-

-

+

-

-

-

16 (def-c)

-

+

-

-

+/-

-

-

-

17 (int-

par)

-

+

-

-

+/-

-

-

+

18 (milest)

-

+

-

-

+/-

-

-

-

19 (can-a)

+

+

-

-

+/-

-

-

-

20 (can-c)

-

-

-

-

+/-

+

-

-

basic

adv.

synch.

mult.

inst.

state

cancel

struct.

background image

8

pattern

product

MQSerie

s

Fort

é

Verv

e

Vis.

WF

Changen

g.

I-

Flow

SAP/R

3

1 (seq)

+

+

+

+

+

+

+

2 (par-spl)

+

+

+

+

+

+

+

3 (synch)

+

+

+

+

+

+

+

4 (ex-ch)

+

+

+

+

+

+

+

5 (simple-

m)

+

+

+

+

+

+

+

6 (m-

choice)

+

+

+

+

+

+

+

7 (sync-m)

+

-

-

-

-

-

-

8 (multi-

m)

-

+

+

-

-

-

-

9 (disc)

-

+

+

-

+

-

+

10 (arb-c)

-

+

+

+/-

+

+

-

11 (impl-t)

+

-

-

-

-

-

-

12 (mi-no-

s)

-

+

+

+

-

+

-

13 (mi-dt)

+

+

+

+

+

+

+

14 (mi-rt)

+/-

-

-

-

-

-

+/-

15 (mi-no)

-

-

-

-

-

-

-

16 (def-c)

-

-

-

-

-

-

-

17 (int-

par)

-

-

-

-

-

-

-

18 (milest)

-

-

-

-

-

-

-

19 (can-a)

-

-

-

-

-

-

+

20 (can-c)

-

+

+

-

+

-

+

basic

adv.

synch.

mult.

inst.

state

cancel

struct.

background image

9

Categories of

patterns

• Basic Control Flow Patterns
• Advanced Branching and Synchronization

Patterns

• Structural Patterns
• Patterns involving Multiple Instances
• State-based Patterns
• Cancellation Patterns

background image

10

Basic Control Flow

Patterns

• Pattern 1 (Sequence)
• Pattern 2 (Parallel Split)
• Pattern 3 (Synchronization)
• Pattern 4 (Exclusive Choice)
• Pattern 5 (Simple Merge)

background image

11

Pattern 1 (Sequence)    

Description An activity in a workflow process is

enabled after the completion of another activity

in the same process.

Synonyms Sequential routing, serial routing.

A

B

background image

12

Pattern 2 (Parallel Split)    

Description A point in the workflow process

where a single thread of control splits into

multiple threads of control which can be

executed in parallel, thus allowing activities to

be executed simultaneously or in any order.

Synonyms AND-split, parallel routing, fork.

A

B

C

background image

13

Pattern 3 (Synchronization)    

Description A point in the workflow process

where multiple parallel subprocesses/activities

converge into one single thread of control, thus

synchronizing multiple threads. It is an

assumption of this pattern that each incoming

branch of a synchronizer is executed only once.

Synonyms AND-join, rendezvous, synchronizer.

D

B

C

background image

14

Pattern 4 (Exclusive Choice)    

Description A point in the workflow process

where, based on a decision or workflow control

data, one of several branches is chosen.

Synonyms XOR-split, conditional routing,

switch, decision.

A

B

C

background image

15

Pattern 5 (Simple Merge)    

Description A point in the workflow process

where two or more alternative branches come

together without synchronization. It is an

assumption of this pattern that none of the

alternative branches is ever executed in parallel.

Synonyms XOR-join, asynchronous join, merge.

D

B

C

background image

16

Advanced Branching and

Synchronization Patterns

• Pattern 6 (Multi-choice)
• Pattern 7 (Synchronizing Merge)
• Pattern 8 (Multi-merge)
• Pattern 9 (Discriminator)

background image

17

Pattern 6 (Multi-choice)    

Description A point in the workflow process

where, based on a decision or workflow control

data, a number of branches are chosen.

Synonyms Conditional routing, selection, OR-

split.

A

B

C

x<5

y>7

background image

18

A

B

C

y>7

AND

XOR

y<=7

x>=5

A

x>=5 & y<=7

B

XOR

B

C

AND

x<5 & y>7

x<5 & y<=7

x>=5 & y>7

C

XOR

background image

19

Pattern 7 (Synchronizing Merge)    

Description A point in the workflow process

where multiple paths converge into one single

thread. If more than one path is taken,

synchronization of the active threads needs to

take place. If only one path is taken, the

alternative branches should reconverge without

synchronization. It is an assumption of this

pattern that a branch that has already been

activated, cannot be activated again while the

merge is still waiting for other branches to

complete.

Synonyms Synchronizing join.

A

B

C

D

???

OR

(cf. MQSeries Workflow)

background image

20

Pattern 8 (Multi-merge)    

Description A point in a workflow process

where two or more branches reconverge without

synchronization. If more than one branch gets

activated, possibly concurrently, the activity

following the merge is started for every

activation of every incoming branch.

A

B

C

D

???

AND

(cf., non-safe Petri nets.)

background image

21

A

B

C

AND

D

E

Merge

A

B

C

AND

D

E

D

E

background image

22

Pattern 9 (Discriminator)    

Description The discriminator is a point in a

workflow process that waits for one of the

incoming branches to complete before activating

the subsequent activity. From that moment on it

waits for all remaining branches to complete and

“ignores” them. Once all incoming branches

have been triggered, it resets itself so that it can

be triggered again (which is important otherwise

it could not really be used in the context of a

loop).

background image

23

review1

review2

XOR

XOR

Disc.

AND

reject

accept

background image

24

Structural

Patterns

• Pattern 10 (Arbitrary Cycles)
• Pattern 11 (Implicit Termination)

background image

25

Pattern 10 (Arbitrary Cycles)    

Description A point in a workflow process

where one or more activities can be done

repeatedly.

Synonyms Loop, iteration, cycle.

background image

26

Pattern 11 (Implicit Termination)    

Description A given subprocess should be

terminated when there is nothing else to be

done. In other words, there are no active

activities in the workflow and no other activity

can be made active (and at the same time the

workflow is not in deadlock).

background image

27

Patterns involving Multiple

Instances

• Pattern 12 (Multiple Instances Without

Synchronization)

• Pattern 13 (Multiple Instances With a Priori Design

Time Knowledge)

• Pattern 14 (Multiple Instances With a Priori Runtime

Knowledge)

• Pattern 15 (Multiple Instances Without a Priori

Runtime Knowledge)

background image

28

Pattern 12 (Multiple Instances Without

Synchronization)    

Description Within the context of a single case

(i.e., workflow instance) multiple instances of an

activity can be created, i.e., there is a facility to

spawn off new threads of control. Each of these

threads of control is independent of other

threads. Moreover, there is no need to

synchronize these threads.

Synonyms Multi threading without

synchronization, Spawn off facility

background image

29

Merge

B

C

XOR

E

More instances needed

No more instances needed

AND

Task C: Determine
if more instances of B
are needed

background image

30

Pattern 13 (Multiple Instances With a Priori

Design Time Knowledge)    

Description For one process instance an

activity is enabled multiple times. The number of

instances of a given activity for a given process

instance is known at design time. Once all

instances are completed some other activity

needs to be started.

background image

31

Pattern 14 (Multiple Instances With a Priori

Runtime Knowledge)    

Description For one case an activity is enabled

multiple times. The number of instances of a

given activity for a given case varies and may

depend on characteristics of the case or

availability of resources, but is known at some

stage during runtime, before the instances of

that activity have to be created. Once all

instances are completed some other activity

needs to be started.

background image

32

Pattern 15 (Multiple Instances Without a Priori

Runtime Knowledge)    

Description For one case an activity is enabled

multiple times. The number of instances of a

given activity for a given case is not known

during design time, nor is it known at any stage

during runtime, before the instances of that

activity have to be created. Once all instances

are completed some other activity needs to be

started. The difference with Pattern 

14

is that

even while some of the instances are being

executed or already completed, new ones can be

created.

background image

33

State-based

Patterns

• Pattern 16 (Deferred Choice)
• Pattern 17 (Interleaved Parallel Routing)
• Pattern 18 (Milestone)

background image

34

Pattern 16 (Deferred Choice)    

Description A point in the workflow process

where one of several branches is chosen. In

contrast to the XOR-split, the choice is not made

explicitly (e.g. based on data or a decision) but

several alternatives are offered to the

environment. However, in contrast to the AND-

split, only one of the alternatives is executed.

This means that once the environment activates

one of the branches the other alternative

branches are withdrawn. It is important to note

that the choice is delayed until the processing in

one of the alternative branches is actually

started, i.e. the moment of choice is as late as

possible.

Synonyms External choice, implicit choice,

deferred XOR-split.

background image

35

c1

implicit XOR

split

B

C

c5

c6

D

c7

A

c2

Workflow A

c1

c3

CB

explicit XOR

split

B

C

c4

c5

c6

D

c7

CC

A

c2

Workflow B

background image

36

A

B

C

AND

D

Merge

A

cancel

cancel

Workflow A

Workflow B

XOR

E

D

Merge

B

C

background image

37

Pattern 17 (Interleaved Parallel Routing)    

Description A set of activities is executed in an

arbitrary order: Each activity in the set is

executed, the order is decided at run-time, and

no two activities are executed at the same

moment (i.e. no two activities are active for the

same workflow instance at the same time).

Synonyms Unordered sequence.

c1

c2

c3

A

B

c5

c7

c8

mutual

exclusion

place

c5

mutex

AND-split

AND-join

C

c4

c6

background image

38

Pattern 18 (Milestone)    

Description The enabling of an activity

depends on the case being in a specified state,

i.e. the activity is only enabled if a certain

milestone has been reached which did not

expire yet.

Synonyms Test arc, deadline, state condition,

withdraw message.

B

m

C

A

...

...

...

...

milestone

background image

39

c2

register

c3

c4

c5

send

questionnaire

time out

process

questionnaire

c6

processing

needed

evaluate

skip

c7

c9

c8

c10

c11

process

complaint

archive

OK

NOK

check

processing

c1

milestone

background image

40

Cancellation

Patterns

• Pattern 19 (Cancel Activity)
• Pattern 20 (Cancel Case)

background image

41

Pattern 19 (Cancel Activity)    

Description An enabled activity is disabled, i.e.

a thread waiting for the execution of an activity

is removed.

Synonyms Withdraw activity.

background image

42

Pattern 20 (Cancel Case)    

Description A case, i.e. workflow instance, is

removed completely (i.e., even if parts of the

process are instantiated multiple times, all

descendants are removed).

background image

43

Other

patterns

• Transactional patterns

– Groups of tasks commits/aborts
– Dependencies other than Complete-Release

• Case-handling patterns

– Data dependencies
– Redo/skip roles

• Inter-workflow patterns
• Resource allocation patterns
• Etc.


Document Outline


Wyszukiwarka

Podobne podstrony:
Overview of Exploration and Production
ConcRT Patterns and Practices
article expenditure patterns and timing of patent protection in a competitive R&D environment
We have the widest range of equipment and products worldwide
Bioactive extracts from Cistus ladanifer and Arbutus unedo L 2009 Industrial Crops and Products (2)
Cigarettes ?diction and Product?ngers
Overview of Exploration and Production
APress Php 5 Objects Patterns And Practice (2004)
Suggestions for Those With Restrictive Eating Patterns and o
Pagan Patterns and Designs by Eliza Fegley
API PUBL 2200 Repairing Crude oil LPG and Product Pipelines
Innovative Inventory and Production Management Techniques Chapter 16
article expenditure patterns and timing of patent protection in a competitive R&D environment
Ebsco Weinberger Low Anxious, High Anxious and Repressive Coping Styles Psychometric Patterns and

więcej podobnych podstron