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.

Time Pattern TP1: Time Lags between two Activities
Also known as
Upper and Lower Bound Constraints, Inter-Task Constraints, Temporal Relations
Problem
There is a time lag between two activities to be obeyed. Such Time Lags may not only be defined between directly succeeding activities, but also between arbitrary ones (presuming that the activities may belong to the same process instance).
Design Choices
CTime lags only constrain the execution of activities
 aSingle activity (including multi-instance activities)
DThere are three kinds of restrictions
 aMinimum value
 bMaximum value
 cTime interval [min … max]
ETime lags define the distance between the
 astart of two activities (i.e., Start-Start relation)
 bstart of the first and the completion of the second activity (i.e., Start-End)
 ccompletion of the first and the start of the second activity (i.e., End-Start)
 dcompletion of two activities (i.e., End-End)
Solution
Time Lags between Activities

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.

Context
The mechanism evaluating the constraint (i.e., starting the timer) needs to be able to access the value of the time lag when starting the timer.
Examples
  • 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] )
Related Patterns
TP2 – Durations
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