
PETROV / Russel, N., et al. Workflow Control-Flow Patterns. A Revised View
.pdfPattern |
Score |
Motivation |
|
41 |
(tm) |
+ |
Supported by including a weighted edge after the MI |
|
|
|
activity to any subsequent activity. |
|
|
|
|
42 |
(ts) |
+ |
Supported by linking multiple outgoing arcs from an |
|
|
|
activity (one for each execution thread required) to |
|
|
|
a MergeNode which then directs the various initiated |
|
|
|
threads of control down the same branch. |
|
|
|
|
43 |
(exp-t) |
+ |
Supported via the ActivityFinalNode construct. |
131
NEPCs
In this evaluation we use the semantics suggested by the ARIS Toolset 6.2 (e.g., the simulator).
Pattern |
Score |
Motivation |
|
1 |
(seq) |
+ |
Directly supported, i.e., events can be used to connect |
|
|
|
functions in a sequence. |
|
|
|
|
2 |
(par-spl) |
+ |
Supported by the AND-split connector. |
3 |
(synch) |
+ |
Supported by the AND-join connector. |
4 |
(ex-ch) |
+ |
Supported by the OR-split connector. However, no |
|
|
|
language is given to describe the conditions for taking |
|
|
|
a branch. |
5 |
(simple-m) |
+ |
Supported by the XOR-join connector. |
6 |
(m-choice) |
+ |
Supported by the OR-split connector. |
7 |
(s-sync-m) |
+ |
Supported by the OR-join connector. However, as de- |
|
|
|
scribed in [Kin06], the OR-join connector creates a |
|
|
|
paradox when combined with loops (i.e. the \vicious |
|
|
|
circle"). The desirable semantics would be to wait un- |
|
|
|
til no new folder can reach the OR-join. However, one |
|
|
|
connector may depend on the other and vice versa. |
|
|
|
The ARIS simulator uses a rather odd solution for |
|
|
|
this dilemma: the OR-join connector has a time-out |
|
|
|
mechanism attached to it. The join waits for a pre- |
|
|
|
speci¯ed time and then consumes all folders that are |
|
|
|
there. |
|
|
|
|
8 |
(multi-m) |
{ |
Not supported. When using an XOR-join connector |
|
|
|
only one incoming folder is expected. Most papers |
|
|
|
and books on EPCs state that the XOR-join should |
|
|
|
block if multiple folders arrive. However, the ARIS |
|
|
|
simulator implements this in a slightly di®erent way. |
|
|
|
If multiple folder arrive at exactly the same time, they |
|
|
|
are ignored. Otherwise, each folder is passed on. |
|
|
|
|
9 |
(s-disc) |
{ |
Not supported as there is no notion of ignoring subse- |
|
|
|
quent folders and then resetting. |
|
|
|
|
10 (arb-c) |
+ |
Directly supported as there are no limitations on the |
|
|
|
|
graph structure. |
|
|
|
|
11 (impl-t) |
+ |
Directly supported. Note that there may be many end |
|
|
|
|
events and only if no element is enabled for a given |
|
|
|
instance does the instance terminate. |
|
|
|
|
12 (mi-no-s) |
{ |
This is not supported. There is no explicit notion |
|
|
|
|
of instances and there is no notation for inter-process |
|
|
|
connections. |
|
|
|
|
13 (mi-dt) |
{ |
Not supported. The only way to realize this is by |
|
|
|
|
making copies and putting them in parallel. |
14 (mi-rt) |
{ |
Not supported. |
|
15 (mi-no) |
{ |
Not supported. |
132
Pattern |
Score |
Motivation |
|
16 |
(def-c) |
{ |
Not supported. The split and join connectors are exe- |
|
|
|
cuted when they become enabled. Therefore, an XOR- |
|
|
|
split makes an immediate decision and this choice can- |
|
|
|
not be deferred. |
|
|
|
|
17 |
(int-par) |
{ |
Not supported. |
18 |
(milest) |
{ |
Not supported. Although EPCs contain events, it is |
|
|
|
not possible to check states and act accordingly. |
|
|
|
|
19 |
(can-a) |
{ |
Not supported. There is no cancellation feature. |
20 |
(can-c) |
{ |
Not supported. |
21 |
(str-l) |
{ |
Not supported. There are only arbitrary cycles. |
22 |
(recur) |
{ |
Not supported. |
23 |
(t-trig) |
{ |
Not supported. |
24 |
(p-trig) |
+/{ |
EPCs allow for multiple input events and these could |
|
|
|
be interpreted as persistent triggers. However, since |
|
|
|
it is not possible to di®erentiate between the creation |
|
|
|
of an instances and subsequent events and there is no |
|
|
|
implementation of this concept, we rate this as partial |
|
|
|
support. |
|
|
|
|
25 |
(can-r) |
{ |
Not supported. There is no cancellation feature. |
26 |
(can-mi) |
{ |
Not supported. |
27 |
(comp-mi) |
{ |
Not supported. |
28 |
(b-disc) |
{ |
Not supported. |
29 |
(c-disc) |
{ |
Not supported. |
30 |
(s-pjoin) |
{ |
Not supported. |
31 |
(b-pjoin) |
{ |
Not supported. |
32 |
(c-pjoin) |
{ |
Not supported. |
33 |
(g-and-join) |
+/{ |
Most papers and books on EPCs assume that joins |
|
|
|
block if multiple folders arrive. However, the ARIS |
|
|
|
simulator implements this more like in a Petri net. |
|
|
|
|
34 |
(st-pjoin-mi) |
{ |
Not supported. |
35 |
(c-pjoin-mi) |
{ |
Not supported. |
36 |
(dyn-pjoin-mi) |
{ |
Not supported. |
37 |
(a-sync-m) |
+ |
See pattern 7. The language allows for this. How- |
|
|
|
ever, we know of no work°ow management systems |
|
|
|
that implement this. Note that the ARIS simulator |
|
|
|
uses a rather odd solution: the OR-join connector has |
|
|
|
a time-out mechanism attached to OR-joins, i.e., the |
|
|
|
join waits for a pre-speci¯ed time and then consumes |
|
|
|
all folders that are pending. |
38 |
(g-sync-m) |
{ |
See pattern 7. The language allows for this. How- |
|
|
|
ever, we know of no work°ow management systems |
|
|
|
that implement this. Note that the ARIS simulator |
|
|
|
uses a rather odd solution: the OR-join connector has |
|
|
|
a time-out mechanism attached to OR-joins, i.e., the |
|
|
|
join waits for a pre-speci¯ed time and then consumes |
|
|
|
all folders that are pending. |
133
Pattern |
Score |
Motivation |
|
39 |
(crit-sec) |
{ |
Not supported. There is no way to create a kind of |
|
|
|
mutual exclusion state. |
|
|
|
|
40 |
(int-rout) |
{ |
Not supported. |
41 |
(tm) |
{ |
Not supported. It is impossible to merge a speci¯ed |
|
|
|
number of threads into one. |
|
|
|
|
42 |
(ts) |
{ |
Not supported. It is impossible to merge a speci¯ed |
|
|
|
number of threads into one. |
|
|
|
|
43 |
(exp-t) |
{ |
Process instances complete only when no remaining |
|
|
|
element are enabled. |
134