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.

Time Pattern TP6: Time-based Restrictions
Also known as
A particular variant of this pattern is often referred to as "Mutual Exclusion"
Problem
A particular activity or process may only be executed a limited number of times (has to be executed at least a certain number of times) within a given time frame.
Design Choices
GTime-based restrictions can be applied to different types of process granularities
 aInstances of a single activity or a group of activities in the context of the same process instance
 bInstances of a single activity or a group of activities in the context of different process instances
 cInstances of a process or a group of processes
HThere are two kinds of restrictions
 aMinimum number of executions
 bMaximum number of executions
IThere are two types of restrictions which can be expressed
 aNumber of concurrent executions (at the same time / with overlapping time frames)
 bNumber of executions per time period
Solution
Mutual Exclusion

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).

Time-based Restriction
Context
The minimum / maximum number of executions needs to be known to the observer before any of the respective activities or processes is started.
Examples
  • 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])
Related Patterns
TP5 – Schedule Restricted Elements; While the execution time of a Schedule Restricted Element is constrained by a schedule, Time-based Restrictions constrain the number of activity instances per time period.

Animation

View 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