Business Process Library Q Business Process Management

Intermediate Event

From Q-BPM
Jump to: navigation, search

In BPMN, Intermediate Event is a modeling element that represents a point of time between a start event and end event of a process at which some matter occurs.

Contents

Overview of Intermediate Event

What are Events?
Matters that occur in a series of business processes. They affect the order and timings of activities. Evens are categorized into three shown below based on the timing of occurrence.
  • Start Event
  • Intermediate Event
  • End Event

In BPMN, Intermediate Event represents a point of time at which some matter occurs in a process being executed, i.e. an interval between the start of an individual process and its end. Thus, Intermediate Event itself does not start or terminate a process. Intermediate Event catches triggers (conditions or situations that cause events) or throws such triggers. In other words, Intermediate Event has characteristics of both Catch Event and Throw Event. However, it does not mean that all Intermediate Events have both of them. Intermediate Events are categorized into 10 patterns based on the timing at which they are used in a process and what kind of events are caught or thrown.


Primary Roles of Intermediate Event

  • Indicate a point of time at which messages are sent or received in a process
  • Indicate a point of time at which delays are expected in a process
  • Abort a normal flow by means of a exception handling, and then switch to an exceptional flow
  • Show that there is an ad-hoc task that is necessary for a compensation process

Details related to Intermediate Event

  • When used in a normal flow, it behaves as either Catch Event or Throw Event.
  • When used on boundaries of Activitys, it only behaves as Catch Event.
  • When used as Catch Event, the Token stays at the Event until the arrival of timing or a message that is defined as a trigger.
  • When used as Throw Event, it initiates, as soon as a Token arrives, an event, such as transmission of messages, and then the process proceeds to the next phase.

Notation for Intermediate Events

Figure 1-1: Horizontal Flowchart
Figure 1-1: Horizontal Flowchart
Figure 1-2: Vertical Flowchart
Figure 1-2: Vertical Flowchart

In general, Intermediate Event is represented as a circle drawn with double thin lines to be distinguished from Start Event and End Event. There are ten types, as shown below, in Intermediate Event. Different notations are used for each type of event (result) that occurs during the process execution. A marker of different shape is placed in the double-lined circle to distinguish the corresponding event from Intermediate Events of other types.

Unlike Start Event and End Event, Intermediate Event can be categorized as either Catch Event or Throw Event depending on the cases. In BPMN, markers of Intermediate Events that are classified as Catch Events are filled with white. On the other hand, markers of Intermediate Events that are classified as Throw Events are filled with black.

Notation of Exception Handling and Compensation Process

In general, an exception handling and a compensation process are represented with one Intermediate Event as shown in Figure 1 on the right. Both Figure 1-1 and Figure 1-2 are process diagrams that show that activity B is executed as the "exception handling" when an error occurs at activity A. In case the process diagram is to be horizontally drawn, it is usually drawn as shown in Figure 1-1. On the other hand, if the process diagram is to be vertically drawn, it is generally drawn as shown in Figure 1-2.

Connection to Boundary of Activity and Flow

  1. Connection to Boundary of Activity
    Intermediate Events other than ones of "None" type and "Link" type can be directly placed on boundaries of activities. It is also possible to place multiple events.
    * "Cancel" type Intermediate Events can be placed on boundaries of sub-processes.
  2. Connection to Sequence Flow
    (a)When Intermediate Events other than ones of "None" type and "Link" type are placed on boundaries of Activities:
    • They can not be subjects of Sequence Flows. In other words, incoming Sequence Flows are not connected to Intermediate Events.
    • They must be the only one origin of Sequence Flows. In other words, an outgoing Sequence Flow is connected to only one Intermediate Event.
    *Intermediate Events of "Compensation" type are not connected to outgoing Sequence Flows.
    (b) When Intermediate Events other than ones of "Cancel" type, "Error" type, and "Multiple" type are used in normal flows:
    • Intermediate Event of "None" type and "Compensation" type must be the only one subject of Sequence Flow. In other words, these Intermediate Events must be connected only one incoming Sequence Flow.
    • Intermediate Events of "Message" type, "Timer" type, "Conditional" type, "Link" type, and "Signal" type can be a subject of only one Sequence Flow. In other words, these Intermediate Events can be connected to only one incoming Sequence Flow.
    • Intermediate Events must be the only one origin of Sequence Flows. In other words, outgoing Sequence Flows are connected to only one Intermediate Event.
    * Intermediate Events of "Link" type do not require outgoing Sequence Flows.
    (c) When Intermediate Events of "Link" type are used as "Off-Page Connectors" or "Go To" objects:
    • It can not be the origin and subject of Sequence Flows at the same time. In other words, it can not be the Intermediate Event for both of the link source and link target at the same time.
    • When there exists one "Source" Intermediate Event, there must be the corresponding "Target" Intermediate Event (with the same name).
    • There can be multiple "Source" Intermediate Events corresponding to one "Target" Intermediate Event.
    • There can not be multiple "Target" Intermediate Events corresponding to one "Source" Intermediate Event.
  3. Connection to Message Flows
    Intermediate Events of "Message" type can be either origins or subjects of Message Flows. In other words, they can connect to incoming Message Flows as well as outgoing Message Flows. However, both can not be connected at the same time.

All Kinds of Intermediate Events

Triggers of EventDescriptionMarker
None This is used when the type of event is not shown. This is effective only in case of Intermediate Events in the main flow of process. In other words, Intermediate Events of this type never lead exceptional flows. This type indicates that some kind of event occurs in the middle of the process and that statuses or situations are changed owing to it. Image:none2.png
Message Events of this type are used in case of receiving messages from participants or sending messages to participants. Triggered by transmission or receipt of messages, these events affect the process. If they are waiting messages, they let the process continue. Upon exception handling, they play roles to switch from normal flows to exceptional flows.
  • In case of Catch Event, i.e. when it indicates "receipt of messages," a marker shown in the top figure on the right is used.
  • In case of Throw Event, i.e. when it indicates "transmission of messages," a marker shown in the bottom figure on the right is used.
Image:Message2.png
Image:Message3.png
Timer Timer is used when specific date and time or specific cycle, such as "at 9am every Monday" etc., can be used as a trigger of an event. If it is used in the main flow, it works as a "delaying mechanism" that suspends the process until the specific time or cycle is actually reached. In case it is used in exception handling, it plays a role to switch an normal flow into an exceptional flow when the specific time or cycle is actually reached. Image:Timer2.png
Error This is used to execute error handling. It catches errors that satisfy pre-defined conditions or errors that do not have such conditions and can occur under arbitrary conditions, and then it switches into the exceptional flow (for example, in case Transaction causes a hazard). It never is a part of a normal flow. It is always placed on boundaries of Activities. Image:Error2.png
Cancel This is used to execute a cancel process in Transaction. In a sub-process of Transaction, it receives "Cancel (unsuccessful termination)," then stops the execution of the Transaction, and plays a role to switch into the exceptional flow. It is always placed on boundaries of sub-processes. Cancel Intermediate Events are activated in the two cases shown below.
  1. In case a flow arrives at "Cancel End Event" in the sub-process of the Transaction.
  2. In case a "Cancel" message is received via the Transaction protocol during the execution of the Transaction
Image:Cancel2.png
Compensation This type is used when executing compensation processes. This is used to define and execute Compensation, which rollbacks the process into the state just before the execution of the Activity. It needs to be always placed on boundaries of Activities.
  • In case of Catch Event, i.e. it indicates "the execution of (pre-defined) Compensation," a marker in the top figure on the right is used.
  • In case of Throw Event, i.e. it indicates "to throw Compensation," a marker in the bottom figure on the right is used.

Concerning Activities in a normal flow, "Throw Event" type, which means that Compensation is required, is placed on the boundaries. "Compensation Activity" connected, with Association, to the corresponding event is executed, and thereby the original Activity receives Compensation. As for other Activities that terminate in Process Instances including all processes, from the highest-level processes to sub-processes, Compensation is broadly done in the order opposite to the order of termination.

Image:Compensation2.png
Image:Compensation3.png
Conditional This is used to define specific conditional expressions. When the defined conditional expression is evaluated as "true," it impacts the process. Image:Conditional2.png
Link This is used to create a loop environment in a process or to avoid lengthy Sequence Flows. This is used only in the same process level.
  • In case of Catch Event, i.e. it is an event that "receives a process from the link source," a marker in the top figure on the right is used.
  • In case of Throw Event, i.e. it is an event that "passes a process to the link target," a marker in the bottom figure on the right is used.

Link is a mechanism to connect two parts in a process but does not connect a parent process and a sub-process. Each of Source and Target has one Link Intermediate Event, and they are corresponding to each other. Paired Intermediate Events are also used as an Off-Page Connector to show the connection relationship in a process that is drawn over multiple pages. On the other hand, they are also used as a "Go To" object that elaborates a detailed process diagram in the same process. There can be multiple Sources, but Target must be only one.

Image:Link2.png
Image:Link3.png
Signal This is used when signals are sent or received during the process execution. When Intermediate Events of this type are used in a normal flow, they can catch and throw signals. However, when placed on boundaries of Activities, they can only catch signals.
  • In case of Catch Event, i.e. it is an event that "catches a signal," a marker in the top figure on the right is used.
  • In case of Throw Event, i.e. it is an event that "throws a signal," a marker in the bottom figure on the right is used.

Signals convey some contents. The origin of signals can be identified, but they are not sent to any specific receivers. This point differentiates signals from "messages," which have specific senders and receivers. In BPMN, signals can propagate within the same process level, among different process levels, across Pools, and among Business Flow Diagrams.

Image:Signal2.png
Image:Signal3.png
Multiple This is used when multiple triggers exist for a event that occur during the process execution. If it is used in a normal flow, this event can catch triggers or can throw triggers. However, if it is placed on boundaries of Activities, it only catches triggers.
  • In case of Catch Event, among multiple triggers specified, only one trigger is required. A marker used is shown in the top figure on the right.
  • In case of Throw Event, all specified triggers must be thrown just like Multiple End Event. A marker used is shown in the bottom figure on the right.
Image:Multiple2.png
Image:Multiple3.png

Changes from BPMN 1.0 Specification

Upon the transition from BPMN 1.0 specification to BPMN 1.1 specification, some changes are made in notation and names.

  • Regarding "Message" type, "Throw Event" type is newly added.
  • Design of a marker for "Error" type is changed so that it is drawn with extra-thick lines.
  • In "Cancel" type, "Throw Event" type is changed into "Catch Event" type.
  • Concerning "Compensation" type, "Catch Event" type is newly added.
  • In "Conditional" type, a name of a trigger is changed from "rule" to "condition."
  • Regarding "Link" type, "Catch Event" type is newly added.
  • A trigger named "Signal" is newly added in BPMN 1.1 specification.
  • The design of "Multiple" type is changed from "hexagram" to "pentagon." Furthermore, "Catch Event" type is newly added.

Related Articles

References

Toolbox
What links here
Related changes
Upload file
Special pages
Printable version
Permanent link
Questetra BPM Suite
Workflow Sample:Hints on Defining Workflows for Business Analysts and Managers.

Catetory
General nouns | Proper nouns | General-purpose business process | Core business process | Business process for support administration
Q-BPM This website was started by Questetra, Inc. for businesspeople all over the world, who are interested in BPM, but spend a great amount of time on the search of a lot of books, documents, and difficult terms. By saving the trouble of looking up a number of related terms or the time of searching documents, Questetra, Inc. hopes to contribute to businesspeople, interested in BPM, all over the world. Questetra Inc. Q-BPM exemplifies various Sample Processes regarding Business Flow in companies, and support Business Flow Diagram making. (* Business Flow Diagram: Business Flow Chart/Business Diagram/Business Process Diagram) This is Cloud-Source type information sending website that invites collaborators all over the world. In principle, contents in this website are public on the basis of the license called “CC-By SA,” which means “possible to copy under specific conditions.”

Powered by MediaWiki CreativeCommons By SA