TIBCO Business Studio 3.4.2
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,c], B[a] | +/- | partially supported | |||
| A | Parameters of a pattern may be set at | a | build-time | + | supported | |
| b | instantiation time | - | not supported | |||
| c | run-time | + | supported | |||
| B | Time parameters can be specified in different time granularities | a | Basic | + | supported | |
| b | System-defined | - | not supported | |||
| c | User-defined | - | not supported | |||
| TP1 | Time Lags between two Activities | D[a,b*,c*], E[c*] | +/- | supported | ||
| D | There are three kinds of restrictions | a | Minimum value | + | supported | |
| 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 succeding activities 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-Interupting 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-arounds) | ||
| D | There are three kinds of restrictions | a | Minimum value | + | Intermediate Timer Event between two Events | |
| b | Maximum value | +/- | can be realized using signaling events | |||
| c | Time interval | +/- | can be realized combining a and b | |||
| TP4 | Fixed Date Elements | C[a,c*], F[a,b*,d] | + | mainly supported | ||
| C | Patterns can be applied to different process elements | a | Single activity | + | supported | |
| c | Process model | +/- | supported, only earliest start date and latest completion date | |||
| F | Patterns can restrict three dates of a process artifact | a | Earliest start date | + | supported (be carefull if the fixed date is before the timer is activated) | |
| b | Latest start date | +/- | can be realized using deferred choice (be carefull if the fixed date is before the timer is activated) | |||
| c | Earliest completion date | - | not supported | |||
| d | Latest completion date | + | Non-Interupting 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 signaling 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 suported | |||
| 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] | +/- | 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 realation 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 | - | ||||