Time Pattern TP6: Time-based Restrictions
Sometimes, it becomes necessary to restrict the number of times a particular activity or process may be executed within a predefined time frame. Additionally, Time-based Restrictions are often required to express the influence of resource restrictions (e.g. resource shortage) on process execution.
G | Time-based restrictions can be applied to different types of process granularities | |
a | Instances of a single activity or a group of activities in the context of the same process instance | |
b | Instances of a single activity or a group of activities in the context of different process instances | |
c | Instances of a process or a 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 | |
a | Number of concurrent executions (at the same time / with overlapping time frames) | |
b | Number of executions per time period |
To implement this pattern a constraint expressing a particular time-based restriction is associated with the activities (processes) affected by this restriction. Additionally, the constraint specifies the respective time period and the number of executions.
During run-time an observer can be used to monitor the number of running instances per time period and to raise an exception in case the maximum (minimum) number of executions is exceeded (fallen short of).
- Several examinations for a particular patient are performed within a limited timeframe; Thereby, it has to be ensured that the patient is not x-rayed several times (Design Choices G[b] H[c] I[b]).
- For USD 19.90 ten different e-books can be read per month. If the e-book tokens are consumed no more books can be read in the current month. At the beginning of the next month the book tokens get renewed (Design Choices G[a] H[b] I[b]).
- For a specific lab test at least 5 different blood samples have to be taken within 24 hrs (Design Choices G[c] H[a] I[a])
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 relations between activites supported, no constraints on activity dates supported |
Sunbird | 1.0 | — | No relations between activites supported, no constraints on activity dates supported |
Google Calendar | 12.2011 | — | No relations between activites supported, no constraints on activity dates supported |
Microsoft Project | 2010 | G[a], H[b], I[a*] | partially supported |
BPMN | 2.0 | — | not supported |
IBM Websphere Integration Developer | 6.1 | — | not supported |
WebSphere Lombardi Edition | 7.1 | — | not supported |
AristaFlow | 1.0.1 | — | not supported |
Intalio | 6.0.3 | — | not supported |
TIBCO Business Studio | 3.4.2 | — | not supported |
Bettini et al. | — | not supported | |
Combi et al. | — | not supported | |
Eder et al. | — | not supported | |
Marjanovic et al. | — | not supported | |
Zhuge et al. | — | not supported |