<?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_Analysts</id>
	<title>BPMN 2.0 Analysts - 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_Analysts"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=BPMN_2.0_Analysts&amp;action=history"/>
	<updated>2026-04-12T17:53:30Z</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_Analysts&amp;diff=71384&amp;oldid=prev</id>
		<title>Fstachecki: /* Signal Events⌘ */</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=BPMN_2.0_Analysts&amp;diff=71384&amp;oldid=prev"/>
		<updated>2019-04-25T08:48:40Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Signal Events⌘&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:BPMN for Analysts|B02]]&lt;br /&gt;
&lt;br /&gt;
==Parallel Event-Based Gateway⌘==&lt;br /&gt;
&lt;br /&gt;
[[File:ParallelEventBasedGateway.png]]&lt;br /&gt;
*All events must occur before a process can start&lt;br /&gt;
&lt;br /&gt;
[[File:ParallelEventBasedGatewayExample.png]]&lt;br /&gt;
&lt;br /&gt;
==Complex Gateway⌘==&lt;br /&gt;
&lt;br /&gt;
[[File:ComplexGateway.png]]&lt;br /&gt;
*The Complex Gateway can be used to model complex synchronization behavior&lt;br /&gt;
* For example, it could specify that tokens on three out of five incoming Sequence Flows are needed to activate the Gateway.&lt;br /&gt;
&lt;br /&gt;
[[File:ComplexGatewayExample.png]]&lt;br /&gt;
&lt;br /&gt;
==Data Modeling⌘==&lt;br /&gt;
* Data modeling is used to describe physical or information items that are created, manipulated, and used during the execution of a Process.&lt;br /&gt;
* Data can be modeled using: Data Objects, Data Inputs, Data Outputs, Data Stores, Data Associations, ....&lt;br /&gt;
===Data Objects⌘===&lt;br /&gt;
[[File:BPMNDataObject.png]]&lt;br /&gt;
* The primary construct for modeling data within the Process flow.&lt;br /&gt;
* Data Associations are used to move data between Data Objects.&lt;br /&gt;
* Tokens do not flow along a Data Association.&lt;br /&gt;
&lt;br /&gt;
===Data Input, Data Output⌘===&lt;br /&gt;
[[File:BPMNDataObjectInOut.png]]&lt;br /&gt;
&lt;br /&gt;
* Activities and Processes often need data in order to execute. &lt;br /&gt;
* In addition they can produce data during or as a result of execution.&lt;br /&gt;
* Data requirements are captured as Data Inputs. &lt;br /&gt;
* Data that is produced is captured using Data Outputs.&lt;br /&gt;
&lt;br /&gt;
===Data Store⌘===&lt;br /&gt;
[[File:BPMNDataStore.png]][[File:DataStoreAndAssociations.png]]&lt;br /&gt;
* A DataStore provides a mechanism for Activities to get or update stored information that will persist beyond the scope of the Process.&lt;br /&gt;
* Represents a single unit of information (e.g. database record)&lt;br /&gt;
&lt;br /&gt;
==Link Events⌘==&lt;br /&gt;
* A Link is a mechanism for connecting two sections of a Process.&lt;br /&gt;
* Link Events can be used to avoid long Sequence Flow lines.&lt;br /&gt;
* The use of Link Events is limited to a single Process level (i.e., they cannot link a parent Process with a Sub-Process or one pool to another pool).&lt;br /&gt;
* There can be multiple source Link Events, but there can only be one target Link Event.&lt;br /&gt;
[[File:LinkEvents.png]]&lt;br /&gt;
===Link Events Example ⌘===&lt;br /&gt;
[[File:LinkEventsExample.png]]&lt;br /&gt;
===Link Events as Off-Page Connector⌘===&lt;br /&gt;
[[File:ClipCapIt-151001-142717.PNG]]&lt;br /&gt;
&lt;br /&gt;
==Conditional Events ⌘==&lt;br /&gt;
* Is triggered when a condition such as &amp;quot;Temperature above 20°C&amp;quot; become true.&lt;br /&gt;
[[File:BPMNConditionalEvents.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:BPMNConditionalEventExampleEN.png]]&lt;br /&gt;
&lt;br /&gt;
==Signal Events⌘==&lt;br /&gt;
* A Signal is for general communication within and across Process levels, across Pools, and between Business Process Diagrams. &lt;br /&gt;
* A BPMN Signal is similar to a signal flare that shot into the sky for anyone who might be interested to notice and then react. Thus, there is a source of the Signal, but no specific intended target.&lt;br /&gt;
:[[File:SignalEvents.png]]&lt;br /&gt;
===Signal Event Example 1⌘===&lt;br /&gt;
[[File:SignalExample.png]]&lt;br /&gt;
===Signal Event Example 2⌘===&lt;br /&gt;
[[File:SignalExample2.png]]&lt;br /&gt;
&lt;br /&gt;
==Error Events⌘==&lt;br /&gt;
&lt;br /&gt;
* An Error is generated when there is a critical problem in the processing of an Activity or when the execution of an Operation failed&lt;br /&gt;
*An &amp;#039;&amp;#039;&amp;#039;Error&amp;#039;&amp;#039;&amp;#039; indicates that a named Error should be generated.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
*3 types of error events:&lt;br /&gt;
**Start &amp;#039;&amp;#039;&amp;#039;Event Sub-Process&amp;#039;&amp;#039;&amp;#039; Interrupting&lt;br /&gt;
**Intermediate &amp;#039;&amp;#039;&amp;#039;Boundary&amp;#039;&amp;#039;&amp;#039; Interrupting&lt;br /&gt;
**End&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* Process can&amp;#039;t wait for an error or rise an error in itermediate event (only in Boundary Intermediate)&lt;br /&gt;
* Process can&amp;#039;t be instantiated using error event (only in Event Sub-Process)&lt;br /&gt;
:[[File:ErrorEvents.png]]&lt;br /&gt;
===Error Events Example 1⌘===&lt;br /&gt;
&lt;br /&gt;
[[File:BasicExceptionHandling.png]]&lt;br /&gt;
[[File:Ex02_BasicExceptionHandlingMerge.png]]&lt;br /&gt;
===Error Events Example 2⌘===&lt;br /&gt;
&lt;br /&gt;
[[File:Ex03_ExceptionHandling.png]]&lt;br /&gt;
===Error Events Example 3⌘===&lt;br /&gt;
[[File:Ex04_ExceptionHandling.png]]&lt;br /&gt;
===Error Event Exercises⌘===&lt;br /&gt;
*Exercise 1.&lt;br /&gt;
* Exercise 2.&lt;br /&gt;
&lt;br /&gt;
==Escalation Events⌘==&lt;br /&gt;
* An Escalation identifies a business situation that a Process might need to react to.&lt;br /&gt;
*In contrast to an Error, an Escalation by default is assumed to not abort the Activity to which the boundary Event is attached.&lt;br /&gt;
:[[File:EscalationEvents.png]]&lt;br /&gt;
&lt;br /&gt;
===Escalation Example⌘===&lt;br /&gt;
[[File:ClipCapIt-171020-104431.PNG]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
[[File:Escalation.png]]&lt;br /&gt;
===Escalation Example 2⌘===&lt;br /&gt;
[[File:Escalation2ndVersion.png]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Escalation Exercises⌘===&lt;br /&gt;
* Exercise 1.&lt;br /&gt;
&lt;br /&gt;
==Compensation⌘==&lt;br /&gt;
[[File:CompensationSimpeExample.png|CompensationSimpeExample.png]]&lt;br /&gt;
* Compensation is &amp;#039;&amp;#039;&amp;#039;undoing steps&amp;#039;&amp;#039;&amp;#039; that were &amp;#039;&amp;#039;&amp;#039;already successfully completed&amp;#039;&amp;#039;&amp;#039;, because their results and possibly side effects are no longer desired and need to be reversed.&lt;br /&gt;
* If an Activity is still active, it cannot be compensated, but rather needs to be canceled.&lt;br /&gt;
* Compensation is not an error handling&lt;br /&gt;
* A compensation handler performs the steps necessary to reverse the effects of an Activity.&lt;br /&gt;
&lt;br /&gt;
===Compensation handler⌘===&lt;br /&gt;
[[File:Compensation.png]]&lt;br /&gt;
* A compensation handler connected via a boundary Event can only perform “black-box” compensation of the original Activity. &lt;br /&gt;
* Compensation Activity is connected to the boundary Event through an Association. &lt;br /&gt;
* The Compensation Activity can be either a Task or a Sub-Process, has a marker to show that it is used for compensation only and is outside the normal flow of the Process.&lt;br /&gt;
&lt;br /&gt;
===Compensation Using Event Sub-Process⌘===&lt;br /&gt;
[[File:CompensationExample.png]] &lt;br /&gt;
&lt;br /&gt;
A Compensation Event Sub-Process can access data that is part of its parent, and can recursively trigger compensation for Activities contained in its parent.&lt;br /&gt;
&lt;br /&gt;
===Compensation Exercises⌘===&lt;br /&gt;
*Exercise 1. &lt;br /&gt;
*Exercise 2.&lt;br /&gt;
&lt;br /&gt;
==Transaction⌘==&lt;br /&gt;
[[File:Transaction.png]]&lt;br /&gt;
* Is a specialized type of Sub-Process that will have a special behavior that is controlled through a transaction protocol.&lt;br /&gt;
* Transaction verifies if all of the participants have successfully completed their end of the transaction or have been restored to the equivalent of their original state.&lt;br /&gt;
* ACID model describes transactions:&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Atomic&amp;#039;&amp;#039;&amp;#039; - transaction is &amp;#039;&amp;#039;&amp;#039;&amp;quot;all or nothing&amp;quot;&amp;#039;&amp;#039;&amp;#039;: if one part of the transaction fails, the entire transaction fails, and the system state is left unchanged. &lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Consistent&amp;#039;&amp;#039;&amp;#039; - any transaction will bring the system from one valid state to another. &lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Isolatated&amp;#039;&amp;#039;&amp;#039;  - concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially, i.e. one after the other.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Durable&amp;#039;&amp;#039;&amp;#039; - once a transaction has been committed, it will remain so, even in the event of power loss, crashes, or errors.&lt;br /&gt;
===Transaction in BPMN⌘===&lt;br /&gt;
[[File:TransactionOutcomes.png]]&lt;br /&gt;
&lt;br /&gt;
Three basic outcomes of a Transaction:&lt;br /&gt;
* Succes&lt;br /&gt;
* Cancel &lt;br /&gt;
* Error&lt;br /&gt;
&lt;br /&gt;
===Collapsed Transaction Sub-Process⌘===&lt;br /&gt;
[[File:ClipCapIt-141127-104407.PNG]]&lt;br /&gt;
&lt;br /&gt;
===Cancel Events⌘===&lt;br /&gt;
[[File:TransactionCancel.png]]&lt;br /&gt;
* Cancel Events are only used in the context of modeling Transaction Sub-Processes&lt;br /&gt;
* Activities indicated by sequence flow from cancel event will be executed after transaction is rolled back&lt;br /&gt;
:[[File:CancelEvents.png]]&lt;br /&gt;
&lt;br /&gt;
===Transaction Exercises⌘===&lt;br /&gt;
&amp;lt;!-- * Exercise 1. Potatoes --&amp;gt;&lt;br /&gt;
* Exercise 1. &lt;br /&gt;
* Exercise 2.&lt;br /&gt;
&lt;br /&gt;
==Loops and multi-instance⌘==&lt;br /&gt;
=== Standard Loop ⌘===&lt;br /&gt;
[[File:LoopingActivity.png]]&lt;br /&gt;
*The Activity will loop as long as the boolean &amp;#039;&amp;#039;loopCondition&amp;#039;&amp;#039; is true&lt;br /&gt;
*The condition is evaluated for every loop iteration, and MAY be evaluated at the beginning or at the end of the iteration (&amp;#039;&amp;#039;testBefore&amp;#039;&amp;#039; = true or &amp;#039;&amp;#039;testBefore&amp;#039;&amp;#039; = false)&lt;br /&gt;
*In addition, a numeric cap can be optionally specified - &amp;#039;&amp;#039;loopMaximum&amp;#039;&amp;#039;&lt;br /&gt;
*Loop activity instances are sequentially executed - one after another.&lt;br /&gt;
*Loop Activity is similar to DO WHILE loop.&lt;br /&gt;
&lt;br /&gt;
=== Multi-Instance Activity⌘===&lt;br /&gt;
&lt;br /&gt;
[[File:Element_multiple_instances_parallel.png|100px]] [[File:Figure10-48-activity-multi-instance-marker-for-parallel-instances.png|100px]] Multi-Instance parallel &lt;br /&gt;
&lt;br /&gt;
[[File:Element_multiple_instances_sequential.png|100px]] [[File:Figure10-49-activity-multi-instance-marker-for-sequential-instances.png|100px]] Multi-Instance sequential &lt;br /&gt;
*The instances MAY execute in &amp;#039;&amp;#039;&amp;#039;parallel&amp;#039;&amp;#039;&amp;#039; or MAY be &amp;#039;&amp;#039;&amp;#039;sequential&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Multi-Instance Activites are used with collection of items&lt;br /&gt;
*Multi-Instance Activity is similar to FOR EACH loop&lt;br /&gt;
&lt;br /&gt;
===Multi-Instance Activity Example⌘===&lt;br /&gt;
[[File:MultiInstanceActivityExample.png]]&lt;br /&gt;
&lt;br /&gt;
=== Loop Exercises ⌘===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:LoopExercise1.png]]&lt;br /&gt;
&lt;br /&gt;
==Global Task and Global Process⌘==&lt;br /&gt;
* A Global Task is a reusable, atomic Task definition that can be called from within any Process by a Call Activity.&lt;br /&gt;
* A Global Task is not defined within a Process, but is callable element.&lt;br /&gt;
::[[File:ClipCapIt-151201-205547.PNG]]&lt;br /&gt;
* The types of Global Tasks are only a subset of standard Tasks types: &amp;#039;&amp;#039;&amp;#039;GlobalUserTask&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;GlobalManualTask&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;GlobalScriptTask&amp;#039;&amp;#039;&amp;#039;, and &amp;#039;&amp;#039;&amp;#039;GlobalBusinessRuleTask&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* A Global Process can be called from another Process.&lt;br /&gt;
** Question: Do you know any example of non-global process?&lt;br /&gt;
&lt;br /&gt;
===Call Activity⌘===&lt;br /&gt;
:[[File:ClipCapIt-140729-124234.PNG]]&lt;br /&gt;
* A Call Activity is a type of Activity that identifies a point in the Process where a global Process or a Global Task is used.&lt;br /&gt;
&lt;br /&gt;
==Process, Collaboration, Choreography and &amp;lt;br/&amp;gt;Conversation in BPMN 2.0⌘==&lt;br /&gt;
=== Process - again⌘===&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
 A Process describes a sequence or flow of Activities&lt;br /&gt;
 in an organization with the objective of carrying out work.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Process&amp;#039;&amp;#039;&amp;#039; is depicted as a graph of Flow Elements, which are a set of Activities, Events, Gateways, and Sequence Flows that define finite execution semantics.&lt;br /&gt;
* BPMN uses the term Process specifically to mean a set of flow elements&lt;br /&gt;
* It uses the terms &amp;#039;&amp;#039;&amp;#039;Collaboration&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;Choreography&amp;#039;&amp;#039;&amp;#039; when modeling the interaction between Processes&lt;br /&gt;
 &lt;br /&gt;
==== Types of BPMN Processes ⌘====&lt;br /&gt;
There are three basic types of BPMN Processes (Orchestrations):&lt;br /&gt;
* Private Non-executable (internal) Business Processes&lt;br /&gt;
* Private Executable (internal) Business Processes&lt;br /&gt;
[[File:FIgure7-1-example-of-a-private-business-process.png|500px]]&lt;br /&gt;
* Public Processes&lt;br /&gt;
[[File:Figure7-2-example-of-a-public-process.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===Collaboration⌘===&lt;br /&gt;
[[File:Figure7-3-example-of-collaborative-process.png]]&lt;br /&gt;
* Collaboration is a collection of Participants shown as Pools, their interactions as shown by Message Flows, and MAY include Processes within the Pools and/or Choreographies between the Pools&lt;br /&gt;
* A Choreography is an extended type of Collaboration&lt;br /&gt;
&lt;br /&gt;
===Choreography⌘===&lt;br /&gt;
&lt;br /&gt;
[[File:CollaborationChoreography.png|300px]]&lt;br /&gt;
[[File:SimpleChoreography.png|300px]]&lt;br /&gt;
&lt;br /&gt;
* A Choreography defines the sequence of interactions between Participants (Pools).&lt;br /&gt;
* Choreographies exist outside of or in between Pools. &lt;br /&gt;
* Choreography does not exist in a single Pool. Each step in the Choreography involves two or more Participants.&lt;br /&gt;
* A Choreography does not have a central control mechanism.&lt;br /&gt;
&lt;br /&gt;
====Choreography Example 1⌘====&lt;br /&gt;
&lt;br /&gt;
[[File:Choreography.png]]&lt;br /&gt;
&lt;br /&gt;
====Choreography Task⌘====&lt;br /&gt;
[[File:BPMNChoregraphyTask.png]]&lt;br /&gt;
* A Choreography Task is an atomic Activity in a Choreography Process. &lt;br /&gt;
* It represents an Interaction, which is one or two Message exchanges between two Participants.&lt;br /&gt;
====Choreography Task with a Message⌘====&lt;br /&gt;
[[File:BPMNChoregraphyTask2.png]]&lt;br /&gt;
&lt;br /&gt;
====Two-way Choreography Task⌘====&lt;br /&gt;
[[File:BPMNChoregraphyTask2way.png]]&lt;br /&gt;
====Sequence Flow⌘====&lt;br /&gt;
[[File:BPMNChoregraphySequenceFlow.png]]&lt;br /&gt;
&lt;br /&gt;
====Gateways⌘====&lt;br /&gt;
* Interactions between Participants can happen in sequence, in parallel, or through exclusive selection.&lt;br /&gt;
* Exclusive, Inclusive, Parallel, Event-based and Complex Gateways can be used with some constraints (because the lack of a central mechanism to maintain data visibility, and no central evaluation)&lt;br /&gt;
====Exclusive Gateway Example⌘====&lt;br /&gt;
[[File:BPMNChoregraphyExclusiveGatewayExample.png|700px|]]&lt;br /&gt;
&lt;br /&gt;
====Choreography Example 2 from spec⌘====&lt;br /&gt;
Business Process Model and Notation (BPMN), Version 2.0, pages 318-319&lt;br /&gt;
&lt;br /&gt;
[[File:ChoreographySpecExample1.png]]&lt;br /&gt;
&lt;br /&gt;
====Choreography Example 2 from spec⌘====&lt;br /&gt;
[[File:ChoreographySpecExample2.png]]&lt;br /&gt;
&lt;br /&gt;
===Conversations⌘===&lt;br /&gt;
[[File:SimpleConversation.png]]&lt;br /&gt;
*The Conversation diagram is particular usage of a Collaboration diagram (simplified version of Collaboration)&lt;br /&gt;
*Pools usually are empty. &lt;br /&gt;
*A Conversation is a logical grouping of Message exchanges&lt;br /&gt;
====Conversation Example⌘====&lt;br /&gt;
[[File:Conversation.png]]&lt;br /&gt;
&lt;br /&gt;
{{PB}}&lt;br /&gt;
&lt;br /&gt;
=Annex⌘=&lt;br /&gt;
==BPMN shapes⌘==&lt;br /&gt;
* Table 7.1 - Basic Modeling Elements (BPMN 2.0 Specification)&lt;br /&gt;
* Table 7.2 - BPMN Extended Modeling Elements (BPMN 2.0 Specification)&lt;br /&gt;
* BPMN 2.0 poster - http://www.bpmb.de/images/BPMN2_0_Poster_EN.pdf&lt;br /&gt;
&lt;br /&gt;
==BPMN tools⌘==&lt;br /&gt;
* Signavio Process Manager - http://www.signavio.com/&lt;br /&gt;
* Camunda Modeler - https://camunda.com/products/modeler/&lt;br /&gt;
* Bizagi Modeler (desktop) - http://www.bizagi.com/en/bpm-suite/bpm-products/modeler&lt;br /&gt;
* Intalio|bpms Community Edition (desktop) - http://bpms.intalio.com/&lt;br /&gt;
* jBPM - http://www.jbpm.org/&lt;br /&gt;
* Activiti - http://activiti.org/&lt;br /&gt;
* Bonita BPM (desktop) - http://www.bonitasoft.com/&lt;br /&gt;
* Yaoqiang BPMN Editor (desktop) - http://sourceforge.net/projects/bpmn/&lt;br /&gt;
&lt;br /&gt;
==BPMN types of events==&lt;br /&gt;
Business Process Model and Notation, v2.0, page 261&lt;br /&gt;
&lt;br /&gt;
[[File:TypesOfEvents.png]]&lt;/div&gt;</summary>
		<author><name>Fstachecki</name></author>
	</entry>
</feed>