Thursday, 23 May 2013 05:51

Pattern TP8: Time-dependent Variability

Depending on time aspects, in some processes different paths of the control flow may be chosen.

Also known as



Depending on temporal conditions the control flow may vary; e.g., different branches of a process are executed or different sub-process fragments are chosen.

Design Choices

C Time lags only constrain the execution of activities
a Single activity (including multi-instance activities)
J There are different time aspects which may be considered by an instance of this pattern
a Execution time of an activity instance
c Time lags between activities / events


Time-dependent variability can be achieved in different ways. The simplest approach is to explicitly capture the required variability in the process model by enumerating all possible options. Alternatively, techniques like late binding can be used to select appropriate activity implementations during run-time depending on temporal conditions. Both approaches realize the variability based on the execution time of the respective node (Design Choice J[a]). Finally, the Deferred Choice Workflow Pattern may be used in combination with triggers to achieve time-dependent variability based on time lags between activities (Design Choice J[b]).



The mechanism that evaluates the condition needs to be able to access any required data when determining which of the possible alternatives shall be chosen.


  • If no offer is received 7 days after having sent the request the request may be canceled (Design Choice J[b]).
  • When issuing a passport the processing usually takes 4-6 weeks. If the person needs the passport earlier than 4 weeks an interim passport can be issued (Design Choice J[a]).
  • A patient admitted to a hospital between 6 pm and 8 am is always assigned to the emergency unit (for the first night). If no threatening situation exists the following day the patient is transferred to a normal ward. Between 8 am and 6 pm, in turn, a patient is usually directly admitted to the ward unless there is an emergency (Design Choice J[a]).

Related Patterns


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 There is no control-flow
Sunbird 1.0 There is no control flow
Google Calendar 12.2011 There is no control-flow
Microsoft Project 2010 not supported
BPMN 2.0 J[a,b*] partially supported
IBM Websphere Integration Developer 6.1 J[a,b*] partially supported
WebSphere Lombardi Edition 7.1 J[a] partially supported
AristaFlow 1.0.1 J[a] partially supported
Intalio 6.0.3 J[a,b*] mainly supported
TIBCO Business Studio 3.4.2 J[a,b*] partially supported
Bettini et al. not supported (not discussed)
Combi et al. not discussed
Eder et al. not supported (not discussed)
Marjanovic et al. not supported
Zhuge et al. not discus
Read 1079 times

Involved Partners

andreaslanz 50


Andreas Lanz
University of Ulm, Institute of Databases and Information Systems



manfredreichert 50

Manfred Reichert
University of Ulm, Institute of Databases and Information Systems



barbaraweber 50

Barbara Weber
University of Innsbruck, Department of Computer Science


Get the Book!

book cover small

Important Publications

Lanz, A. and Weber, B. and Reichert, M. (2012) Time patterns for process-aware information systems.Requirements Engineering.


Lanz, A. and Weber, B. and Reichert, M. (2010) Workflow Time Patterns for Process-aware Information Systems. In: BPMDS'10.