There are timer start events and timer intermediate events. Timer start events instantiate processes and start event subprocesses (only BPMN 1.x). As soon as a timer start event is triggered at the beginning of a process, a process instance is created. As soon as a timer start event is triggered at the beginning of an event, the event subprocess is started. If this is an interrupting event, the associated subprocess is canceled.
Timer intermediate events can be used in the sequence flow and at the activity border. They delay processes or cancel activities. With timer events in the sequence flow, incoming process folders wait until the timer event is triggered and are then forwarded. With timer events at the activity border, a process folder is forwarded through the outgoing exception flow as soon as the event is triggered and if the activity is active in that moment. If the timer event is an interrupting event, the activity is canceled.
The Timer event is triggered when the defined date (Time date attribute) or the defined cycle (Time cycle attribute), or the defined duration (Time duration attribute; BPMN 1.x only) is reached. With timer start events at the beginning of the process, the statements on process instantiation apply, as well.
The attributes mentioned above are mutually exclusive. If one of them is defined, a timer start event behaves as follows:
If the Time date attribute has been defined, a process instance is created. If no start time has been defined for the cycle, the start time of the simulation is used instead. (The input value expected is a recurring time interval according to ISO 8601.)
If the Time cycle attribute has been defined, a process instance is created at the end of each interval. If no start time has been defined for the cycle, the start time of the simulation is used instead. (The input value expected is a recurring time interval according to ISO 8601.)
If the Time duration attribute has been defined, a process instance is created as soon as the run time has expired. The start time of the simulation is used as the start time for the run time. (The input value expected is a time interval according to ISO 8601.)