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
CA schedule can be applied to different process granularities
 aSingle activity (including multi-instance activities)
 cProcess model
FA schedule restrict four dates of an activity (process)
 aEarliest start date,
 bLatest start date,
 cEarliest completion date,
 dLatest completion date
Solution
Schedule Restricted Element

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

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