BPMN 2.0
Evaluation
Ratings can take the form '+' which indicates that a particular tool or language provides direct support for the pattern involved, '+/-' which indicates that some limitations exists regaring direct support, and '-' which indicates that no direct support is provided. If support is not specified this is indicated by the label '0'.
Pattern | Design Choice | Score | Comment | |||
System-specific Design Choices | A[a,b?,c], B[a?,b?,c?] | +/- | may be supported but is not fully specified (i.e., implementation specific) | |||
A | Parameters of a pattern may be set at | a | build-time | + | supported | |
b | instantiation time | 0 | not specified | |||
c | run-time | + | supported | |||
B | Time parameters can be specified in different time granularities | a | Basic | 0 | not specified | |
b | System-defined | 0 | not specified | |||
c | User-defined | 0 | not specified | |||
TP1 | Time Lags between two Activities | D[a,b*,c*], E[c*] | +/- | partially supported | ||
D | There are three kinds of restrictions | a | Minimum value | + | supported, Timer Event on control flow | |
b | Maximum value | +/- | can be realized using deferred choice | |||
c | Time interval | +/- | can be realized by combining a and b | |||
E | Time lags can be realized based on four different time relations | a | Start-Start | - | not possible to determine the start time of an activity | |
b | Start-End | - | not possible to determine the start time of an activity | |||
c | End-Start | +/- | supported for succeeding activites only | |||
d | End-End | - | can be realized using signaling events, but this solution is to complex | |||
TP2 | Durations | C[a,c*], D[b] | +/- | partially supported | ||
C | Patterns can be applied to different process elements | a | Single activity | + | supported | |
b | Activity set | - | not supported | |||
c | Process model | +/- | wrap the whole process, then treat it like an activity | |||
d | Set of process instances | - | not supported | |||
D | There are three kinds of restrictions | a | Minimum value | - | not supported | |
b | Maximum value | + | Non-Interrupting Intermediate-Timer-Event attached to an Activity | |||
c | Time interval | - | not supported | |||
TP3 | Time Lags between Arbitrary Events | D[a,b*,c*] | +/- | mainly supported (through work-around) | ||
D | There are three kinds of restrictions | a | Minimum value | + | Intermediate Timer Event between two Events | |
b | Maximum value | +/- | can be realized using deferred choice | |||
c | Time interval | +/- | can be realized combining a and b | |||
TP4 | Fixed Date Elements | C[a,b*], F[a,b?,d] | + | mainly supported | ||
C | Patterns can be applied to different process elements | a | Single activity | + | supported | |
c | Process model | +/- | partially supported | |||
F | Patterns can restrict three dates of a process artifact | a | Earliest start date | + | supported (be careful if the fixed date is before the timer is activated) | |
b | Latest start date | 0 | can be realized using deferred choice (be careful if the fixed date is before the timer is activated) | |||
c | Earliest completion date | - | Parallel Timer Event and a set of signalling events, but this solution is to complex | |||
d | Latest completion date | + | Non-Interrupting Intermediate-Timer-Event attached to an Activity or Sub-process | |||
TP5 | Schedule Restricted Element | — | - | not supported | ||
C | Patterns can be applied to different process elements | a | Single activity | - | Can be realized using a very complex construction with several signalling and timer events inside a sub-process. But this is to complex to be considered as supported. | |
c | Process model | - | ||||
F | Patterns can restrict three dates of a process artifact | a | Earliest start date | - | ||
b | Latest start date | - | ||||
c | Earliest completion date | - | ||||
d | Latest completion date | - | ||||
TP6 | Time Based Restrictions | — | - | not supported | ||
G | Time Based Restrictions can be applied to different types of process artifacts | a | activities within same process instance | - | ||
b | activities within different process instances | - | ||||
c | Instances of a process or group of processes | - | ||||
H | There are two kinds of restrictions | a | Minimum number of executions | - | ||
b | Maximum number of executions | - | ||||
I | There are two types of restrictions which can be expressed by Time Based Restrictions | a | Number of concurrent executions | - | ||
b | Number of executions per time period | - | ||||
TP7 | Validity Period | — | - | not supported | ||
C | Patterns can be applied to different process elements | a | Single activity | - | not supported | |
c | Process model | - | not supported | |||
F | Patterns can restrict three dates of a process artifact | a | Earliest start date | - | not supported | |
b | Latest start date | - | might be possible using a deferred choice with a intermediate timer event. But depends on the implementation of timer events (do they fire if the respective time has already passed?) | |||
c | Earliest completion date | - | not supported | |||
d | Latest completion date | - | might be possible by attaching a timer event to the activity (see b, for details) | |||
TP8 | Time Dependent Variability | J[a,b*] | +/- | partially supported | ||
J | There are different time aspects which may be considered by an instance of this pattern | a | Execution time of an activity / process instance | + | Event based XOR | |
b | Time lags between activities / events | +/- | partially possible using Event based XOR | |||
TP9 | Cyclic Elements | D[a*], E[c*], K[a], L[a,b] | +/- | partially supported (with limits) | ||
D | There are three kinds of restrictions | a | Minimum value | +/- | Timer on the Sequence Flow connecting the iterations. This limits the minimum time lag between the iterations but not between the activities inside the iterations. | |
b | Maximum value | - | not supported | |||
c | Time interval | - | not supported | |||
E | Time Lags can be realized based on four different time relations | a | Start-Start | - | not supported | |
b | Start-End | - | not supported | |||
c | End-Start | +/- | supported, not really a relation between activities but between iterations | |||
d | End-End | - | not supported | |||
K | Cyclic Elements may restrict the time lag between | a | two directly succeeding iterations | + | supported | |
b | two subsequent activity instances belonging to arbitrary iterations | - | not supported | |||
L | Time Lag between cycles | a | is fixed | + | supported | |
b | may vary | + | supported | |||
TP10 | Periodicity | — | - | not supported | ||
M | The Number of cycles is | a | fixed / dynamic number of iterations | - | ||
b | depends on time lag and end date | - | ||||
c | depends on exit condition | - |