Workflow Patterns
Struktura
Workflow Patterns
Basic Control Patterns
Advanced Branching
and Synchronization Patterns
Structural Patterns
Patterns Involving
Multiple Instances
State-based patterns
Cancellation Patterns
Sequence
Synchronizing Merge
Multiple Choice
Parallel Split
Synchronization
Exclusive Choice
Simple Merge
Multiple Merge
Discriminator
N-out-of-M Join
Arbitrary Cycles
Implicit Termination
MI without synchronization
MI with a priori known
design time knowledge
MI with a priori known
runtime knowledge
MI with no a priori
runtime knowledge
Deferred Choice
Milestone
Interleaved
Parallel Routing
Cancel Activity Cancel Case
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
1
Basic
Control
Patterns
Sequence
Czynności wykonywane są
sekwencyjnie.
2
Parallel Split
Podział wątku procesu na inne,
wykonywane równolegle.
3
Synchronization Synchroniczne połączenie
równolegle wykonywanych
wątków procesu w jeden.
4
Exclusive
Choice
Wybór jednego wątku do
wykonania (podział XOR).
5
Simple Merge
Asynchroniczne połączenie
alternatywnych wątków procesu
w jeden.
Workflow Patterns
Sequence
Obiekty:
Activity
Sequence Flow
Charakterystyka:
Po zakończeniu czynności
rozpoczyna się kolejna
Kierunek przepływu
określany jest przez
połączenia między
elementami (Sequence Flow)
Token przekazywany jest od
czynności zakończonej do
kolejnej
Przejścia są bezwarunkowe
A
B
C
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
1
Basic
Control
Patterns
Sequence
Czynności wykonywane są
sekwencyjnie.
2
Parallel Split
Podział wątku procesu na inne,
wykonywane równolegle.
3
Synchronization Synchroniczne połączenie
równolegle wykonywanych
wątków procesu w jeden.
4
Exclusive
Choice
Wybór jednego wątku do
wykonania (podział XOR).
5
Simple Merge
Asynchroniczne połączenie
alternatywnych wątków procesu
w jeden.
Workflow Patterns
Paralell Split, Mechanizm I
Obiekty notacji:
Activity
Paralell Gateway
Sequence Flow
Charakterystyka:
Istnieje N równoległych
ścieżek (N>=2)
Token przekazywany jest do
każdej równoległej ścieżki
Przejścia są bezwarunkowe
„best practice”
A
B
C
+
A
B
C
Workflow Patterns
Paralell Split, Mechanizm II
Obiekty:
Activity
Sequence Flow
Charakterystyka:
Istnieje N równoległych
ścieżek (N>=2)
Token przekazywany jest do
każdej równoległej ścieżki
Przejścia są bezwarunkowe
A
B
C
Workflow Patterns
Paralell Split, Mechanizm III
Obiekty:
Activity
Sequence Flow
Sub-Process
Charakterystyka:
Process (Sub-Process) zawiera
czynności nie generowane
przez Start Event
Czynności te rozpoczynają się
w momencie rozpoczęcia
procesu
Token przekazywany jest do
każdej z tych czynności
A
B
C
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
1
Basic
Control
Patterns
Sequence
Czynności wykonywane są
sekwencyjnie.
2
Parallel Split
Podział wątku procesu na inne,
wykonywane równolegle.
3
Synchronization Synchroniczne połączenie
równolegle wykonywanych
wątków procesu w jeden.
4
Exclusive
Choice
Wybór jednego wątku do
wykonania (podział XOR).
5
Simple Merge
Asynchroniczne połączenie
alternatywnych wątków procesu
w jeden.
Obiekty:
Activity
Sequence Flow
Parallel Gateway
Charakterystyka:
Token każdej równoległej
ścieżki po dotarciu do Parallel
Gateway przekazywany jest
dalej
Połączenie ścieżek jest
zsynchronizowane
C
A
B
+
Workflow Patterns
Synchronization, Mechanizm I
Workflow Patterns
Synchronization, Mechanizm II
Obiekty:
Activity
Sequence Flow
Sub-Process
Charakterystyka:
Process (Sub-Process) zawiera
czynności nie ograniczone
przez End Event
Zakończenie procesu
synchronizuje zakończenie
wszystkich czynności procesu
Po zakończeniu procesu Token
przekazywany jest dalej
C
A
B
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
1
Basic
Control
Patterns
Sequence
Czynności wykonywane są
sekwencyjnie.
2
Parallel Split
Podział wątku procesu na inne,
wykonywane równolegle.
3
Synchronization Synchroniczne połączenie
równolegle wykonywanych
wątków procesu w jeden.
4
Exclusive
Choice
Wybór jednego wątku do
wykonania (podział XOR).
5
Simple Merge
Asynchroniczne połączenie
alternatywnych wątków procesu
w jeden.
Workflow Patterns
Exclusive Choice
Obiekty:
Activity
Sequence Flow
Exclusive Gateway
Charakterystyka:
Istnieje N alternatywnych
ścieżek (N>=2)
Wybrana może zostać tylko
jedna
Token przekazywany jest do
wybranej ścieżki
A
B
C
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
1
Basic
Control
Patterns
Sequence
Czynności wykonywane są
sekwencyjnie.
2
Parallel Split
Podział wątku procesu na inne,
wykonywane równolegle
(jednocześnie).
3
Synchronization Synchroniczne połączenie
równolegle wykonywanych
wątków procesu w jeden.
4
Exclusive
Choice
Wybór jednego wątku do
wykonania (podział XOR).
5
Simple Merge
Asynchroniczne połączenie
alternatywnych wątków procesu
w jeden.
Workflow Patterns
Simple Merge, Mechanizm I
Obiekty:
Activity
Sequence Flow
Exclusive Gateway
Charakterystyka:
Token jednej z N (N>=2)
alternatywnych ścieżek
przekazywany jest dalej
Połączenie alternatywnych
ścieżek nie jest opatrzone
warunkiem (ścieżki
wygenerowane przez
Exclusive Choice –
oczekiwany jest jeden Token)
C
A
B
Workflow Patterns
Simple Merge, Mechanizm II
Obiekty:
Activity
Sequence Flow
Charakterystyka:
Token jednej z N (N>=2)
alternatywnych ścieżek
przekazywany jest dalej
Połączenie alternatywnych
ścieżek nie jest warunkowe
(wygenerowane przez Exclusive
Choice – oczekiwany jest jeden
Token)
Jeśli oczekiwany jest więcej niż
jeden Token, Exclusive Gateway
zadziała jak Discriminator
C
A
B
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
6
Advanced
Branching
and
Synchroniza
tion
Patterns
Multiple Choice
Dowolny wybór wątków procesu
do wykonania.
7
Synchronizing
Merge
Synchroniczne połączenie
równoległych wątków procesu w
jeden.
8
Multiple Merge
Dowolne połączenie
równoległych lub alternatywnych
wątków procesu w jeden.
9
Discriminator
Przebieg procesu kontynuowany
jest według wątku, który
pierwszy pojawi się w „punkcie
kontrolnym”.
10
N-out-of-M Join
Synchroniczne połączenie M
równoległych wątków procesu w
N.
Workflow Patterns
Multiple Choice, Mechanizm I
Obiekty:
Activity
Conditional Sequence Flow
Default Sequence Flow
Charakterystyka:
Istnieje N możliwych ścieżek
(N>=2)
N ścieżek może zostać
wybranych
Przejście do wybranych
ścieżek jest opatrzone
warunkiem
Token przekazywany jest do
każdej wybranej ścieżki
Przynajmniej jedna ścieżka
musi zostać wybrana
A
B
C
Workflow Patterns
Multiple Choice, Mechanizm II
Obiekty:
Activity
Inclusive Gateway
Sequence Flow
Charakterystyka:
Istnieje N możliwych ścieżek
(N>=2)
N ścieżek może zostać
wybranych
Przejście do wybranych
ścieżek jest warunkowe
Token przekazywany jest do
każdej wybranej ścieżki
Przynajmniej jedna ścieżka
musi zostać wybrana
A
B
C
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
6
Advanced
Branching
and
Synchroniza
tion
Patterns
Multiple Choice
Dowolny wybór wątków procesu
do wykonania.
7
Synchronizing
Merge
Synchroniczne połączenie
równoległych wątków procesu w
jeden.
8
Multiple Merge
Dowolne połączenie
równoległych lub alternatywnych
wątków procesu w jeden.
9
Discriminator
Przebieg procesu kontynuowany
jest według wątku, który
pierwszy pojawi się w „punkcie
kontrolnym”.
10
N-out-of-M Join
Synchroniczne połączenie M
równoległych wątków procesu w
N.
Workflow Patterns
Synchronizing Merge
Obiekty:
Activity
Sequence Flow
Inclusive Gateway
Charakterystyka:
Inclusive Gateway łączy N
równoległych ścieżek (N>=2)
Token przekazywany jest
dalej przez Inclusive Gateway
w momencie odebranie
Tokenów ze wszystkich
ścieżek
C
A
B
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
6
Advanced
Branching
and
Synchroniza
tion
Patterns
Multiple Choice
Dowolny wybór wątków procesu
do wykonania.
7
Synchronizing
Merge
Synchroniczne połączenie
równoległych wątków procesu w
jeden.
8
Multiple Merge
Dowolne połączenie
równoległych lub alternatywnych
wątków procesu w jeden.
9
Discriminator
Przebieg procesu kontynuowany
jest według wątku, który
pierwszy pojawi się w „punkcie
kontrolnym”.
10
N-out-of-M Join
Synchroniczne połączenie M
równoległych wątków procesu w
N.
Workflow Patterns
Multiple Merge
Obiekty:
Activity
Sequence Flow
Charakterystyka:
Połączenie N równoległych
ścieżek (N>=2)
D
B
C
A
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
6
Advanced
Branching
and
Synchroniza
tion
Patterns
Multiple Choice
Dowolny wybór wątków procesu
do wykonania.
7
Synchronizing
Merge
Synchroniczne połączenie
równoległych wątków procesu w
jeden.
8
Multiple Merge
Dowolne połączenie
równoległych lub alternatywnych
wątków procesu w jeden.
9
Discriminator
Przebieg procesu kontynuowany
jest według wątku, który
pierwszy pojawi się w „punkcie
kontrolnym”.
10
N-out-of-M Join
Synchroniczne połączenie M
równoległych wątków procesu w
N.
Workflow Patterns
Discriminator
Obiekty:
Activity
Sequence Flow
Exclusive Gateway
Charakterystyka:
Połączenie N równoległych
ścieżek (N>=2)
Pierwszy Token, który dotrze
do Exclusive Gateway jest
przekazywany dalej
Exclusive Gateway może
synchronizować wątki
D
B
C
A
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
6
Advanced
Branching
and
Synchroniza
tion
Patterns
Multiple Choice
Dowolny wybór wątków procesu
do wykonania.
7
Synchronizing
Merge
Synchroniczne połączenie
równoległych wątków procesu w
jeden.
8
Multiple Merge
Dowolne połączenie
równoległych lub alternatywnych
wątków procesu w jeden.
9
Discriminator
Przebieg procesu kontynuowany
jest według wątku, który
pierwszy pojawi się w „punkcie
kontrolnym”.
10
N-out-of-M Join
Synchroniczne połączenie M
równoległych wątków procesu w
N.
Workflow Patterns
N out of M join
Obiekty:
Activity
Sequence Flow
Complex Gateway
Charakterystyka:
Połączenie N równoległych
wątków (N>=2)
Projektant określa liczbę
Tokenów, które po dotarciu
do Complex Gateway
umożliwią kontynuowanie
procesu
C
B1
B2
A
B3
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
11
Structural
Patterns
Arbitrary Cycles Powtarzanie w pętli części
procesu.
12
Implicit
Termination
Czynności i ich zakończenie w
procesie są od siebie zależne.
13 Patterns
Involving
Multiple
Instances
MI without
synchronization
Niesynchroniczne instancje
czynności
14
MI with a priori
know design
time knowledge
Czynność wykonywana jest
określoną przed rozpoczęciem
procesu liczbę razy.
15
MI with a priori
know runtime
knowledge
Czynność wykonywana jest
określoną w trakcie wykonywania
procesu liczbę razy.
16
MI with no a
priori runtime
knowledge
Czynność wykonywana jest
określoną przez inną czynność
procesu liczbę razy.
Workflow Patterns
Arbitrary Cycles
Obiekty:
Activity
Sequence Flow
Exclusive Choice
Inclusive Choice
C
E
B
+
A
D
+
Charakterystyka:
Części procesu lub
cały proces mogą być
powtarzane
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
11
Structural
Patterns
Arbitrary Cycles Powtarzanie w pętli części
procesu.
12
Implicit
Termination
Czynności i ich zakończenie w
procesie są od siebie zależne.
13 Patterns
Involving
Multiple
Instances
MI without
synchronization
Niesynchroniczne instancje
czynności
14
MI with a priori
know design
time knowledge
Czynność wykonywana jest
określoną przed rozpoczęciem
procesu liczbę razy.
15
MI with a priori
know runtime
knowledge
Czynność wykonywana jest
określoną w trakcie wykonywania
procesu liczbę razy.
16
MI with no a
priori runtime
knowledge
Czynność wykonywana jest
określoną przez inną czynność
procesu liczbę razy.
Workflow Patterns
Implicit Termination
Obiekty:
Activity
Sequence Flow
Start Event
End Event
Charakterystyka:
N równoległych wątków
wykonuje się jednocześnie
(N>=2)
Zakończenie co najmniej
jednego wątku może
zakończyć wykonywanie
całego procesu
C
B
C
A
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
11 Structural
Patterns
Arbitrary Cycles Powtarzanie w pętli części
procesu.
12
Implicit
Termination
Czynności i ich zakończenie w
procesie są od siebie zależne.
13
Patterns
Involving
Multiple
Instances
MI without
synchronization
Niesynchroniczne instancje
czynności
14
MI with a priori
know design
time knowledge
Czynność wykonywana jest
określoną przed rozpoczęciem
procesu liczbę razy.
15
MI with a priori
know runtime
knowledge
Czynność wykonywana jest
określoną w trakcie wykonywania
procesu liczbę razy.
16
MI with no a
priori runtime
knowledge
Czynność wykonywana jest
określoną przez inną czynność
procesu liczbę razy.
Workflow Patterns
MI without synchronization
Obiekty:
Activity
Sequence Flow
Multiple Activity
Charakterystyka:
Kolejne powoływane instancje
czynności są od siebie
niezależne
Kolejność powoływanych
instancji nie ma wpływu na
sposób wykonywania procesu
B
II
A
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
11 Structural
Patterns
Arbitrary Cycles Powtarzanie w pętli części
procesu.
12
Implicit
Termination
Czynności i ich zakończenie w
procesie są od siebie zależne.
13
Patterns
Involving
Multiple
Instances
MI without
synchronization
Niesynchroniczne instancje
czynności
14
MI with a priori
know design
time knowledge
Czynność wykonywana jest
określoną przed rozpoczęciem
procesu liczbę razy.
15
MI with a priori
know runtime
knowledge
Czynność wykonywana jest
określoną w trakcie wykonywania
procesu liczbę razy.
16
MI with no a
priori runtime
knowledge
Czynność wykonywana jest
określoną przez inną czynność
procesu liczbę razy.
Workflow Patterns
MI with a priori known design time knowledge
Obiekty:
Activity
Multiple Activity
Sequence Flow
Charakterystyka:
Instancja czynności może być
powołań wielokrotnie
Liczba powołań instancji
określana jest przez
projektanta
B
II
A
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
11 Structural
Patterns
Arbitrary Cycles Powtarzanie w pętli części
procesu.
12
Implicit
Termination
Czynności i ich zakończenie w
procesie są od siebie zależne.
13
Patterns
Involving
Multiple
Instances
MI without
synchronization
Niesynchroniczne instancje
czynności
14
MI with a priori
know design
time knowledge
Czynność wykonywana jest
określoną przed rozpoczęciem
procesu liczbę razy.
15
MI with a priori
know runtime
knowledge
Czynność wykonywana jest
określoną w trakcie wykonywania
procesu liczbę razy.
16
MI with no a
priori runtime
knowledge
Czynność wykonywana jest
określoną przez inną czynność
procesu liczbę razy.
Workflow Patterns
MI with a priori known runtime knowledge
Obiekty:
Activity
Exclusive Gateway
Sequence Flow
Charakterystyka:
Instancja czynności może być
powołań wielokrotnie
Liczba powołań instancji
określana jest podczas
wykonywania procesu
B
A
C
Workflow Patterns
Nr
.
Kategoria
Nazwa
Opis
11 Structural
Patterns
Arbitrary Cycles Powtarzanie w pętli części
procesu.
12
Implicit
Termination
Czynności i ich zakończenie w
procesie są od siebie zależne.
13
Patterns
Involving
Multiple
Instances
MI without
synchronization
Niesynchroniczne instancje
czynności
14
MI with a priori
know design
time knowledge
Czynność wykonywana jest
określoną przed rozpoczęciem
procesu liczbę razy.
15
MI with a priori
know runtime
knowledge
Czynność wykonywana jest
określoną w trakcie wykonywania
procesu liczbę razy.
16
MI with no a
priori runtime
knowledge
Czynność wykonywana jest
określoną przez inną czynność
procesu liczbę razy.
Workflow Patterns
MI with no a priori runtime knowledge
Obiekty:
Activity
Multiple Activity
Sequence Flow
Exclusive Gateway
Charakterystyka:
Instancja czynności może być
powołań wielokrotnie
Liczba powołań instancji
określana jest w momencie
powoływania instancji
B
A
C
Workflow Patterns
Nr Kategoria
Nazwa
Opis
17
State-Based
Patterns
Deferred Choice Wybór jednego wątku do
wykonania (podział na podstawie
przebiegu procesu).
18
Interleaved
Parallel Routing
Czynności wykonywane są
nierównolegle, w określonym
porządku, porządek ustalany jest
w trakcie wykonywania procesu.
19
Milestone
Kamień milowy
20 Cancellatio
n Patterns
Cancel Activity
Zakończenie czynności.
21
Cancel Case
Zakończenie procesu
Workflow Patterns
Deferred Choice
Obiekty:
Activity
Sequence Flow
Message
Exclusive Gateways
Charakterystyka:
Istnieje N alternatywnych
ścieżek (N>=2)
Wybrana może być tylko
jedna
Decyzja o wyborze ścieżki
generowana jest podczas
wykonywania procesu
A
B
C
Workflow Patterns
Nr Kategoria
Nazwa
Opis
17
State-Based
Patterns
Deferred Choice Wybór jednego wątku do
wykonania (podział na podstawie
przebiegu procesu).
18
Interleaved
Parallel Routing
Czynności wykonywane są
nierównolegle, w określonym
porządku, porządek ustalany jest
w trakcie wykonywania procesu.
19
Milestone
Kamień milowy
20 Cancellatio
n Patterns
Cancel Activity
Zakończenie czynności.
21
Cancel Case
Zakończenie procesu
Workflow Patterns
Interleaved Parallel Routing
Obiekty:
Activity
Sequence Flow
Ad-Hoc Sub-Process
Charakterystyka:
Czynności wykonywane są w
określonym porządku
W danej chwili wykonywana
jest jedna czynności
Kolejność wykonywania
określana jest w trakcie
wykonywania procesu
C
A
B
~
Workflow Patterns
Nr Kategoria
Nazwa
Opis
17
State-Based
Patterns
Deferred Choice Wybór jednego wątku do
wykonania (podział na podstawie
przebiegu procesu).
18
Interleaved
Parallel Routing
Czynności wykonywane są
nierównolegle, w określonym
porządku, porządek ustalany jest
w trakcie wykonywania procesu.
19
Milestone
Kamień milowy
20 Cancellatio
n Patterns
Cancel Activity
Zakończenie czynności.
21
Cancel Case
Zakończenie procesu
Workflow Patterns
Milestone
Obiekty:
Activitiy
Sequence Flow
Sub-Process
End Event
Link
Charakterystyka:
Zakończenie danej czynności
lub spełnienie określonego
warunku (kamień milowy)
powoduje przejście do
odpowiedniej części procesu
D
B
C
A
Workflow Patterns
Nr Kategoria
Nazwa
Opis
17 State-Based
Patterns
Deferred Choice Wybór jednego wątku do
wykonania (podział na podstawie
przebiegu procesu).
18
Interleaved
Parallel Routing
Czynności wykonywane są
nierównolegle, w określonym
porządku, porządek ustalany jest
w trakcie wykonywania procesu.
19
Milestone
Kamień milowy
20
Cancellatio
n Patterns
Cancel Activity
Zakończenie czynności.
21
Cancel Case
Zakończenie procesu
Workflow Patterns
Cancel Activity
Obiekty:
Activity
Sequence Flow
End Event
Error
Charakterystyka:
Czynności wykonywane są
jednocześnie
Zakończenie jednej z
czynności powoduje
przerwanie innej
C
A
B
Workflow Patterns
Nr Kategoria
Nazwa
Opis
17 State-Based
Patterns
Deferred Choice Wybór jednego wątku do
wykonania (podział na podstawie
przebiegu procesu).
18
Interleaved
Parallel Routing
Czynności wykonywane są
nierównolegle, w określonym
porządku, porządek ustalany jest
w trakcie wykonywania procesu.
19
Milestone
Kamień milowy
20
Cancellatio
n Patterns
Cancel Activity
Zakończenie czynności.
21
Cancel Case
Zakończenie procesu
Workflow Patterns
Cancel Case
Obiekty:
Activity
Sequence Flow
Ad-Hoc Sub-Process
End Event
Error
Charakterystyka:
Czynności wykonywane są
jednocześnie (równoległe
ścieżki)
Zakończenie jednej z czynności
powoduje przerwanie
wykonywania zbioru czynności
(Sub-Process)
C
A
B
D