business management process management process modeling bpmn presentations

Introduction To BPMN 2

Description

New: You can now buy your own PDF copy of this presentation here: https://www.clearviewtraining.selz.com

Concise, simple and complete introduction to BPMN 2 (Business Process Model and Notation).

This presentation is based on our best-selling book, "Introduction to BPMN 2".

There are two versions of the book available:

Interactive iBook for iPad and Mac (recommended!):
https://itunes.apple.com/gb/book/introduction-to-bpmn-2/id539183604?mt=11&uo=4

Non interactive PDF for all other platforms:
https://www.distribly.com/product/2939?aid=22718

See www.clearviewtraining.com for more details.

Transcript

Introduction to BPMN 2 Training course for Available Introduction to BPMN 2 in iBooks Dr. Jim Arlow Clear View Training ISBN: 9780957292802 © 2012 Clear View Training Limited 1 About the author… • Dr Jim Arlow • Director of Clear View Training LimitedIntroduction to BPMN 2 • Consultancy and training in UML, BPMN, Meta Data Management, Requirements Engineering • Customers include British Airways, BBC, JP Morgan Chase, Aviva Investments, Vodafone • Senior Visiting Research Fellow at Bournemouth University • Author of UML, BPMN and other books (next slide) • Linked in: http://uk.linkedin.com/in/jimarlow © 2012 Clear View Training Limited 2 Our books... • Contact Clear View Training Limited (www.clearviewtraining.com) for BPMN and UML consultancy and Introduction to BPMNIntroduction to BPMN 2 training Introduction to Ruby Introduction to Ruby on Rails & AJAX In 9+ languages! Available in iBooks plus © 2012 Clear View Training Limited 3 About the course book... • This training course is based on “Introduction to BPMN 2” Arlow and NeustadtIntroduction to BPMN 2 ISBN:9780957292802 • This is an enhanced ebook with animations, interactive figures and quizzes • It is available for the iPad etc. in Apple iBooks • We are excited about the potential of interactive textbooks and how this is realised by the revolutionary iBooks and iBooks Author from Apple. This is why the enhanced ebook is the primary edition of this work • If there is sufficient demand, we might make a non-interactive ePub or PDF version of the book available - contact us for details ISBN: 9780957292802 © 2012 Clear View Training Limited 4 Our approach to BPMN • Introduction • Basic BPMNIntroduction to BPMN 2 • Just enough to get you started modelling • Core BPMN • Might be enough for up to 80% of your needs • Advanced BPMN • Filling in the gaps! • Exercises • An opportunity to use what you have learned as you go along • Laboratory Work © 2012 Clear View Training Limited 5 Introduction to BPMN 2 Processes and BPMN 2 Chapter 1 of © 2012 Clear View Training Limited 6 Contents • What is a business process? • Why model processes?Introduction to BPMN 2 • What is BPMN 2? • History • Structure • Complexity © 2012 Clear View Training Limited 7 What is a business process? • There is no standard definition of a business process, so we define it as:Introduction to BPMN 2 A sequence of activities performed by one or more business participants in order to deliver value to the business • This definition emphasises the following points: • The process can be broken down into a sequence of simpler activities • These activities have to be performed by someone or something (a participant) • The ultimate goal is to deliver value to the business whether directly or indirectly © 2012 Clear View Training Limited 8 Types of business process • Management processes Management • Govern the operation of a businessIntroduction to BPMN 2 • Operational processes • Constitute the core business activities and create the primary value stream Operational • Supporting processes • Support the core operational Supporting processes Management © 2012 Clear View Training Limited 9 Why model processes? You can’t control what you don’t understandIntroduction to BPMN 2 • Understand and control current processes • Measure time, cost, resources • Improve current processes • Streamline, identify missing steps, rationalise • Design new processes • Realise business requirements with new processes • Communicate existing and new processes • Process models are a very effective way to communicate existing and new processes • Automate processes • Apply a process execution engine © 2012 Clear View Training Limited 10 What is BPMN 2? • Business Process Model and Notation v. 2 • Human oriented industry standard graphical notationIntroduction to BPMN 2 for modelling processes • Based on flow charts (already widely used) • Has a mapping to BPEL4WS • Scope: • Organisational structures and resources • Functional breakdowns • Data and information flows • Business strategy • Business rules © 2012 Clear View Training Limited 11 BPMN history Ongoing BPMN developmentIntroduction to BPMN 2 BPMI.org OMG OMG OMG starts BPMN 1.0 BPMN 1.2 BPMN 2.0 developing BPML 2001 2002 2003 2004 2008 2009 2010 BPMN = Business BPMN = Business Process Modelling Process Model and Notation Notation • Note the name change from 1.x to 2.x © 2012 Clear View Training Limited 12 Models, diagrams and pictures Model DiagramIntroduction to BPMN 2 Model Diagram elements have elements well-defined provide a visual meanings syntax for (semantics) representing model elements • A true BPMN tool such as Magic Draw is a modelling tool: • When diagrams are created information is added into an underlying model • Each model element may be represented by 0..* diagram elements • Each diagram element must have exactly 1 representation in the underlying model • The modelling tool enforces BPMN semantics and syntax • Pictures have no formal syntax or semantics (e.g. PowerPoint, Visio) © 2012 Clear View Training Limited 13 Model element attributes • BPMN model elements may have attributes. These are slots that store information Task attributesIntroduction to BPMN 2 about the element • Attributes store the semantic "meat" of the model • BPMN tools allow you to inspect and change attributes Double click Task © 2012 Clear View Training Limited 14 BPMN structure • BPMN 2 allows you to model 3 different, but related aspects of business processes:Introduction to BPMN 2 • Process - a sequence of activities that constitutes a business process • Focus: the sequence of activities and events • Collaboration - a process that has two or more participants • Focus: the sequence of activities and events and or the Messages sent between participants • Choreography - a sequence of interactions between participants • Focus: the participants in the business process and the sequence in which they interact together © 2012 Clear View Training Limited 15 BPMN structure summary • BPMN has a relatively simple high-level structure BUT complexity arises because BPMN has: • 4 types of event (with many different triggers and throw & catch semantics)Introduction to BPMN 2 • 4 types of activity (but with many variants) • 5 types of gateway • 3 connecting objects • 2 artifacts • 4 types of data object • Conversations, choreographies etc. © 2012 Clear View Training Limited 16 Managing BPMN complexity • Divide and conquer! • We define 3 levels ofIntroduction to BPMN 2 BPMN Advanced • Basic - just enough to Core create some simple models (bootstrap!) Basic • Core - enough for about 80% of your modelling needs • Advanced - features that are rarely needed © 2012 Clear View Training Limited 17 Summary • BPMN 2 – Business Process Model and Notation • Model processes so that you can understand andIntroduction to BPMN 2 improve existing processes, and create new processes • We can categorise processes into management, operational and support • BPMN has a simple high-level structure © 2012 Clear View Training Limited 18 Laboratory work • Consider the organization in which you are currently working...Introduction to BPMN 2 • List the key business processes. • Categorize these processes as management, operational or support processes. • Which of these processes do you think could be improved? Suggest some possible improvements. © 2012 Clear View Training Limited 19 Introduction to BPMN 2 Basic BPMN Chapter 2 of © 2012 Clear View Training Limited 20 Contents • What is Basic BPMN? • Process semantics – the token gameIntroduction to BPMN 2 • Basic BPMN elements in the process diagram: • Artifacts • Swimlanes • Flow objects • Connecting objects © 2012 Clear View Training Limited 21 What is Basic BPMN? • It is the simplest possible subset of BPMN that we consider to be useableIntroduction to BPMN 2 • The goal of Basic BPMN is to be: • Just enough BPMN to get you creating very simple diagrams! • Easy to learn • Easy for non-technical stakeholders to understand • Good enough for rough sketches and informal diagrams © 2012 Clear View Training Limited 22 Basic BPMN structure • Basic BPMN comprises the simplest useable subset of elements:Introduction to BPMN 2 © 2012 Clear View Training Limited 23 The process diagram • BPMN defines a process as a set of flow elements that comprise different types of flow node that may be connected by sequence flows and other connecting objects to form a kind of flowchartIntroduction to BPMN 2 • Flow nodes may be: • Events – something that happens during the process • Activities – work performed in the process • Gateways – control flow through the process Event Gateway activity Sequence Flow © 2012 Clear View Training Limited 24 Process semantics - the token game • Token game – a token is an imaginary focus of control that you imagine flowing around the process • Tokens traverse from a source flow object to a target flowIntroduction to BPMN 2 object via a sequence flow • A flow object executes when it has tokens on one or more of its input flows • When a flow object starts to execute it takes tokens off its input flows • When a flow object has finished executing it offers tokens on one or more of its output flows End event Start event © 2012 Clear View Training Limited 25 Process instances • Each time a process receives a new start event, a new instance of that process begins executingIntroduction to BPMN 2 • We say that a process may have many process instances Instance 3 Instance 2 Instance 1 Time © 2012 Clear View Training Limited 26 Diagram annotation • BPMN provides two artifacts, the text annotation and group, that allow you to add extra information to models • We use text annotations extensively to document our modelsIntroduction to BPMN 2 • Text annotations are linked to model elements by the association connecting object Artifacts Syntax Name Semantics Text annotation Text annotations allow text to be added to a diagram to increase its comprehensibility Association Group A way to group together diagram elements to show that they are related © 2012 Clear View Training Limited 27 Using artifacts • Use groups as a way to organise and highlight parts of the model in order to increase its comprehensibility • Groups have no semantics beyond a simple organising roleIntroduction to BPMN 2 • In the example below, the groups indicate phases in the process • Use text annotations connected to flow objects by associations to document the process © 2012 Clear View Training Limited 28 Flow objects • A process is defined as a sequence of flow objects: • Events – something that happens during the processIntroduction to BPMN 2 • Activities – work performed in the process • Gateways – split/merge flow through the process • There are many types of flow object! Event Gateway Activity Sequence flow © 2012 Clear View Training Limited 29 Connecting objects • Connect flow nodes together: • Sequence flows – determine the sequence of activities • Message flows – messages between process participantsIntroduction to BPMN 2 • Associations – associate text or data with modeling elements Sequence flow Message flow Pool Association © 2012 Clear View Training Limited 30 Collaboration diagrams • A collaboration diagram is like a process diagram but with more than one participant • We can organise the collaboration diagram into:Introduction to BPMN 2 • Pools – represent a participant in the process • Lanes – group related activities • N.B. If a diagram has a single pool and no lanes, it is a process diagram and the pool boundary rectangle may be omitted © 2012 Clear View Training Limited 31 Pools, message flows and messages • Use pools in conjunction with explicit messages to show communication between two or more business participants:Introduction to BPMN 2 Pool representing the Sales Department A Message collaboration diagram Message flow Pool representing the Warehouse © 2012 Clear View Training Limited 32 Summary • Basic BPMN Elements in the process diagram: • ArtifactsIntroduction to BPMN 2 • Flow objects • Connecting objects • Swimlanes • BPMN semantics – the token game © 2012 Clear View Training Limited 33 Laboratory work • Do the BPMN syntax review inIntroduction to BPMN 2 © 2012 Clear View Training Limited 34 Introduction to BPMN 2 Basic events, activities & gateways Chapter 3 of © 2012 Clear View Training Limited 35 Contents • What is an event? • What is an activity?Introduction to BPMN 2 • What is a gateway? © 2012 Clear View Training Limited 36 Simple definitions... • Event – something of note that happens to the businessIntroduction to BPMN 2 • Activity – a piece of work performed in a process • Gateway – controls the flow through the process Gateway Event Activity © 2012 Clear View Training Limited 37 What is an event? • All businesses are subject to notable occurrences that we call events: • An is something of note that happens to the business that is important from the process perspectiveIntroduction to BPMN 2 • Events may optionally have triggers that cause the event to occur, and results that are the result of the event. Triggers are indicated by a symbol inside the event icon (see later) • There are 4 types of event, syntactically distinguished by their boundary style: Types of event Syntax Boundary Name Semantics Thin Start events Begin the process by emitting a token Double Intermediate events Occur during the process Intermediate boundary Intermediate events that are attached to an events activity boundary Thick End events Terminate a process flow by consuming a token © 2012 Clear View Training Limited 38 Basic events • There area only 3 Basic events all of which are none events:Introduction to BPMN 2 • None start event • None intermediate event • None end event Trigger Start Intermediate End Name Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interrupting None © 2012 Clear View Training Limited 39 None Events • None events have an unspecified (none) trigger • Use these when you either don’t know or don’tIntroduction to BPMN 2 care what triggers the event Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interrupting Catching semantics - Throwing semantics - None start - emits a token when the process/sub-process starts None end - consumes a token None intermediate - consumes a token then emits a token and terminates flow © 2012 Clear View Training Limited 40 None start and end eventsIntroduction to BPMN 2 None None end start event event • The none start event begins the process or sub- process in an unspecified way by emitting a token • The none end event terminates a particular flow through the process or sub-process by consuming a token • If there are other, parallel flows, these will not be affected • There are 10 possible start event triggers and 9 possible end event triggers that we will look at later © 2012 Clear View Training Limited 41 More than one start event • Sometimes a process is different depending on how it is started... • This example shows a simple Order Process that may beIntroduction to BPMN 2 started by an Email, Phone Call or Letter requesting items Note: we can only have a single none start event per process © 2012 Clear View Training Limited 42 None intermediate event • This doesn’t really do anything – it has no trigger, so it fires immediately on receiving a tokenIntroduction to BPMN 2 • Use it as a marker to indicate that the activity/ process has reached an important intermediate state or milestone • They are not used very often! None intermediate event as a milestone marker © 2012 Clear View Training Limited 43 Summary • We have had a brief overview of event semantics - we will deal with this in depth inIntroduction to BPMN 2 Core BPMN • Basic events: • None start event - begins the process or sub-process in an unspecified way by emitting a token • None intermediate event - doesn’t really do anything - use it as a marker for an important intermediate state or milestone • None end event - terminates a particular flow through the process or sub-process by consuming a token © 2012 Clear View Training Limited 44 Introduction to BPMN 2 Basic activities © 2012 Clear View Training Limited 45 What is an activity? • Activity – a piece of work performed in a process • There are 6 types of activityIntroduction to BPMN 2 Types of activity Syntax Name Semantics Task An activity that is considered atomic within this particular process. Sub-process An activity that can be decomposed hierarchically into other (collapsed) activities. This is also known as an embedded sub-process. Ad-hoc The sequence of activities is determined by the process sub-process performers (see Chapter 4). (collapsed) Event sub- Event sub-process – a sub-process that is triggered by a process message, error, escalation, compensation, conditional, signal, (collapsed) time or multiple event (see Chapter 4). Call activity Invokes a global process or task (see Chapter 4). Transaction sub- Represents a sub-process that has transactional (ACID) process properties (see Chapter 9). (collapsed) © 2012 Clear View Training Limited 46 What is a sub-process? • Sub-processes provide a composition mechanism • They may be nested hierarchically to any required level of detail - try to limit the levels to 3 maximumIntroduction to BPMN 2 • They may be shown collapsed or expanded to show the tasks and sub-processes contained within them • A sub-process may only begin with a none start event and end with a none end event Double Click Collapsed sub- Expanded process sub-process © 2012 Clear View Training Limited 47 Activity semantics • An activity may have zero or more input flows and zero or more output flowsIntroduction to BPMN 2 • It executes when gets a token on any input flow • After completion it offers tokens simultaneously on all of its output flows Pick And Pack Order executes when it gets a token on any of its input flows © 2012 Clear View Training Limited 48 Introduction to BPMN 2 Basic gateways © 2012 Clear View Training Limited 49 What is a gateway? • You control the flow through the process by using gatewaysIntroduction to BPMN 2 • Gateways converge (merge) and diverge (split) the flow through a process • There are 5 types of gateway. Each type has specific converging and diverging behaviour controlled by: • Conditions on the incoming and outgoing flows • Events on the outgoing flows • A single condition on the gateway itself • Basic BPMN only has two gateways - the exclusive gateway and the parallel gateway © 2012 Clear View Training Limited 50 Basic gateways • Exclusive gateway – allows you to express decisions • Note: the syntax has 2 equivalent optionsIntroduction to BPMN 2 • Parallel gateway – allows you to express parallelism Gateways Syntax Name Converging (input) Diverging (output) Exclusive Consumes incoming token Emits single token to outgoing flow whose gateway condition is True. Parallel Waits for token on all incoming flows Emits tokens to all outgoing flows. gateway Event based Consumes incoming token Emits tokens on all outgoing flows which are gateway connected to intermediate events. 1st to fire passes on token. Inclusive Merges tokens from upstream Emits token on all outgoing flows whose gateway diverging inclusive gateway condition is True. Complex Determined by condition set in the Determined by conditions on outgoing gateway activationCondition attribute sequence flows. © 2012 Clear View Training Limited 51 The exclusive gateway • The exclusive gateway has one or more input flows, and two or more output flows. When it accepts a token on one of its input flows it emits a single tokenIntroduction to BPMN 2 on a single output flow: • Each output flow has a condition and the set of conditions must be mutually exclusive • A token is emitted on the output flow whose condition is True Condition Default - if none of the conditions are True © 2012 Clear View Training Limited 52 Exclusive gateway merge • You can use exclusive gateways simply to merge to process flows - the two models belowIntroduction to BPMN 2 are exactly equivalent In this model the task T3 merges the two input flows. We call this an implicit merge. In this model the exclusive gateway merges the two input flows. We call this an explicit merge. © 2012 Clear View Training Limited 53 Parallel gateway • The parallel gateway has one or more input flows, and two or more output flowsIntroduction to BPMN 2 • It waits for a token on all of its input flows (join), then emits a token on all of its output flows (fork) Join the Fork the flows flow © 2012 Clear View Training Limited 54 Basic BPMN example PoolIntroduction to BPMN 2 Condition Sequence flow Start event End event Message Exclusive flow gateway Text annotation Task Association © 2012 Clear View Training Limited 55 Summary • Event – something of note that happens to the business • Type - start, intermediate, boundary, endIntroduction to BPMN 2 • Behaviour - catching/throwing • Effect - interrupting/non-interrupting • Trigger - none • Activity – a piece of work performed in a business process • Task - considered atomic within this particular process • Sub-process - can be decomposed hierarchically into other activities • Gateway – controls the flow through the business process • Exclusive - consumes incoming token then emits single token to outgoing flow whose condition is True • Parallel - waits for token on all incoming flows, then emits tokens to all outgoing flows © 2012 Clear View Training Limited 56 Laboratory work - Assumptions • Using Basic BPMN model the following processes: • Making a cup of teaIntroduction to BPMN 2 • Reading your email • Applying for a training course • Before you can model any of these processes, you will first need to make some assumptions about the context in which the process runs. For each process, list all of the assumptions you are making © 2012 Clear View Training Limited 57 Laboratory work - ATM We often perform simple processes over and over, without being aware of the precise steps of those processes. To paraphrase Sherlock Holmes, we see, but do not observe. We have all used an ATM (automated teller machine) to withdraw cash...Introduction to BPMN 2 Using your memory, model the process for withdrawing cash from your bank’s ATM. Model the “happy day” process when everything works exactly as it should. This is your remembered process model. Next time you withdraw some cash from the machine, make a note of the steps in the process and, based on your notes, make an actual process model for withdrawing cash. Compare the two models. Look for: • Deletions – steps that are missing. • Distortions – steps that are incorrect. • Generalizations – multiple steps conflated into a single step. © 2012 Clear View Training Limited 58 Laboratory work - a business process Think of a simple process that occurs in the business or organization you are involved inIntroduction to BPMN 2 and model it. How would you verify this model? Can you update your model based on the actual process? © 2012 Clear View Training Limited 59 Introduction to BPMN 2 Core BPMN Chapter 4 of © 2012 Clear View Training Limited 60 What is Core BPMN? • Includes all of Basic BPMN plus: • More start events, intermediate events and gatewaysIntroduction to BPMN 2 • Activities – task and sub-processes types • Data objects • Core BPMN is the essential set of BPMN modelling elements for Business Analysts! • Basic BPMN is only good for sketches • Advanced BPMN is used less frequently © 2012 Clear View Training Limited 61 Core BPMN structureIntroduction to BPMN 2 © 2012 Clear View Training Limited 62 Introduction to BPMN 2 Core BPMN - activities © 2012 Clear View Training Limited 63 Contents • Core BPMN has 8 different types of task and 4 different types of sub-process!Introduction to BPMN 2 • These allow you to be more specific about the semantics of the activities in your process models • In this section we will look at • Global tasks and processes • Call activities • Task types • Sub-process types © 2012 Clear View Training Limited 64 Call activities • A Global task/process is a reusable task/process that may be called from another process using a call activityIntroduction to BPMN 2 • Only a subset of task types may be global (next slide) • Call activities must have a thick black border and use task syntax to call global tasks and sub-process syntax to call global processes Process 1 Global Manual Validation Process Calls A call activity has a thick black border © 2012 Clear View Training Limited 65 Task types Task typesIntroduction to BPMN 2 Syntax Semantics Global? An activity that is considered atomic within this particular process N Sends a message to an external participant on completion N Waits for a message from an external participant N A task performed entirely manually Y A task performed by a human with the assistance of automation Y A service such as a web service or automated application Y A script executed by a business process engine Y A task performed by a business rules engine Y © 2012 Clear View Training Limited 66 Send and receive tasks • You can send and receive messages using send tasks and receive tasks respectivelyIntroduction to BPMN 2 • A send task, on completion, will send a message specified in its messageRef attribute down all outgoing message flows • N.B. if it has a data input, this is automatically placed in the message and so it must be equivalent to the message • A receive task simply waits for a message and then offers tokens on its outgoing Send and receive message M1 flows Syntax Semantics Global? Sends a message to an external participant on completion N Waits for a message from an external participant N © 2012 Clear View Training Limited 67 Manual and user tasks • The manual task is performed without any automation by a human performerIntroduction to BPMN 2 • The user task is similar, except that the human performer is assisted by a software system of some kind © 2012 Clear View Training Limited 68 Service task • The service (and user) task involve participants outside of the current process:Introduction to BPMN 2 • Service – a system external to the process • User – a user external to the process • Because of this, these tasks must be started by a message start event • When they end they will often send a message back to the process that started them Syntax Semantics Global? A task performed by a human with the assistance of automation Y A service such as a web service or automated application Y © 2012 Clear View Training Limited 69 Script and business rule tasks • The script task represents a script that is executed by a Business Process EngineIntroduction to BPMN 2 • The business rule task allows the process to provide input to and receive output from a Business Rule Engine • A business rule is a statement that defines or constrains some aspect of the business and always resolves to either True or False Syntax Semantics Global? A script executed by a Business Process engine Y A task performed by a Business Rules engine Y © 2012 Clear View Training Limited 70 Sub-process types • BPMN 2 has 4 different types of sub-processIntroduction to BPMN 2 Sub-process types Syntax Name Semantics Embedded The normal type of sub-process. It is embedded in the parent sub-process process, is activated by it, and can access all of its global data. (collapsed) Ad-hoc The sequence of activities is determined by the process performers. sub-process (collapsed) Event A sub-process that has no incoming or outgoing sequence flows. It sub-process is triggered by a message, error, escalation, compensation, (collapsed) conditional, signal, or multiple event. Transaction Sub-processes that have ACID properties (see Chapter 9). The sub-process sub-process is all or nothing – it runs to completion or fails (collapsed) completely leaving the system in a consistent state. © 2012 Clear View Training Limited 71 Ad-hoc sub-process The tilde (~) indicates that this is an ad-hoc sub-processIntroduction to BPMN 2 • Sequencing of the activities is determined by the process performers • Each activity may be performed zero or more times • Ad-hoc sub-process attributes: • AdHocOrdering - determines if the activities can be performed in Parallel (the default) or must be Sequential (often determined by resource constraints) • AdHocCompletionCondition – a Boolean condition that defines when the Ad-Hoc sub-process will end • CancelRemaining – if True, cancel all executing parallel instances when the AdHocCompletionCondition becomes True © 2012 Clear View Training Limited 72 Event sub-process • These are different from normal sub-processes because they are not part of the normal process flow: • They have no incoming or outgoing sequence flows, so are not part of the parent process flow!Introduction to BPMN 2 • They are always triggered by a start event whose trigger may be message, error, escalation, compensation, conditional, signal, timer or multiple • If triggered by an interrupting start event, they interrupt the containing process flow otherwise they run concurrently • They must have a dashed boundary Collapsed syntax Event sub- process with interrupting timer start event © 2012 Clear View Training Limited 73 Summary • A global task/process is a reusable task/process that may be called from another process using a call activityIntroduction to BPMN 2 Ad-hoc sub-process (collapsed) Event sub-process (collapsed) © 2012 Clear View Training Limited 74 Laboratory work • BPMN syntax review inIntroduction to BPMN 2 © 2012 Clear View Training Limited 75 Introduction to BPMN 2 Event semantics Chapter 5 of © 2012 Clear View Training Limited 76 Contents • Before we can look at the Core events, we have to understand event semantics in fullIntroduction to BPMN 2 detail: • Trigger • Behavior - catching/throwing semantics • Behavior - interrupting/non-interrupting semantics • Type: • Start • End • Intermediate • Boundary © 2012 Clear View Training Limited 77 Detailed event semantics • We can classify the many BPMN 2 events according to: • Trigger - determines what causes the event to fireIntroduction to BPMN 2 • Behavior - throw or catch - interrupt the containing activity or not • Type - where can they be used in processes Trigger Type Behavior Throwing/catching Interrupting/ non-interrupting Start Catching Both Intermediate Both Event taxonomy Boundary Catching Both End Throwing © 2012 Clear View Training Limited 78 Event trigger • The event trigger describes what the event actually does e.g. does it catch or send a message payload?Introduction to BPMN 2 • There are 13 event triggers in BPMN 2 – we’ll see all of these later in the course! • Triggers are shown as icons inside the event symbol • The trigger influences catch and throw semantics • e.g. it makes sense for a timer intermediate event to respond to (catch) time, but there is no meaningful sense in which it can throw anything Trigger icon There is no throwing variant of this timer Intermediate event, because all it does is respond to time © 2012 Clear View Training Limited 79 Event behavior - throwing and catching • Events may have throwing or catching semantics: • Throwing - the event waits for a token then emits a trigger • The trigger is drawn filled inIntroduction to BPMN 2 • Catching - the event waits for its trigger and then emits a token • The trigger is drawn in outline • Start events can only catch • End events can only throw • Intermediate events can both catch and throw (depending on trigger) • Boundary events can only catch Throwing - trigger Catching - trigger drawn filled-in drawn in outline © 2012 Clear View Training Limited 80 Event behaviour - interrupting and non-interrupting • Start and boundary events may have interrupting or non-interrupting semanticsIntroduction to BPMN 2 • Interrupting - the triggering activity terminates, and the process flow continues on from the catching event - solid boundary (default) • Non-interrupting - the triggering activity continues, and the process flow branches at the catching event - dashed boundary Interrupting - Non-Interrupting - solid boundary dashed boundary © 2012 Clear View Training Limited 81 Event type • The event type divides the events up according to where they may be used in the process flow:Introduction to BPMN 2 • Start events occur at the start of the process flow • Intermediate events occur part way through • Intermediate boundary events (or just boundary events for short) are attached to activity boundaries • End events occur at the end • We will look at each of the four BPMN event types in detail over the next few sections © 2012 Clear View Training Limited 82 What is a start event? • A start event begins a new instance of a process • It has a single outgoing sequence flow and noIntroduction to BPMN 2 incoming flows • When triggered, it emits a token on its single outgoing flow • The trigger specifies the cause of the start event e.g. a timer going off, a message or signal being received or none A message start event emits a token on receipt of a specific Message message (see later) © 2012 Clear View Training Limited 83 What is an end event? • End events may: • End a particular path through a processIntroduction to BPMN 2 • End the whole process (terminate end event) • Generate a result (e.g. a message or signal being sent) • They have incoming flows and no outgoing flows because they consume their input tokens A message end event consumes a token then sends a message (the result) Message © 2012 Clear View Training Limited 84 What is an intermediate event? • Intermediate events occur during a process - they do not spawn a new process instance! • They have have a single (optional) input flow and aIntroduction to BPMN 2 single output flow • They may catch or throw: • Catch - waits for the event trigger then emits a token • Throw - throws the event trigger then emits a token Example with throwing and catching message intermediate events © 2012 Clear View Training Limited 85 Intermediate event catch/throw • Intermediate events have more complex catch/throw semantics than start or end events because they may have both an input flow and an output flow and they mayIntroduction to BPMN 2 catch and/or throw depending on their trigger • Throw: • Wait for a token on the single input flow • Throw the event trigger Exercise: Can you model this • If there is an output flow: behavior? • Emit a token on the single output flow • Catch: • If there is an input flow: • Wait for a token • Wait for the event trigger • Emit a token on the single output flow © 2012 Clear View Training Limited 86 Answer • Intermediate event behavior metamodel • This is metamodelling (creating a model of aIntroduction to BPMN 2 model) © 2012 Clear View Training Limited 87 What is a boundary event? • Boundary events are catching intermediate events placed on activity boundaries • Interrupting - branch the process flowIntroduction to BPMN 2 • Non-interrupting - fork the process flow Boundary event semantics Syntax Behaviour Semantics Interrupting If Branch triggered before Task 1 finishes terminate Task 1 execute Task 3 Else execute Task 2 Non- If Fork triggered before Task 1 finishes interrupting continue executing Task 1 AND fork to execute Task 3 concurrently Else execute Task 2 © 2012 Clear View Training Limited What we have learned • We have considered event semantics in depth: • Trigger - what causes the event to fireIntroduction to BPMN 2 • Behaviour - throwing and catching • Behaviour - interrupting and non-interrupting • Type - start, intermediate, boundary and end © 2012 Clear View Training Limited 89 Introduction to BPMN 2 Core events Chapter 6 of © 2012 Clear View Training Limited 90 Contents • In this section we look at all of the Core events • The Core triggers are:Introduction to BPMN 2 • Message • Signal • Timer • Conditional • Terminate © 2012 Clear View Training Limited 91 Core events • There are 5 Core event triggers, message, signal, timer, conditional and terminateIntroduction to BPMN 2 Trigger Start Intermediate End Name Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interrupting Message Signal Timer Conditional Terminate © 2012 Clear View Training Limited 92 Messages and signals • Messages and signals are packets of dataIntroduction to BPMN 2 Messages are sent 1 to 1 and include references to the Message sender and receiver Signals are broadcast 1 to many and neither the sender nor the Signal receiver are specified © 2012 Clear View Training Limited 93 Message events Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interruptingIntroduction to BPMN 2 interrupting interrupting Catching semantics - Throwing semantics - wait for a message from a different pool then emit a token on receipt of a token throw a message to a different pool • Catching message events are triggered by receipt of a message from a different pool • Throwing message events throw a message (the result) to a different pool © 2012 Clear View Training Limited 94 Send and receive tasks • You can also send and receive Messages using send tasks and Send and receive receive tasksIntroduction to BPMN 2 message M1 • A Send task, on completion, will send a message specified in its messageRef attribute down all outgoing message flows • N.B. if it has a data input, this is automatically placed in the message and so it must be equivalent to the message in terms of data • A receive task simply waits for a message and then offers tokens on its outgoing flows © 2012 Clear View Training Limited 95 Message end event exampleIntroduction to BPMN 2 © 2012 Clear View Training Limited 96 Signal events Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interruptingIntroduction to BPMN 2 interrupting interrupting Catching semantics - Throwing semantics - wait for receipt of a signal then emit a token wait for a token then throw a signal • Catching signal events are triggered by receipt of a signal broadcast from within the current pool or from an external pool © 2012 Clear View Training Limited 97 Signal end event example • When this event receives a token it broadcasts a signal to every activity or process set up to receive itIntroduction to BPMN 2 • Unlike a message, a signal specifies neither its source nor its target • Also unlike a message, you can send signals between activities in the same participant – this is often used to synchronise concurrent process flows Sends the Newsletter. Any activity or process that is waiting for a Newsletter can receive this signal © 2012 Clear View Training Limited 98 Timer events Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interruptingIntroduction to BPMN 2 Catching semantics - Throwing semantics - Start: emit a token when the time condition becomes True. Intermediate: wait for a token, then emit a token when the time condition becomes True. • Timer events respond to time, so they can only catch • They are triggered when a time condition becomes true • They can be used in three ways: • Time-out: an interrupting timer boundary event acts as a time-out because the activity is interrupted when the time condition becomes True • Timed-fork: a non-interrupting timer boundary event causes a fork in the flow when the time condition becomes True • Delay: a timer intermediate event causes the flow to pause until the time condition becomes True © 2012 Clear View Training Limited 99 Timer event - time conditions • Timer events are triggered when a time condition becomes True e.g.Introduction to BPMN 2 • A point in time e.g. "At End Of Week" • After a duration in time e.g."After 2 Weeks" • A repeating condition e.g. "Every Tuesday" • Note: using a specific time or date (e.g. 1st Feb. 2009) may inhibit the reusability of the process • Although we often use natural language for time conditions, it is crucial to be very clear and precise! © 2012 Clear View Training Limited 100 Timer event example Timer boundary event as a time-outIntroduction to BPMN 2 None intermediate event as a milestone marker Timer intermediate event as a delay © 2012 Clear View Training Limited 101 Conditional events Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interruptingIntroduction to BPMN 2 interrupting interrupting Catching semantics - Throwing semantics - wait for condition False->True transition then emit token True False • A conditional event is edge triggered when a Boolean condition transitions from False to True e.g. • "Overdue" - a Boolean value • "Overdue & !First Offence" - a Boolean expression • "Balance < 0.0" - a Boolean relation © 2012 Clear View Training Limited 102 Terminate event Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interruptingIntroduction to BPMN 2 interrupting interrupting Catching semantics - Throwing semantics - on receipt of a token, consume it and terminate all activities in the process • This type of end event consumes a token, then terminates all activities in the process © 2012 Clear View Training Limited 103 Terminate event example • When this event receives a token all activities in the process stop!Introduction to BPMN 2 • A common use for a terminate end event is to stop a process after an interrupt or non-recoverable error Terminate all threads Wait for message intermediate events © 2012 Clear View Training Limited 104 Core event example • The example shows the sort of rich process models you can create using combinations of the Core eventsIntroduction to BPMN 2 • This example is part of a process for handling debts… Explain what this process does… © 2012 Clear View Training Limited 105 What we have learned • We have studied the Core events: • Message - send/receive a messageIntroduction to BPMN 2 • Signal - broadcast/receive a signal • Timer - responds to time • Conditional - edge triggered on a Boolean Condition • Terminate - terminate all activities © 2012 Clear View Training Limited 106 Laboratory work - a bespoke product process Clear View Training Limited offers a bespoke product process to its clients for designing custom training courses. The process begins when our marketing department receives a customer request for a bespoke training course. The marketing department communicates with the customer to find out theIntroduction to BPMN 2 requirements for the new course (topic, number of days, format) and any business constraints (delivery time, cost constraints). Marketing then liaises with the production department to see if the course is feasible, and if so, produces a Product Specification which is sent back to the customer. This includes details of the deliverables and time and cost for the development. The Product Specification may go through several iterations between Marketing and the customer, until both agree to it or it is rejected. If the Product Specification is accepted, Marketing raises an invoice for payment in advance for the time and materials agreed in the Product Specification. Once payment has been received, the Product Specification goes to Production who start creating the required course materials (PowerPoint slides, exercises and delegate notes). The completed materials go through an internal review and are then presented to the customer as a beta release. If the customer accepts the beta, the course is promoted to version 1 and and released to the customer. However, the most likely outcome is that the customer provisionally accepts the materials pending changes. The customer may provisionally accept the materials several times before they are finally satisfied, when the course is promoted to version 1 and released to the customer. A very rare possible outcome (in fact, it has never yet happened) is that the customer might completely reject the course materials. In this case, the matter is escalated to the company director for resolution. © 2012 Clear View Training Limited 107 Introduction to BPMN 2 Core gateways & data objects Chapter 7 of © 2012 Clear View Training Limited 108 Contents • There is only a single Core gateway – the event-based exclusive gatewayIntroduction to BPMN 2 • Data objects allow you to represent the flow of data around the process © 2012 Clear View Training Limited 109