Time Pattern TP5: Schedule Restricted Elements
Schedule Restricted Elements allow restricting the execution of a particular activity or process through a schedule; i.e., a timetable (e.g., a bus schedule).
Time Pattern TP5: Schedule Restricted Elements
Also known as
-
Problem
The execution of a particular activity or process is restricted by a schedule. This schedule provides restrictions on when the respective element may be executed, i.e., the schedule defines time slots in which the respective activity may be started or completed. Usually, the structure of the schedule is known at build-time, while the concrete date is set during run-time (i.e., at the process instance level). Schedules may contain exceptions (e.g., every year except leap years).
Design Choices
C | A schedule can be applied to different process granularities | |
a | Single activity (including multi-instance activities) | |
c | Process model | |
F | A schedule restrict four dates of an activity (process) | |
a | Earliest start date, | |
b | Latest start date, | |
c | Earliest completion date, | |
d | Latest completion date |
Solution
A schedule is attached to the respective activity or process.
A schedule restriction can be realized using a timer which is started at process instantiation time and expires at the first endpoint of one of the respective time slots (i.e., when entering or leaving a valid time frame of the particular schedule). The timer is then reset and its expiration date is set to the next endpoint of one of the time slots. This is repeated until the respective activity (process) has been started / completed (cf. Design Choice F) or no more valid time slots are available according to the schedule. Outside of a valid time slot the start of the respective activity (process) should be prevented by the system. If the completion of the respective activity (process) does not occur within a valid time slot or there is no longer a valid time slot available according to the schedule, exception handling is required.Context
The structure of the schedule needs to be known before the activity or process becomes available for execution.
Examples
- From Munich to Amsterdam there are flights at 6:05 am, 10:30 am, 12:25 pm, 5:35 pm and 8:40 pm (Design Choice C[a]).
- Comprehensive lab tests in a hospital can only be done from MO – FR between 8 am and 5 pm (Design Choices C[a])
Related Patterns
TP4 – Fixed Date Elements; Schedule Restricted Elements often become Fixed Date Elements when a certain element of the schedule gets selected
TP6 – Time-based Restrictions; Like Schedule Restricted Elements they constrain possible execution times
TP6 – Time-based Restrictions; Like Schedule Restricted Elements they constrain possible execution times
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 activity dates supported |
Sunbird | 1.0 | — | No constraints on activity dates supported |
Google Calendar | 12.2011 | — | No constraints on activity dates supported |
Microsoft Project | 2010 | C[a], F[a*,b*] | partially supported |
BPMN | 2.0 | — | not supported |
IBM Websphere Integration Developer | 6.1 | — | not supported |
WebSphere Lombardi Edition | 7.1 | C[a*,c*], F[a,b] | time table is only used for due date calculation and simulation |
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. | C[a], F[a,b] | partially supported | |
Eder et al. | C[a], F[c] | partially supported | |
Marjanovic et al. | — | not supported | |
Zhuge et al. | — | not supported |