タイマー開始イベントとタイマー中間イベントがあります。タイマー開始イベントは、プロセス インスタンスを生成し、イベントのサブプロセスを開始します (BPMN 1.x のみ)。プロセスの開始時にタイマー開始イベントがトリガーされるとすぐにプロセス インスタンスが生成されます。イベントの開始時にタイマー開始イベントがトリガーされるとすぐにイベントのサブプロセスが開始されます。これが中断イベントである場合は、関連するサブプロセスがキャンセルされます。
タイマー中間イベントは、シーケンス フローやアクティビティの境界で使用できます。これらは、プロセスを遅らせるか、アクティビティをキャンセルします。シーケンス フローにタイマー イベントがあった場合、入力プロセス フォルダーはタイマー イベントがトリガーされるまで待ってから転送されます。アクティビティの境界にタイマー イベントがあった場合、イベントがトリガーされたときにアクティビティがアクティブであれば、すぐにプロセス フォルダーが出力例外フロー経由で転送されます。タイマー イベントが中断イベントである場合は、アクティビティがキャンセルされます。
[Timer] イベントは、定義済みの日付 ([Time date] 属性) または定義済みの周期 ([Time cycle] 属性) に達するか、定義済みの持続期間 ([Time duration] 属性、BPMN 1.x のみ) に達するとトリガーされます。プロセスの先頭にタイマー開始イベントがあった場合、プロセス インスタンスの生成のステートメントも適用されます。
前述の属性は相互に排他的です。1 つを定義した場合、タイマー開始イベントは次のように動作します。
[Time date] 属性を定義した場合、プロセス インスタンスが生成されます。周期の開始時間が定義されていない場合は、シミュレーションの開始時間が使用されます。予期される入力値は、ISO 8601 に従った、繰り返すインターバルです。
[Time cycle] 属性を定義した場合、各インターバルの終了時にプロセス インスタンスが生成されます。周期の開始時間が定義されていない場合は、シミュレーションの開始時間が使用されます。予期される入力値は、ISO 8601 に従った、繰り返すインターバルです。
[Time duration] 属性を定義した場合、実行時間が経過するとプロセス インスタンスが生成されます。シミュレーションの開始時間が、実行時間の開始時間として使用されます。予期される入力値は、ISO 8601 に従ったインターバルです。