BPMN 2.0 FTF Avatar
  1. OMG Issue

BPMN2 — Beta 1: Section 10.4.5 Handling Events: When does the interrupting Event Sub-Process cancel its Parent?

  • Key: BPMN2-169
  • Legacy Issue Number: 14723
  • Status: closed  
  • Source: BPM Advantage Consulting ( Dr. Stephen White)
  • Summary:

    In this section there is the following text: "They execute synchronously and after their completion, the hosting Activity is immediately canceled."

    This means that the parent process will continue work while the Event SP is active, which could be a long time. If the triggering Event is an error, this doesn't make much sense. Note that the Execution Semantics section doesn't specify when the parent activity is terminated.

    ------------------------------ Proposal ---------------- 2009-04-15 -------------------------------------

    Modify text so that it states that the activity of the parent Process is terminated when the interrupting Event SP is triggered

  • Reported: BPMN 2.0b1 — Fri, 20 Nov 2009 05:00 GMT
  • Disposition: Resolved — BPMN 2.0
  • Disposition Summary:

    (a) * Section 10.4.6, p.257
    Original: "They execute synchronously and after their completion, the hosting Activity is immediately terminated."
    Replace: "They interrupt normal execution of the parent Activity and after their completion, the parent Activity is immediately terminated."
    (b) * Section 10.4.6, p.257
    Original: "The same restrictions apply for boundary Events."
    Append: "The same restrictions apply for boundary Events. During execution of a non-interrupting Event Sub-Process, execution of the parent Activity continues as
    normal."
    (c) * Section 10.4.6, p.258
    Original: "Whenever the Event occurs, regardless of whether the Event is handled inline or on the boundary, the associated Activity is canceled."
    Replace: "Whenever the Event occurs, regardless of whether the Event is handled inline or on the boundary, the associated Activity is interrupted."
    (d) * Section 10.4.6, p.258
    Original: "If a boundary Error Event is present, Sequence Flow from that boundary Event is then followed."
    Append: "If a boundary Error Event is present, Sequence Flow from that boundary Event is then followed. The parent Activity is canceled after either the error handler
    completes or Sequence Flow from the boundary Event is followed."
    (e) * Section 14.2.2, p.392
    Original: Figure 14.2, missing addt'l states Failing and Terminating
    Replace: Figure 14.2, added states Failing and Terminating
    (f) * Section 14.2.2, p.393
    Original: N/A
    Append: below bullet "• If an Activity's execution ends without anomalies, the Activity's state changes to Completing. [...]" --> the following text: "• An Activity's
    execution is interrupted if an interrupting Event is raised (such as an Error) or if an interrupting Event Sub Process is initiated, In this case, the Activity's state changes to
    Failing (in case of an Error) or Terminating (in case any other interrupting Event). All nested activities that are not in Ready, Active or a final state (Completed,
    Compensated, Failed, etc.) and non-interrupting Event Sub-Processes are terminated. The data context of the Activity is preserved in case an interrupting Event Sub-
    Process is invoked. The data context is released after the Event Sub-Process reaches a final state."
    (g) * Section 14.4.4, p.404
    Original:
    "• A non-interrupting Event Sub-Process becomes initiated, and thus Enabled and Running, through the Activity to which it is attached. The non-interrupting Event
    Handler may only be initiated after the parent Activity is Running. More than one non-interrupting Event Handler may be initiated and they may be initiated at different
    times. There might be multiple instances of the non-interrupting Event Handler at a time.
    • An Event Sub-Process completes when all tokens have reached an End Event, like any other Sub-Process. If the parent Activity enters the state Completing, it
    remains in that state until all contained active Event Sub-Processes have completed. While the parent Activity is in that Completing, no new Event Sub-Processes can
    be initiated."
    Replace:
    "•An Event Sub-Process becomes initiated, and thus Enabled and Running, through the Activity to which it is attached. The Event Handler may only be initiated after
    the parent Activity is Running.
    • More than one non-interrupting Event Handler may be initiated and they may be initiated at different times. There might be multiple instances of the non-interrupting
    Event Handler at a time.
    • Only one interrupting Event Handler may be initiated for a given Event Definition within the context of the parent Activity. Once the interrupting Event Handler is
    started, the parent Activity is interrupted and no new Event Handlers can be initiated or started.An Event Sub-Process completes when all tokens have reached an End
    Event, like any other Sub-Process. If the parent Activity enters the state Completing, it remains in that state until all contained active Event Sub-Processes have
    completed. While the parent Activity is in that Completing, no new Event Sub-Processes can be initiated.
    • If an interrupting Event Sub-Process is started by an Error, then the parent Activity enters the state Failing and remains in this state until the interrupting Event Handler
    reaches a final state. During this time, the running Event Handler can access to the context of the parent Activity. However, no new Event Handlers may be started.
    • Similarly, if an interrupting Event Sub-Process is started by a Non Error (e.g., Escalation), then the parent Activity enters the state Terminating and remains in this
    state until the interrupting Event Handler reaches a final state. During this time, the running Event Handler can access to the context of the parent Activity. However, no
    new Event Handlers may be started."
    Disposition: Resolved

  • Updated: Fri, 6 Mar 2015 20:57 GMT