<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=BPMN_2.0_Events</id>
	<title>BPMN 2.0 Events - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=BPMN_2.0_Events"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=BPMN_2.0_Events&amp;action=history"/>
	<updated>2026-05-02T20:22:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=BPMN_2.0_Events&amp;diff=24107&amp;oldid=prev</id>
		<title>Cesar Chew at 18:57, 25 November 2014</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=BPMN_2.0_Events&amp;diff=24107&amp;oldid=prev"/>
		<updated>2014-11-25T18:57:51Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;:Indented line&lt;br /&gt;
{{Cat|BPMN|40}}&lt;br /&gt;
&lt;br /&gt;
* An Event is something that “happens” during the course of a Process&lt;br /&gt;
* These Events affect the flow of the Process and usually have a cause or an impact. The term “event” is general enough to cover many things in a Process. &lt;br /&gt;
* The start of an Activity, the end of an Activity, the change of state of a document, a Message that arrives, etc., all could be considered Events&lt;br /&gt;
* However, BPMN has restricted the use of Events to include only those types of Events that will affect the sequence or timing of Activities of a Process.&lt;br /&gt;
&lt;br /&gt;
[[File:Element type dimension.png|400px]]&lt;br /&gt;
&lt;br /&gt;
== Start Event ==&lt;br /&gt;
[[File:Element start event.png|35px]]&lt;br /&gt;
* Indicates where a particular Process will start&lt;br /&gt;
* Does not have any incoming Sequence Flows&lt;br /&gt;
=== Tokens ===&lt;br /&gt;
* Token traverses the Sequence Flows and pass through the elements in the Process&lt;br /&gt;
* A token is a theoretical concept that is used as an aid to define the behavior of a Process that is being performed&lt;br /&gt;
* The behavior of Process elements can be defined by describing how they interact with a token as it “traverses” the structure of the Process.&lt;br /&gt;
* A token does NOT traverse a Message Flow&lt;br /&gt;
&lt;br /&gt;
=== Start Event Semantics ===&lt;br /&gt;
A Start Event is OPTIONAL:&lt;br /&gt;
** a Process level—a top-level Process&lt;br /&gt;
** a Sub-Process (embedded)&lt;br /&gt;
** Global Process (called Process)&lt;br /&gt;
MAY (is NOT REQUIRED to) have a Start Event.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If a Process is complex and/or the starting conditions are not obvious, then it is RECOMMENDED that a Start Event be used.&lt;br /&gt;
* If a Start Event is not used, then the implicit Start Event for the Process SHALL NOT have a trigger.&lt;br /&gt;
* If there is an End Event, then there MUST be at least one Start Event.&lt;br /&gt;
&lt;br /&gt;
=== Processes without start event ===&lt;br /&gt;
* All Flow Objects that do not have an incoming Sequence Flow (i.e., are not a target of a Sequence Flow) SHALL be instantiated when the Process is instantiated.&lt;br /&gt;
&lt;br /&gt;
{{Collapse|Exceptions from the rule|&lt;br /&gt;
Exceptions to this are:&lt;br /&gt;
* Compensation Activity (it has the Compensation marker). Compensation Activities are not considered a part of the normal flow and MUST NOT be instantiated when the Process is instantiated. &lt;br /&gt;
* Catching Link Intermediate Event, which is not allowed to have incoming Sequence Flows.&lt;br /&gt;
* Event Sub-Process, which is not allowed to have incoming Sequence Flows and will only be instantiated when its Start Event is triggered.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*If the Start Event is used, then there MUST NOT be other flow elements that do not have incoming Sequence Flow — all other Flow Objects MUST be a target of at least one Sequence Flow&lt;br /&gt;
&lt;br /&gt;
[[File:Start-event-must-not.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* Process without Start Event&lt;br /&gt;
&lt;br /&gt;
[[File:Process-without-start-event-1.png|200px]]&lt;br /&gt;
&lt;br /&gt;
[[File:Process-without-start-event2.png|200px]]&lt;br /&gt;
&lt;br /&gt;
* There MAY be multiple Start Events for a given Process level.&lt;br /&gt;
* Each Start Event is an independent Event. That is, a Process instance SHALL be generated when the Start&lt;br /&gt;
Event is triggered.&lt;br /&gt;
* When the trigger for a Start Event occurs, a new Process will be instantiated and a token will be generated for each outgoing Sequence Flow from that Event.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;signavio&amp;gt;942c12f4fbda4969b40edf511af85c77:980872bc391a92b1752e1a6e0e3e43ea99dcf438ade1a63fe3be54e4b3c7e_47eb94a7af2a458c15ecdac4087b83f38dee5ceb6e8b642675c9cc363c16b2_c355d371880b9f8bf2c826424da037469cb969ab1470af9cc78aa21f26cfa4&amp;lt;/signavio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Start Event Triggers ===&lt;br /&gt;
Start Events can be used for these types of Processes:&lt;br /&gt;
* Top-level Processes&lt;br /&gt;
* Sub-Processes (embedded)&lt;br /&gt;
* Global Process (called)&lt;br /&gt;
* Event Sub-Processes&lt;br /&gt;
&lt;br /&gt;
== Intermediate Events ==&lt;br /&gt;
[[File:Element intermediate events.png|35px]]&lt;br /&gt;
&lt;br /&gt;
* Indicates where something happens (an Event) somewhere between the start and end of a Process&lt;br /&gt;
* It will affect the flow of the Process, but will not start or (directly) terminate the Process.&lt;br /&gt;
&lt;br /&gt;
Intermediate Events can be used to:&lt;br /&gt;
* Show where Messages are expected or sent within the Process,&lt;br /&gt;
* Show delays are expected within the Process&lt;br /&gt;
* Disrupt the normal flow through exception handling&lt;br /&gt;
* Show the extra work needed for compensation.&lt;br /&gt;
&lt;br /&gt;
=== Compensation Handling ===&lt;br /&gt;
*Multi-Instance&lt;br /&gt;
&lt;br /&gt;
[[File:Element_multiple_instances_parallel.png|100px]]&lt;br /&gt;
&lt;br /&gt;
*Loop&lt;br /&gt;
&lt;br /&gt;
[[File:Element_activity_looping.png|100px]]&lt;br /&gt;
&lt;br /&gt;
*Ad-hoc&lt;br /&gt;
&lt;br /&gt;
[[File:Figure10-35-collapsed-ad-hoc-sub-process.png|100px]]&lt;br /&gt;
&lt;br /&gt;
*Compensation&lt;br /&gt;
&lt;br /&gt;
[[File:Element_compensation_association.png|200px]]&lt;br /&gt;
&lt;br /&gt;
=== Throw and Catch ===&lt;br /&gt;
When a token arrives at an Intermediate Event that is placed within the normal flow of a Process, one of two things will happen:&lt;br /&gt;
* For &amp;#039;&amp;#039;&amp;#039;throw&amp;#039;&amp;#039;&amp;#039; Event&lt;br /&gt;
** trigger of the Event will immediately occur (e.g., the Message will be sent) &lt;br /&gt;
** the token will move down the outgoing Sequence Flow&lt;br /&gt;
* For &amp;#039;&amp;#039;&amp;#039;catch&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
** the token will remain at the Event until the trigger occurs (e.g., the Message is received)&lt;br /&gt;
** then the token will move down the outgoing Sequence Flow&lt;br /&gt;
&lt;br /&gt;
=== Types of Intermediate Events ===&lt;br /&gt;
TODO: Create Icon for each 12 intermediate event (Compensation, Timer, Signal etc..)&lt;br /&gt;
&lt;br /&gt;
== End Event ==&lt;br /&gt;
[[File:Element end event.png|35px]]&lt;br /&gt;
* End Event indicates where a Process will end&lt;br /&gt;
* In terms of Sequence Flows, the End Event ends the flow of the Process, and thus, will not have any outgoing Sequence Flows&lt;br /&gt;
* The End Event shares the same basic shape of the Start Event and Intermediate Event, a circle with an open center so that markers can be placed within the circle to indicate variations of the Event.&lt;br /&gt;
&lt;br /&gt;
=== End Event and Token ===&lt;br /&gt;
* End Event consumes a token that had been generated from a Start Event within the same level of Process&lt;br /&gt;
* If parallel Sequence Flows targets the End Event, then the tokens will be consumed as they arrive&lt;br /&gt;
** All the tokens that were generated within the Process MUST be consumed by an End Event before the Process has been completed&lt;br /&gt;
&lt;br /&gt;
* In &amp;#039;&amp;#039;&amp;#039;exception flow&amp;#039;&amp;#039;&amp;#039; , if the Process is a Sub-Process, it can be stopped prior to normal completion through interrupting Intermediate Events&lt;br /&gt;
** In this situation the tokens will be consumed by an Intermediate Event attached to the boundary of the Sub-Process.&lt;br /&gt;
&lt;br /&gt;
[[File:Element exception flow.png|200px]]&lt;br /&gt;
&lt;br /&gt;
=== End Event Semantics ===&lt;br /&gt;
* There MAY be multiple End Events within a single level of a Process.&lt;br /&gt;
&lt;br /&gt;
* An End Event is OPTIONAL: a given Process level—a Process or an expanded Sub-Process—MAY (is NOT REQUIRED to) have this shape:&lt;br /&gt;
** If an End Event is not used, then the implicit End Event for the Process SHALL NOT have a Result.&lt;br /&gt;
** If there is a Start Event, then there MUST be at least one End Event.&lt;br /&gt;
** If the End Event is not used, then all Flow Objects that do not have any outgoing Sequence Flow (i.e., are not a source of a Sequence Flow) mark the end of a path in the Process&lt;br /&gt;
** However, the Process MUST NOT end until all parallel paths have completed&lt;br /&gt;
&lt;br /&gt;
* For Processes without an End Event, a token entering a path-ending Flow Object will be consumed after completion of the Flow Object&lt;br /&gt;
* When all tokens for a given instance of the Process are consumed, then the Process will reach a state of being completed&lt;/div&gt;</summary>
		<author><name>Cesar Chew</name></author>
	</entry>
</feed>