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
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 -