This pattern allows defining time lags between two activities; i.e., to express a minimum or maximum temporal distance between them.
Also known as
–
Problem
A time lag between two discrete events needs to be obeyed. Respective events occur, for example, when instantiating or completing a process instance, when reaching a milestone in a process instance, or when triggering specific events inside an activity.
Design Choices
D | There are three kinds of restrictions | |
a | Minimum value | |
b | Maximum value | |
c | Time interval [min … max] |
Solution
A time constraint is introduced between two events.
Again timers can be used to realize this pattern at run-time (cf. TP1). Additionally, an observer, monitoring external events and notifying the time management component, is required.
Context
The mechanism evaluating the constraint (i.e., starting the timer) needs to be able to access the value of the time lag prior to its activation (i.e., the occurrence of the start event) in order to start the respective timer.
Examples
- The time lag between the delivery of all parts (milestone) and the assembly of the car’s chassis (milestone) should be no more than 2 hours (e.g. just-in-time production) (Design Choices D[b]).
- The time lag between two heavy maintenance visits of an aircraft is 4-5 years (Design Choice D[c])
Related Patterns
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 events supported |
Sunbird | 1.0 | — | No events supported |
Google Calendar | 12.2011 | — | No events supported |
Microsoft Project | 2010 | — | not supported |
BPMN | 2.0 | D[a,b*,c*] | mainly supported (through work-around) |
IBM Websphere Integration Developer | 6.1 | — | not supported |
MQ Workflow | 3.4? | No support of Events | |
WebSphere Lombardi Edition | 7.1 | D[a*] | partially supported |
AristaFlow | 1.0.1 | — | No event concept |
Intalio | 6.0.3 | D[a] | not supported |
TIBCO Business Studio | 3.4.2 | D[a,b*,c*] | mainly supported (through work-arounds) |
Bettini et al. | D[a,b,c] | fully supported | |
Combi et al. | D[a*,b*,c*] | Time Lags are only supported between events an the events of an activity not between arbitrary events. | |
Eder et al. | — | not supported | |
Marjanovic et al. | — | Events are not supported | |
Zhuge et al. | — | events are not supported |