Pattern TP1: Time Lags between two Activities
This pattern allows defining time lags between two activities; i.e., to express a minimum or maximum temporal distance between them.
C | Time lags only constrain the execution of activities | |
a | Single activity (including multi-instance activities) | |
D | There are three kinds of restrictions | |
a | Minimum value | |
b | Maximum value | |
c | Time interval [min … max] | |
E | Time lags define the distance between the | |
a | start of two activities (i.e., Start-Start relation) | |
b | start of the first and the completion of the second activity (i.e., Start-End) | |
c | completion of the first and the start of the second activity (i.e., End-Start) | |
d | completion of two activities (i.e., End-End) |
A time constraint is introduced between the start / end event of the two activities.
Timers can be used to realize this pattern at run-time. For example, to implement an end-start relation between activities A and B, the timer starts after completing A. If the time lag between A and B represents a minimal one, B must not be started before the timer has expired; i.e., the execution of activity B is delayed until the time lag is satisfied. If the time lag expresses a maximum distance, B may be started immediately, but has to be started latest when the timer expires. In case the timer expires an exception handling may be triggered. For time intervals both cases apply.
- The maximum time lag between discharging a patient from a hospital and sending out the discharge letter to the general practitioner treating the patient is 2 weeks (Design Choices D[b] E[d] )
- Patients must not eat at least 12 hours before a surgery takes place. The latest point in time at which the patient can have a meal is therefore determined by the date of the surgery (Design Choices D[a] E[c])
- The time lag between registering a Master thesis and submitting it must not exceed 6 months (Design Choices D[b] E[a] )
TP3 – Time Lags between Events; TP1 can be implemented based on pattern TP3
TP9 – Cyclic Elements; TP9 is an extension of TP1, considering cycles and iterations
Animation
Product Evaluation
We differentiate between supported, partially supported, not supported, and not specified.
If an evaluation object provides support for the particular pattern the supported design choices are listed. If the pattern is only partially supported (e.g., by a work-around) this is indicated by the additional label "*" and if support is not specified this is indicated by the label "?". Missing support is labeled with "-".
Product/Language | Version | Score | Motivation |
Microsoft Outlook | 2010 | — | No constraints on time lags between activities supported |
Sunbird | 1.0 | — | No constraints on time lags between activities supported |
Google Calendar | 12.2011 | — | No constraints on time lags between activities supported |
Microsoft Project | 2010 | D[a,b], E[a,b,c,d] | supported |
BPMN | 2.0 | D[a,b*,c*], E[c*] | partially supported |
IBM Websphere Integration Developer | 6.1 | D[b], E[c,d*] | partially supported; directly succeeding activities only |
WebSphere Lombardi Edition | 7.1 | D[a,b*], E[a*,b*,c,d*] | work-arounds are needed, not all combinations are supported |
AristaFlow | 1.0.1 | D[b], E[d*] | partially supported (with limits) |
Intalio | 6.0.3 | D[a,b*,c*], E[c] | |
TIBCO Business Studio | 3.4.2 | D[a,b*,c*], E[c] | supported |
Bettini et al. | D[a,b,c], E[a,b,c,d] | fully supported | |
Combi et al. | D[a,b,c], E[a,b,c,d] | supported | |
Eder et al. | D[a,b,c], E[d] | partially supported | |
Marjanovic et al. | D[a,b,c], F[a,b,c,d] | full support | |
Zhuge et al. | D[a,b,c], E[c*] | partially supported |