Successfully reported this slideshow.

Business Process Modeling with BPMN 2.0 - Second edition

77,537 views

Published on

Completely redesigned version of slides Business process modeling with BPMN.

Published in: Technology

Business Process Modeling with BPMN 2.0 - Second edition

  1. 1. Business Process Modeling with BPMN 2.0 2nd edition gregor.polancic@gmail.com
  2. 2. About the Author Gregor Polančič is an assistant professor at the University of Maribor, Slovenia. He received his PhD in 2008 in the fields of software engineering and information systems. He has a decade of experience in BPMN, starting to investigate and actively use BPMN since its first version in 2004. He has participated in the development of one of the first BPMN modeling utilities - a package of plugins for Visio, which were introduced in 2004 and is the main author of the first BPMN poster, which has been translated into several languages and already exceeded 50.000 downloads. In 2008, he was one of the first authors who published an article, dedicated to the experiences and practical use of BPMN. The article was published in ‘BPM and Workflow Handbook’ in association with the Workflow Management Coalition (WfMC). Gregor Polančič is teaching BPMN and BPM since 2005 in several undergraduate and postgraduate courses and has been an invited BPMN lecturer on several Universities. He has participated in several BPMN related local and international workshops and projects and is currently researching BPMN from different technological and user aspects. Gregor Polančič is also owner of the international certificate Certified Business Process Professional for Higher Education Institutions. Gregor Polančič is periodically authoring for Orbus Software and blogging as well preparing learning materials for Good e-learning. http://www.linkedin.com/in/gregorpolancic gregor.polancic@gmail.com This work is licensed under a Creative Commons Attribution-Non Commercial-No Derivatives 4.0 International License. For commercial use or services, please contact the author.
  3. 3. Content • The basics of business processes and BPMN • Basic set of process modeling elements • Full set of process modeling elements • BPMN beyond process modeling 3
  4. 4. THE BASICS OF BUSINESS PROCESSES AND BPMN Business Process Modeling with BPMN 2.0 4
  5. 5. What is a Business Process? • A business process consist of a set of activities that are performed in coordination in an organizational and technical environment. These activities jointly realize a business goal (product or service). • Each business process is enacted by a single organization, but it may interact with business processes performed by other organizations. Realizes Product or service Business process 5(Weske 2012)
  6. 6. Should you Care about Business Processes? • Yes, because each organization produces something or services somebody. • So, each company runs processes, however only some companies are aware of them. Don’t agree? Try to find a counterexample! • Did you know that business processes are organizational assets that are central to creating value for customers? Customer service Engineering Manufacturing Marketing Packaging Quality assuranceSales Shipping Examples of business processes 6
  7. 7. What Kind of Assets are Business Processes? 7 Tangible assets Intangible assets Material, Machines, Infrastructure, Money,… Knowledge, Relationships, Processes, Information,… These are organization’s resources. These are organization’s capabilities. Resources can be acquired. Capabilities CANNOT be acquired. They have to be evolved. • The product or service of an organization depends mainly on how capabilities use (develop, deploy and coordinate) resources. (Orand 2011)
  8. 8. Are you Aware of Business Processes? Process AWARE company • A simple approach to evolve (i.e. improve) processes: 1. If you are aware of processes you can identify them. 2. If you can identify processes you can analyze them. 3. If you can analyze processes, you can evolve (i.e. improve) them. Process UNAWARE company • Any ideas how to evolve processes? 8 Deming (PDCA) circle ?
  9. 9. How Can we Work with Processes? With Modeling. • Can we ‘touch’ a process? No, it actually exists only in our minds. • So, we have to indirectly work with a process. • The best way of working with a process is to model it. 9 Help desk center in a real world Help desk process model Transformation of a real- world business process into a process model.
  10. 10. Benefits of Process Modeling • Representation of processes. • Analysis of processes. • Continuous improvement of processes. • A basis for IT support. • A solid basis for process management. Plan: model processes Do: perform processes Check: monitor processes Act: adjust processes 10 Deming (PDCA) circle
  11. 11. Which „Modeling Language“ Should be Used? • Process models are commonly used for communication between co-workers, customers or business partners. • Besides, processes are commonly modeled, performed on computers in a collaborative environment. • These requires a common - standardized modeling language. 11 Computers and humans can effectively communicate and collaborate in case of a common (process modeling) language.
  12. 12. What We Have Learned so Far … • Each company runs business processes. • Business processes are organizational assets that are central to creating value for customers. • In order to stay competitive, a company needs to continuously improve the processes. • Processes are intangible, so we cannot manage them directly. An effective way to work with processes is to model them. • To take the full potential out of process modeling, a standardized process modeling language should be used. This enables interoperability, communication and collaboration. 12 = BPMN
  13. 13. What is BPMN? • Business Process Model and Notation – Business Process - A collection of related, structured activities or tasks that produce a specific service or product for a particular customer. – Model –a representation of a business process. • Visual proces model – process diagram • Non-visual proces model (e.g. executable process model) – Notation – a set of elements (language) + rules used for representing a business process in a business process model (diagram). 13 Customer request Business process Process outcome Task Task Task Task Content for the model ‚Alphabet‘ for the model The current BPMN version is 2.0.2, released in January 2014.
  14. 14. Why BPMN?  Standardized. The de-facto & ISO/IEC 19510:2013 standard in process modeling.  Open. Created and controlled in an open and fair process.  Simple & complete. Can be used in a simple or detailed way.  Learnable. Based on previous notations.  Interchangeable. Capable of being interchanged between IT solutions.  Executable. Capable of being automated. 14 Standardization enables communication. Openness enables transparency and democracy. Simplicity and learnability enable acceptance and popularity. Interoperability enables humans and IT collaboration. Automation improves process’s efficiency and consistency.
  15. 15. Primary Goal of BPMN • “The primary goal of BPMN is to provide a notation that is readily understandable by all business users /…/. Thus, BPMN creates a standardized bridge for the gap between the business process design and process implementation.” 15 BPMN model Real-world business process New request Receive request Analyze request Approve request Reject request RejectApprove Request approved Request rejected Process modeler Process owner Process participants IT engineer BPMN 2.0 Page 1
  16. 16. In Scope of BPMN Business process modeling • Diagrams (e.g. process diagrams, collaboration diagrams). • Syntax, semantics and visual appearance for process elements (e.g. events, activities and gateways). • Attributes and properties of the semantic elements represented by the graphical process elements. • Formats for exchanging diagrams. Business process execution • Execution semantics. • Formats for exchanging executable models. • Support for BPMN and BPEL process engines. 16 BPMN 2.0 Page 1-12 Focus of these slides Introduced in these slides
  17. 17. Out-of-Scope of BPMN • BPMN is constrained to support only the concepts of modeling that are applicable to business processes. • Out of scope, but related domains are: – Definition of organizational models and resources. – Modeling of functional breakdowns. – Data and information models. – Modeling of strategy. – Business rules models. 17 BPMN 2.0 Page 22 Business rules Data models Organizational structures
  18. 18. Purposes of BPMN Use 18 Conformance type Diagram types Diagram elements Execution Process modeling Process, collaboration, conversation. Full process modeling conformance. Not available. Process execution with BPMN Not available. Not available. Process diagrams. Process execution with BPEL Not available. Not available. Process diagrams. Choreography Choreography and collaboration (partially). Choreography diagram elements and some basic process elements. Choreography. BPMN Conformance types define formal purposes of the use of BPMN and the corresponding software implementations. These slides focus on process modeling conformance. BPMN 2.0 Page 12 Focus of these slides
  19. 19. What is a BPMN Diagram? • A BPMN diagram is actually a visual sentence expressed in BPMN notation. Similar to natural languages a notation (i.e. visual language) consists of a vocabulary, syntax and semantics. 19 BPMN notation BPMN vocabulary BPMN syntax BPMN semantics Expressed in BPMN 2.0 diagram Set of BPMN (visual) elements (i.e. symbols). Set of BPMN rules for combining BPMN elements. The meaning of BPMN elements and their combinations.
  20. 20. BPMN Diagram Types • BPMN is designed to cover many types of modeling and allows the creation of ‚end-to- end‘ business processes. • There are three basic types of sub-models within an ‚end-to-end‘ BPMN model: – Processes – Choreographies (not part of process modeling conformance) – Collaborations 20 The majority of examples on the following slides is related to online store processes. BPMN 2.0 Page 22-23
  21. 21. BPMN Process Diagrams • In BPMN a process is depicted as a graph of flow elements (i.e. activities, events, gateways) and sequence flows that define finite execution semantics. 21 Private (internal) processes - represent a specific process (orchestration) in an organization. Can be executable or non-executable Public process - represents interactions between a private business process and another process or participant. BPMN 2.0 Page 23,150 An executable process is modeled for the purpose of being executed. A non-executable process modeled for the purpose of documenting process behavior at a modeler- defined level of detail. Start shopping Complete order online Order ready notification Type of delivery? Takeover Delivery Request takeover Request delivery Customer goes to the store at his convenience Shopping complete Order delivered Start shopping Complete order online Order ready notification Type of delivery? Takeover Delivery Request takeover Request delivery Customer goes to the store at his convenience Shopping complete Order delivered Store Order request Order available Takeover Delivery Order delivery Ready for takeover Processes can be defined at any level: from enterprise-wide processes to processes performed by a single person. Only those activities that are used to communicate to other participants are included in the public process.
  22. 22. BPMN Collaboration Diagrams • A collaboration represents the interactions between two or more business entities (e.g. processes). • A collaboration usually contains two or more pools (black-box or white- box), representing the participants in the collaboration. • The message exchange between the participants is shown by a message flow that connects two pools (or the elements within the pools). 22 BPMN 2.0 Page 24 Home Store Distribution center Order Product request Product deliveryOrder delivery Collaboration model with white-box pools (i.e. visible details) Collaboration model with black-box pools (i.e. hidden details) HomeStoreDistributioncenter Start shopping Complete order online Order request New order received Check product availability All producs in stock? YES Send order availability notification NO Contact distribution center Products available Deliver order Hold order Deliver order Complete transaction Order ready notification Type of delivery? Takeover Delivery Request takeover Request delivery Delivery Takeover Customer goes to the store at his convenience Shopping complete Order available New product requested Transfer product to store Product delivered Delivery notification Transaction completed Order delivery Order delivered Ready for takeover Customer at the store Request product
  23. 23. BPMN Collaboration Diagram Example 23 A customer starts shopping and completes order online. The order is sent to Store. Then the customer waits for a notification that the product is ready. Based on preferred type of delivery (takeover or delivery) the customer receives or gets the desired product. When the store receives a new order it checks for products availability. In case a product is not in stock, it contacts distribution center. When all order‘s products are available the customer is notified that the product is ready. Based on preferred type of delivery, the product is delivered to customer and the transaction completes. In case of a new product request, the desired product is delivered to requesting store. Message flows are used for between-process interactions and synchronization. CustomerStoreDistributioncenter Start shopping Complete order online Order request New order received Check product availability All producs in stock? YES Send order availability notification NO Contact distribution center Products available Deliver order Hold order Deliver order Complete transaction Order ready notification Type of delivery? Takeover Delivery Request takeover Request delivery Delivery Takeover Customer goes to the store at his convenience Shopping complete Order available New product requested Transfer product to store Product delivered Delivery notification Transaction completed Order delivery Order delivered Ready for takeover Customer at the store Request product
  24. 24. BPMN Conversation Diagrams • A conversation diagram provides an overview of which partners of a certain domain co-operate on which tasks. • Conversation diagrams represent a specific (i.e. top level) ‘view’ of collaboration diagrams. • Conversation diagrams use simple notation: participants, conversation nodes (hexagons) and conversation links (i.e. a series of message exchanges). 24 BPMN 2.0 Page 26 Conversation nodes and links are used only in conversation diagrams. Conversation nodes (i.e. topic of conversation) are actually collections of message flows. Conversation participant.
  25. 25. BPMN Choreography Diagrams • Choreography models are NOT part of process modelling conformance. • Choreographies are new in BPMN 2.0 and focus on between-processes interactions and message flows. • A choreography diagram can be used to analyse how participants exchange information to coordinate their interactions. • Another way to look at choreography is to view it as a type of business ‘contract’ between two or more organizations. 25 BPMN 2.0 Page 25 Complete order online Start shopping Check product availability Type of delivery Takeover Delivery Go to the store Deliver order Complete transaction Shopping complete Customer Customer Customer Customer Store Store Store StoreCustomer Store Order Order availability statusOrder confirmation Order complete confirmation Order sent Order received confirmation Choreographies exist between pools (e.g. participants, organizations). Choreography tasks are used only in choreography diagrams.
  26. 26. Common Use of Different BPMN Diagrams 26 Choreography model within Process 1 – Process 2 collaboration model. Process model for Process 1. Collaboration between Process 1 and Participant 1. Conversation model between Participant 1 and 2. Message exchanges in Process 1 - Process 3 collaboration. Conversation link to Process 1 event. Black-box process 2. Conversation between Participant 2 and Process 1. Process model for Process 3. BPMN 2.0 Page 133, 138 Process1 Task 1 Task 2 Participant 1 Conversation 1Conversation 2 Participant 2 Process 2 Task 1 Task 2 Process3 Task
  27. 27. BPMN Process Modeling Elements • BPMN diagrams are ‘graphs’ of BPMN elements. • BPMN elements have defined: – Syntax – rules about how to use BPMN elements in BPMN diagrams. – Semantics – meaning of BPMN elements. • BPMN elements may have: – Visual representation. – Visual and non-visual attributes. 27 Categories of (visual) BPMN elements Data Connections Flow objects Events Activities Gateways Swimlanes Artifacts Comment BPMN 2.0 Page 27-28
  28. 28. Visible elements and attributes Non-visible elements and attributes Classes of BPMN Elements • The full set of BPMN process modeling elements is additionally divided into three subclasses: – Descriptive subclass of elements is concerned with visible elements and attributes used in high-level modeling. It should be comfortable for majority of process analysts. – Analytic subclass of elements is concerned with visible elements and attributes used in detailed process modeling. Includes all elements from the descriptive level and about half of all process modeling elements. – Common executable subclass of elements focuses on what is needed for executable process models. The palette of elements is between descriptive and analytical, but includes attributes related to executable details. 28 BPMN 2.0 Page 2 (Silver 2011) Full class Analytical subclass Common executable subclass Descriptive subclass
  29. 29. BPMN in a Process Architecture • A process architecture represent a hierarchically (i.e. process abstraction levels) and horizontally (i.e. relationships between processes) organized system of an organization’s business process models. 29 Process landscape diagrams Strategic process diagrams Operational process diagrams Used for representing an overview of organizational processes and their relationships. Partially supported by BPMN (i.e. Conversation diagrams). Used for a conceptual overview of individual business processes. Supported by BPMN with the use of descriptive set of BPMN elements. Used for detailed business process descriptions (i.e. workflows) intended for (technical or human) operation. Supported by BPMN with the use of the full set of BPMN elements. Process architecture levels
  30. 30. BASIC SET OF PROCESS MODELING ELEMENTS Business Process Modeling with BPMN 2.0 30
  31. 31. Descriptive Subclass of Process Modeling Elements • Used to create process diagrams which are readily understood by almost any business person and supported by almost all BPMN tools. • Suited for high-level process modeling. • Should be comfortable for analyst that have used “flowcharts”. POOL LANELANE Task Task Task Sub Process Sub Process (expanded) Call Activity Text <group> Descriptive subclass of BPMN elements
  32. 32. Onlinestore ITsystemEmployees Technical support Customer service Customer Product order Product delivery Swimlanes and Message Flows • A swimlane is a graphical container for partitioning a set of activities from other activities. – A pool is a container for partitioning a Process from other Processes or Participants. – Lanes are used to organize and categorize activities within a Pool. • Between pools communication is modeled with message flows. • Pools are used in process and collaboration diagrams. 32 Lanes can be nested. Lanes are sub- partitions of a pool. A pool represents a participant in a collaboration. A black-box pool. BPMN 2.0 Page 29-30 Between pool communication is performed with message flows.
  33. 33. Complete order online Select product Complete order online Checkout Activities and Sequence Flows • An activity is a generic type of work that an individual or company performs. • An activity can be: – Atomic (task) or – Compound (process, sub-process) – uses a “+” sign. • The sequence of activities is represented with sequence flow connections. 33 Bpmn 2.0 Page 29 A collapsed sub-process with hidden details. An expanded sub-process has visible details. A task is an atomic activity. Sub-processes can be nested. Sequence flow is represented with directed solid lines.
  34. 34. Descriptive Subclass of Activities • Descriptive subclass of BPMN elements includes following activities: – Task (see previous slide) – User Task – Service Task – Expanded sub-process (see previous slide) – Collapsed sub-process (see previous slide) – Call Activity (Task and Sub-process) 34 BPMN 2.0 Page 158-184 User Task is a typical “workflow” task where a human performs a task with the assistance of a software. Service Task is a task that uses some sort of service, which could be a web service or an automated application. Call Activity represents a point in the process where a global process [+] or a global task is used (i.e. GOTO activity). Define shipping address Convert to local currency Validate address Call activity has a thick border. Credit card verification
  35. 35. Start shopping Select a product Wait for confirmation Product is not available End shopping Select an alternative product Buy a product Events • An event is something that »happens« during the process. • Basic (descriptive) events can start a process, as well, they occur at the end of a process. • Icons within the circle shape of an event can indicate the type of triggering (e.g. a message, time condition, rule, etc.). 35 A start event begins a new process (instance). An end event indicates the state of a process when it comes to an end. An intermediate boundary event reacts (e.g. interrupts) to the behavior of the corresponding activity. Bpmn 2.0 Page 29 An intermediate event stops / resumes process flow. A new process flow is started out of an intermediate boundary event. A start event can start an independent process thread (i.e. event-based sub process).
  36. 36. Descriptive Subclass of Events • Descriptive subclass of BPMN elements includes following events: – Generic start event – Generic end event – Message start event – Message end event – Timer start event – Terminate event 36 BPMN 2.0 Page 233-287 A general mechanisms that will instantiate a particular process. It indicates, where a particular process will start. A message arrives from a participant and triggers the start of a process. A specific time-date or a specific time interval can be set that will trigger the start of a process. Indicates where a process will end. This type of end event does not have a defined result. Indicates that a message is sent to a participant at the end of a process. Indicates that all activities (active process paths) in a process should be immediately ended. Begin shopping New order received 8.00 am Shopping completed Product shipped Shutdown online store
  37. 37. Choose payment Start checkout process Credit card PayPal Proceed to checkout Checkout completed Checkout completed Pay with credit card Pay with PayPal Gateways • A gateway is used to control process flow. • A gateway determines branching, forking, merging and joining of business process’s paths. • Icons within the diamond shape of a gateway indicate the type of flow control behavior. 37 BPMN 2.0 Page 29, 34 In case of ‚Credit card‘ the process flow will continue here. In case of ‚PayPal‘ the process flow will continue here. In case Condition A is ‘true’ the process flow will continue here.
  38. 38. Descriptive Subclass of Gateways • Descriptive subclass of BPMN elements includes following Gateways: – Exclusive (XOR) gateway. It is used to create alternative paths within a process flow. – The Exclusive (XOR) gateway MAY or MAY NOT use a marker that is shaped like an “X”. – Parallel (AND) gateway. It is used to create parallel flows and to synchronize (combine) parallel flows. 38 Joining of process paths. (A AND B) Forking of process paths. (A AND B) Merging of process paths (A XOR B). Branching (decision) of process paths (A XOR B). BPMN 2.0 Page 287-302 A B A B C A B A B C
  39. 39. New user Insert user data Store user data User registered User data Registered users Data and Data Associations • Data objects provide information about what activities require to be performed and/or what they produce. – Local variable in a process level. • Data store represents persistent data, which exists outside the scope of the process. • Data objects and data store elements are connected to other process elements (i.e. activities, events) with data associations (dotted arrows). 39 A data object holds information relevant to activities. Bpmn 2.0 Page 30, 208 A data store based information persist beyond the scope of the process. Data association: task ‘insert user data’ ‘writes’ (produces) information to a data object. Data association: task ‘store user data’ ‘reads’ (requires) information from a data object.
  40. 40. Artifacts and Associations • Artifacts are used to provide additional information about the process to modelers. • Artifacts DO NOT affect process flow. • Artifacts are: text annotation, group and documentation. – Documentation is not a visible element. It is an attribute of most elements. • An association is used to link information and artifacts with BPMN graphical elements. 40 An association is commonly used with text annotation. Group is a grouping of graphical elements that are within the same category. Text annotation represents additional description for any part of a process diagram. BPMN 2.0 Page 29,30 Group label. Select a product Proceed to checkout Validate order details On the online store website On a local website
  41. 41. Connecting Objects • Connecting object are visually represented with different styles of non- directed or directed lines. • Sequence flows represent the order of performed activities. • Data associations represent information flows. • Associations connect artifacts with other bpmn elements. • Message flows represent exchange of messages between pools. BPMN 2.0 Page 29 PoolA Pool B Task 1 Task 2 Data Object Comment Data association. Association. Sequence flow. Message flow.
  42. 42. Descriptive Process Modeling Elements 42 Element Graphical representation Element Graphical representation Element Graphical representation participant (pool) serviceTask startEvent (None) laneSet subProcess (expanded) endEvent (None) sequenceFlow (unconditional) subProcess (collapsed) messageStartEvent messageFlow CallActivity messageEndEvent exclusiveGateway DataObject timerStartEvent parallelGateway TextAnnotation terminateEndEvent task (None) association/dataAsso ciation Documentation Non-visual element userTask dataStoreReference Group POOL LANELANE Task Task Task Sub Process Sub Process (expanded) Call Activity <group> BPMN 2.0 Page 3-4 Text
  43. 43. FULL SET OF PROCESS MODELING ELEMENTS Business Process Modeling with BPMN 2.0 43
  44. 44. Full Process Modeling Conformance Elements • Defines all elements, which can be used in process, collaboration and conversation diagrams: – All task types, embedded sub-processes, call activity, – All gateway types, – All event types (start, intermediate, and end), – Lane, participants, data object (including data input and data output), message, group, text annotation, – Sequence flow (including conditional and default flows), message flow, – Conversations (limited to grouping message flow, and associating correlations), correlation, and association (including compensation association). – Markers (loop, multi-instance, transaction, compensation) for tasks and embedded sub-processes). • Out of scope: choreography modeling elements (e.g. choreography task and sub-choreography). 44 BPMN 2.0 Page 2
  45. 45. Task 1 Task 2 Task 3 About Process Instances and Tokens • A process can be executed or performed many times, but each time is expected to follow the steps defined in the process model. A single process performance represents a process instance. • The behavior of a process instance is commonly represented with the flow of tokens. 45 A process is instantiated when one of its Start events occurs. End events consume tokens. Tokens can be generated also within processes (e.g. in case of a parallel gateway). Task 3 is ready. Task 3 is active. Task 3 is complete. States of an activity in relation to the position of a token. A new token represents a new process instance. BPMN 2.0 Page 456
  46. 46. Participant BPMN Process, Pool and Participant 46 Start shopping Complete order online Order ready notification Type of delivery? Takeover Delivery Request takeover Request delivery Customer goes to the store at his convenience Shopping complete Order delivered Bpmn 2.0 Page 112, 145 In BPMN a process is depicted as a graph of flow elements, which are a set of activities, events, gateways, and sequence flows that define finite execution semantics. Pool Person or role Organization A pool is not required to contain a process (i.e. it can be “black box”). Pool A participant represents a specific partner entity or a more general partner role. A pool may include a process. Process A pool can be positioned vertically or horizontally. Iii This symbol (III) annotates that a pool has multiple participants. Pool LaneLane Lanes are used to organize and categorize activities within a pool.
  47. 47. BPMN Events • BPMN 2.0 defines 12 different triggers of events: none, message, timer, error, escalation, cancel, compensation, conditional, link, signal, terminate, multiple and multiple parallel. • An event may ‘catch’ a trigger or ’throw’ it as a result. • Events may be of the following types: – Start events, which indicate where a process will start. • Start events are always of ‘catch’ type. – End events, which indicate process’s end state. • End events are always of ‘throw’ type. – Intermediate events, which indicate where something happens within a process. • Intermediate events may be of ‘catch’ or ‘throw’ type. 47 None Message Timer Error Escalation Cancel Compen- sation Conditional Link Signal Terminate Multiple Multiple paralel Start Intermediate End Event sub-pr. Boundary Inter. Non- inter. Inter. Non. Inter. Catc hing Thro wing BPMN 2.0 Page 233
  48. 48. New order received Store Prepare invoice Maintenance 1.00 am Perform online store maintenance Customer Check products availability 1 minute Restart products availability service Send products status Product status Order confirmation received Order confirmation New product received Distribution center Product delivery notification Stock update Send invoice Invoice Software update New update received Perform online store update BPMN ‘Events by Type’ Example 48 Start events begin (instantiate) a new process instance Intermediate throwing events ‘produce’ a new event. Intermediate catching events ‘wait’ for a specific event to continue with process flow. End events represent final process instance state. Interrupting event- based sub process starting events start a new process flow. Non-interrupting event-based sub process starting events start a new process flow. Non-interrupting boundary events start a new process flow. Interrupting boundary events interrupt existing and start a new process flow.
  49. 49. BPMN Message Events • Message events are used for communication between processes. • Message events send (i.e. throw) or receive (i.e. catch) messages • Message events can be used for modeling: – Asynchronous process start, – Waiting, – Interrupting current work in case a message receives, – Informing other about process results and process end, – Start of an asynchronous task, etc. 49 PoolA Message sent PoolB Message received Message Common use of message events BPMN 2.0 Page 240-251
  50. 50. BPMN Message Events Example 50 StoreDistributioncenter Order request New order received Check product availability All producs in stock? YES Send order availability notification NO Contact distribution center Products available Deliver order Order available New product requested Transfer product to store Product delivered Delivery notification Transaction completed Order delivery Request product Customer Transaction completed notification Software update New update received Perform online store update Order request changed Order Request update IT Support New software update New process instance starts with a new order. In case of a black-box pool, a message is connected to pool’s boundary. In case of reaching end state, the message is triggered. This sub-process is started with a message and interrupts the ‘main’ process flow. In case of a white-box pool, the messages are connected to events and activities. Intermediate throwing events are source (i.e. generate, trigger) a message. Intermediate catching events wait for a message. When message receives, the flow continues. In case a message receives a boundary message event start a new process flow.
  51. 51. PoolA Signal A thrown PoolB Signal A received Signal A thrown PoolC Signal B received Signal B thrown Signal B received BPMN Signal Events • Signals are generated by throwing signal events and caught by catching signal events. • A signal differs from a message, since it has no specific target. – Throw  catch behavior: message events, error events, escalation events. – Publish  subscribe behavior: signal events. • Same signals can be thrown or received several times. • Signals have within pool and between pools scope. 51 Bpmn 2.0 Page 241 Signal A is thrown twice. Signal B is caught twice. Signal A is thrown and caught in the same pool. Signal A is thrown and caught in different pools.
  52. 52. Manage ISP maintenances OnlinestoreDistributioncenter Internetservice provider Maintenance schedule Define maintenance schedule ISP maintenance notification Manage ISP maintenances ISP maintenance notification Notify registered users about online store unavailability ISP maintenance notification Connect to the secondary ISP BPMN Signal Events Example 52 In case an Internet Service Provider (ISP) plans a new maintenance it published maintenance notification. Distribution center is subscribed to ISP’s notifications. In case a ‘signal’ is received, the distribution center connects to the secondary ISP provider. Online store is subscribed to ISP’s notifications. In case a ‘signal’ is received, the work continues, however customers are notified about the potential online store unavailability. Non interrupting event based sub process signal start event. Note that signals are NOT directed to a specific target (i.e. no connections). Signal throwing events are similar to a radio transmitter. Signal catching events are similar to radio receivers.
  53. 53. BPMN Timer Events • A timer event occurs by a specific time condition (e.g. specific time, interval, duration) • Timer events can only react on the corresponding condition (i.e. ‘catch type’). • Timer events can be used for modeling: – Scheduled process start, – Waiting, – Interrupting current activity after the elapsed time, – Informing about the elapsed time, – Start of a pre-scheduled job, etc. 53 Do work 8.00 AM 1 hour 10 minutes 1 minute Inform about elapsed time Scheduled process start. Inform about elapsed time each minute. Wait 10 minutes. Interrupt activity after 1 hour. BPMN 2.0 Page 253,254
  54. 54. Distribution center database 5.45 AM New product request Check product availability 1 minute Restart service Database backup Each hour Backup Backup complete 5 minutes Order product from manufacturer YES NO Product available notification Product not available notification Inform IT expert Open distribution center 6.00 am Service restart 0.00 Restart service Service restarted Distributioncenter 6 pmClose distribution center BPMN Timer Events Example 54 At 5.45 AM the distribution center starts working. Wait until 6.am. Each hour, the database is backed- up where the current work continues At 0.00, the distribution center service is restarted. In case the service checks for products more than a minute, it is restarted. In case restart takes more than 5 minutes, IT expert is contacted. At 6.00 pm, the distribution center stops receiving requests.
  55. 55. BPMN Error Events • An error (end) event is thrown when an activity (i.e. task, sub process) does not end successfully. – All currently active threads in the particular sub- process are terminated as a result. • An exceptional end state can be caught by an intermediate error event attached to the boundary of an activity. – An activity can have several boundary error events attached (each representing distinct end exception states). – Note that an error event always interrupts the activity to which it is attached. 55 Sub Process Task Task Event-based subprocess An error start event can only start an event-based sub process. An intermediate error boundary event catches exception end state exit from the task or sub process. Exception end state exit from the task or sub process. In this case the catch exception event will terminate the process. End throwing error event. BPMN 2.0 Page 247,255
  56. 56. StartIntermediate End Event based sub- process Boundary Interrupting Non- interrupting Interrupting Non- interrupting Catching Throwing BPMN Escalation Events • Escalations events are useful for the communication between sub-processes and processes. – Escalation events enable “throw-catch” behavior (i.E. In case an escalation happens, the next higher level of responsibility is involved). • In concept, escalations are similar to errors, but are generally less critical. – In contrast to error events escalation events can be non-interrupting. • Escalations events usually represent a situation where human intervention is required. 56 BPMN 2.0 Page 247,255 An error event always interrupts current activity or flow. An escalation event doesn’t need to interrupt current activity or flow. Escalation events. Error events.
  57. 57. BPMN Error and Escalation Events Example 57 Onlinestore New order request Validate order Check credit Check product availability Service unavailable Service unavailable Service unavailable Fulfil order Service unavailable Contact IT stuff Technical problems notification Bad credit Resolve issue Resolve issue Contact customer Deliver order Service unavailable Product unavailable Resolve issue SalesFinancesWarehouse Contact manufacturer In case an error event is caught the corresponding activity is interrupted. Escalation is commonly manually resolved by another role or department. In case of bad credit escalation is thrown but the sub process continues. In case of unavailability the sub process cannot continue normally. Intermediate escalation events can throw escalations and then continue. This end event represents successful process end.
  58. 58. Server room temperature > 40°C Check server‘s CPU temperature > 50°C Start emergency cooling CPU temperature < 40°C Stop emergency cooling Send server room temperature Check temperature Check temperature BPMN Conditional and Link Events • A conditional event signifies a continuously monitored condition. • When condition becomes ‘true’ the event is triggered. • Link events pair (i.e. throw – catch) is a visual shortcut for a sequence flow. – Link events may not be used between pools or parent-child process levels. 58 Start process in case this condition is ‘true’. Begin new process path if T > 50°C Stop cooling if T < 40°C Continue process flow at ‘Check temperature’ BPMN 2.0 Page 267-270
  59. 59. BPMN Multiple Events Multiple (OR) • Start – There are multiple ways of starting the process. • Intermediate / boundary – Catch / boundary: only one event definition is required to catch the trigger. – Throw: all of the event definitions are considered and the subclasses will define which results apply. • End – There are multiple consequences of ending the process. Parallel multiple (AND) • Start – There are multiple triggers required to start the process. • Intermediate / boundary – All of the defined event definitions are required to trigger the event. • Parallel multiple events are only of type ‘receive’ (catch). 59 StartIntermediate End Event based sub- process Boundary Interrupting Non- interrupting Interrupting Non- interrupting Catching Throwing BPMN 2.0 Page 271-273
  60. 60. 0.00 AM OR request for restart OR signal OR > 60°C Restart online store‘s server Status OK AND 10 minutes Send server restarted OR signal server restarted5 minutes OR Error Inform IT staff Multiple Events Example 60 Multiple ways of starting the process. Equivalent process with non- multiple events Multiple ‘consequences’ of ending the process. Multiple event definitions (i.e. basic events) are necessary to continue with the process. Event definitions with OR conditions. Restart is interrupted after 5 minutes or after an error is caught. Restart online store‘s server 0.00 AM Request for restart Restart signal Temperature over 60°C Server status OK 10 minutes Started with message Started with signal Send server restarted Signal server restarted 5 minutesError Inform IT staff
  61. 61. BPMN Activities • Activities represent points in a process flow where work is performed. They are the executable (i.e. manual, automatic) elements of a BPMN process. • The types of activities that are a part of a process are: – Task (atomic activity) – Sub-process (compound activity) – Call activity (allows the inclusion of re-usable Tasks and Processes in the diagram), • A process is not a specific graphical object. Instead, it is a set of graphical objects. 61 BPMN 2.0 Page 151 Sub Process 1Task 1 Task 1.1 Sub Process 1.1 Task 1.2 Task 1.1.1 Task 1.1.2 Process Sub process 1 Sub process 1.1
  62. 62. Types of BPMN Activities • Special activities (i.e. sub-processes and tasks) – Behavior: loop, multiple instance (sequential, parallel), compensation, call activity. • Special sub-processes (i.e. compound activities) – View: collapsed / expanded – Type: basic (i.e. embedded), event-based sub process, transaction, ad-hoc. • Special tasks (i.e. atomic activities) – Types: manual, user, service, send, receive, rule, script. 62 Special task types. Special task and sub- process types. Special sub- process types. BPMN 2.0 Page 151-152 User Task Send Task Rule Task Service Task Receive Task Script Parallel multiple instance Sequential multiple instance Compensation Global (call) Activity Sub Process (collapsed) Event-based Sub Process Transaction Sub Process (expanded) Task Task Manual Task Ad-hoc subprocess Standard Loop
  63. 63. BPMN Task Types • A service task is a task that uses some sort of service, which could be a web service or an automated application. • A send task is a simple task that is designed to send a message to an external participant (relative to the process). Once the message has been sent, the task is completed. • A receive task is a simple task that is designed to wait for a message to arrive from an external participant. Once the message has been received, the task is completed. • A user task is a typical “workflow” task where a human performer performs the task with the assistance of a software application and is scheduled through a task list manager of some sort. • A manual task is a task that is expected to be performed without the aid of any business process execution engine or any application. • A business rule task provides a mechanism for the process to provide input to a business rules engine and to get the output of calculations that the business rules engine might provide. • A script task is executed by a business process engine. The modeler or implementer defines a script in a language that the engine can interpret. When the task is ready to start, the engine will execute the script. When the script is completed, the task will also be completed. 63 BPMN 2.0 Page 158-164 Service Task Send Task Receive Task User Task Manual Task Business Rule Script Task
  64. 64. New order received Store Prepare invoice Customer Check products availability Order sent Order Order packaging Evaluate user rating Send invoice Receive payment Invoice Payment Calculate total costs BPMN Task Types Example 64 Service task symbol indicates that an (external) IT solution (service) performs a task. Business rule symbol indicates that a business rule engine evaluates a task. Script task symbol indicates that a task is automatically executed by a business process engine. Manual task symbol indicates that a task is performed without IT support. Receive task symbol indicates that a task waits for a message from another participant (pool) in order to be performed. Send task symbol indicates that a task sends a message prior to its end.
  65. 65. Start shopping Add a product to the cart Complete order Order sent Until go to checkout BPMN Activities: Loops • Loop activity is a repeating activity with sequential iteration. – You cannot start second loop iteration until finishing the first one. • Loop activity is primary evaluated at the end. – ‘Do-while’ type of loop. – When the first iteration starts, the number of iterations is unknown. • The activity will loop as long as loop condition is true. • A loop marker can be attached to sub- processes and tasks. 65 Start shopping Proceed to checkout YES Add a product to the cart NO Complete order Order sent A loop activity. A non-loop activity with gateway-loopback. Loop condition can be highlighted in a comment. (Silver 2011) BPMN 2.0 Page 189-190
  66. 66. BPMN Activities: Multi Instance • The multi instance activity represents an activity with several activity instances. • The instances may execute in parallel or may be sequential. • Multi instance activity makes sense when the process instance data contains some kind of collection (e.g. items in an order). • The number of iterations is known in advance – ‘For each’ type of loop. • Can be applied to tasks and sub-processes. 66 New order received Check item 1 availability Check item 2 availability Check item 3 availability Check item 4 availability New order received Check order‘s items availability For each order item Number of items is indicated with a text annotation. Multiple instance marker (parallel). Multiple parallel instances realized with an AND gateway. Check order‘s items availability This marker annotates sequential execution of multiple instances. BPMN 2.0 Page 432, 433
  67. 67. BPMN Sub-processes • A sub-process is a graphical object within a process, which can be “opened up” to show a lower-level process. • Sub-processes define a contextual scope that can be used for : – attribute visibility, – transactional scope, – for the handling of exceptions or events, – for compensation. • A sub process can be in collapsed (i.e. hidden details) or expanded (i.e. visible details) view. 67 BPMN 2.0 Page 174-175 Repeating subprocess Multi instance (paralel) subprocess Multi instance (sequential) subprocess Compensation subprocess Compensation ad- hoc subprocess Compensation subprocess Sub Process (expanded) Task 1 Task 2 Task 3 An expanded sub-process with three parallel tasks. Collapsed sub- process markers.
  68. 68. BPMN Sub-Processes: Ad-hoc • A specialized type of sub-process in which activities have no required sequence relationships. – The sequence and number of performances for the activities is determined by their performers. – Some sequence and data dependencies can be defined. • During the execution of the ad-hoc sub- process, any one or more of the activities may be active. • An ad-hoc sub process is complete when a performed declares it to be complete. 68 BPMN 2.0 Page 180-183 (Silver 2011) Online shopping Check Top Sellers Add to card List a category View an item Visual marker for an Ad-hoc sub-process. Some Activities may be connected. Not all of the child activities must be performed in order to complete. Activities may be performed multiple times.
  69. 69. BPMN Sub-processes: Event-based • An event sub-process is not part of the normal process flow. – It has no incoming or outgoing sequence flows. • When an event sub-process is triggered the parent process: – Can be interrupted, – Can continue its work. • An event sub-process may occur zero or many times. 69 BPMN 2.0 Page 176-178 New order received Store Prepare invoice Backup 1.00 am Perform online store back-up Customer Check products availability Send products status Product status Order confirmation received Order confirmation Send invoice Invoice Software update New update received Perform online store update Event sub-process interrupting message event – it interrupts main process flow. Event sub-process non-interrupting timer event – the main process flow continues. Event sub-process is bordered with a dotted line.
  70. 70. BPMN Sub-Processes: Transactions • BPMN provides built-in support for business transactions. • A transaction consists of several activities and might result in following outcomes: – Successful completion. In this case, all tasks in a transaction are completed successfully. – Failed completion (cancel). This scenario occurs if any of the pre-determined criteria of failure of the transaction is satisfied or in case an ‘abort’ message is received from outside of the transaction. – Hazard (exception). In this case any of the tasks in the transaction end up not being executed or compensated. BPMN 2.0 Page 178-180 Book service package Cancel transaction Error in transaction Successful completion Transactional sub-process. Consists of at least two activities. All activities have been successfully finished. Failed completition. Hazard (serious problem) in transaction.
  71. 71. BPMN Sub-processes: Transactions Example Book service package Service required Book service item Book service Unavailable Unavailable Cancel Dispose item Cancel service booking Request approoval of service‘s date 1 hour Error in transaction Resolve problem manually Customer approves service‘s date Disapproval received 1 day Purchase service package Payment error Service package confirmed Undo Book service package Service package canceled Transactional sub-process. Transactional input. Transactional successful completion. Canceling transaction undoes finished activities with compensating activities. Compensating activity is activated in case of cancel or throwing compensation event. Error in the transaction terminates the process. In case of cancel the transaction is repeated in an hour. Throw compensati on event. Directed association.
  72. 72. BPMN Gateways • Gateways are used to control how sequence flows interact as they converge and diverge within a process. – Decisions/branching (exclusive, inclusive, and complex), merging, forking, and joining. • Gateways are capable of consuming or generating additional tokens (i.e. AND gateway). • Gateways have zero effect on the operational measures of the process being executed – E.g. process duration, and costs. • A single gateway could have multiple input and multiple output flows. 72 Exclusive XOR Inclusive OR Parallel Event based Exclusive Event-based start Parallel Event-based start Complex BPMN 2.0 Page 287,288 BPMN 2.0 Gateways
  73. 73. Choose payment method PayPal Credit card Bank debit Pay with PayPal Pay with Credit Card Pay with Bank debit Pay on Delivery Cash on delivery Checkout Deliver order BPMN Gateways: Exclusive (XOR) • A diverging exclusive gateway (XOR) is used to create alternative paths (i.e. decisions) within a process flow. – A decision can be thought of as a question that is asked at a particular point in the process. – The question has a defined set of alternative answers. • The exclusive gateway may be represented with or without an x marker. 73 Branch implemented with an exclusive gateway (with X marker). The token travels only along one path (sequence flow). Default flow prevents deadlocks in case no Gateway’s conditions are met. Token. The process continues from checkout. Merging flows with XOR. XOR Gateway without X marker. BPMN 2.0 Page 290-292 Conditions.
  74. 74. BPMN Gateways: Inclusive (OR) • A diverging inclusive gateway (inclusive decision) can be used to create alternative but also parallel paths within a process flow. • All combinations of the outgoing paths may be taken, from zero to all. – A default flow assures at least one active path. • A converging inclusive gateway is used to merge a combination of alternative and parallel paths. – An or gateway join is like an and gateway join except that it ignores incoming sequence flows that are not enabled. 74 Analyze customer‘s profile Analyze customer‘s orders history Analyze customer‘s ratings New customer Default Order > 1000 € Order received Prepare invoice Branch implemented with an inclusive gateway. Several outgoing paths may be activated. BPMN 2.0 Page 292-293 Each condition is evaluated independently. A converging inclusive gateway (join). One token continues after OR join.Inclusive gateway is semantically equal to conditional sequence flow. Condition
  75. 75. BPMN Gateways: Parallel (AND) • A parallel gateway is used to create parallel flows and synchronize (combine) parallel flows. – A parallel gateway creates parallel paths without checking any conditions. – Each outgoing sequence flow receives a token upon execution of and gateway. • For incoming flows, the parallel gateway will wait for all incoming flows before triggering the flow through its outgoing sequence flows. 75 Prepare invoice Prepare package Deliver order Payment conformed AND gateway representing unconditional split. AND gateway representing join. Prepare invoice Prepare package Payment conformed Unconditional split without a gateway. All outgoing paths become active. All incoming paths need to be active to proceed. BPMN 2.0 Page 293-295
  76. 76. Order over 10000 € Validate user‘s profile Validate user‘s ratings Validate user‘s credit card Low risks Whichever completes first Report High risks Contact user BPMN Gateways: Complex • The complex gateway is mainly used to model complex synchronization behavior. – Text annotation may be used to explain intended behavior. – Example behavior: three out of five incoming sequence flows are needed to activate the gateway. • What tokens are produced by the gateway is determined by conditions on the outgoing sequence flows (similar to inclusive gateway). • Complex gateway commonly implements discriminator pattern – It passes the first incoming sequence flow and blocks all the rest. 76 Discriminator pattern (behavior) disposes the “slowest” token. Complex behavior is defined in a text annotation. Branching behavior is similar to inclusive gateway. Complex gateway. BPMN 2.0 Page 295-296
  77. 77. BPMN Gateways: Event Based XOR • Event-based exclusive gateway is similar to XOR gateway but the trigger of the gateway is based on event instead of data condition. • Each alterative path must include a ‘catching flow element’. – Receive activity may be also used. • The timer event commonly acts as a ‘default event’. – E.g. wait for any messages for a day. 77 BPMN 2.0 Page 297-298 Customer Store Takeover requested Delivery requested 1 day Dispose order Prepare order for delivery Prepare order for takeover Takeover Delivery Timer event acts as a default flow. The decision is made by another participant. The first triggered event defines the sequence flow. Event based exclusive gateway. Other tokens are disposed.
  78. 78. BPMN Gateways: Event Based Start • Event-based start gateways are used to instantiate a process in case of several start events. 78 Message A 1 day X > 100 Message A X > 100 1 day = Message A 1 day X > 100 Message A X > 100 1 day = The process is instantiated with the first triggered event. However other events are required for the same process instance. Parallel event-based gateway to start a process. Exclusive event-based gateway to start a process In this case triggering of each new start event creates a new process instance. The process is instantiated if one of the corresponding events is activated. The behavior is similar to an XOR gateway, which merges multiple star events. BPMN 2.0 Page 299
  79. 79. Task Task Task Task Controlled and Uncontrolled Flows Controlled flows • Control of sequence flows from one flow object (i.e. gateway, activity, event) to another with: – Gateways – Conditional sequence flows Uncontrolled flows • No control of sequence flows from one flow object (i.e. gateway, activity, event) to another. – Use of (normal) sequence flows. 79 Task Task Task BPMN 2.0 Page 500-503 ? ? ? The execution of these flows (?) depends on a condition. These flows perform always.
  80. 80. Forking Uncontrolled Flows • BPMN uses the term “fork” to refer to the dividing of a path into two or more parallel paths (also known as an AND-Split). It is a place in the process where activities can be performed concurrently, rather than sequentially. 80 Task Task Task Uncontrolled fork realized with multiple outgoing flows. BPMN 2.0 Page 36 These two processes behaviors are equal. Task Task Task Controlled fork realized with a parallel gateway.
  81. 81. Task Task Task Merging Uncontrolled Flows • BPMN uses the term “merge” to refer to the exclusive combining of two or more paths into one path. – Uncontrolled merge should be used only if all incoming sequence flows are alternative (exclusive). 81 Uncontrolled merge realized with multiple incoming flows. BPMN 2.0 Page 38 Task Task Task Controlled merge is realized with an exclusive parallel gateway. These two processes behaviors are equal. In this case this and the following tasks will be performed twice.
  82. 82. Items and Data • Process modeling commonly requires modeling of items, that are managed (e.g. created, manipulated, stored, sent, received) during process execution. • Items may represent: – Information (e.g. order and invoice) which moves via information flows. – Physical items (e.g. online store products) which move via material flows. • BPMN elements, which are capable to manipulate with items, are called “item aware elements” (i.e. data objects, data object references, data stores, properties, data inputs and data outputs) – Properties are not visual BPMN elements, but are part of following flow elements: processes, activities and events. – Data object references are a way to reuse data objects in the same diagram. They can specify different states of the same data object at different points in a process. 82 An invoice (data) is an information item The products of an order might be physical items. BPMN 2.0 Page 203
  83. 83. Data Objects • Data object represents a local instance variable. It is visible only within the process level in which it is defined and its child levels and the variable is disposed when the process level instance is complete. • Data object collection represents an array of data object elements. – Data object has an optional [state] attribute (e.g. draft, reviewed, released). • Data inputs (collections) represent the inputs to a top-level process or a called process. • Data output (collections) are visually displayed on a top-level process diagram to show the outputs of the process. • A data store provides a mechanism for activities to retrieve or update stored information that will persist beyond the scope of the process. 83 Data Object Data Object collection Data input Data input collection Data output Data Output collection (Silver 2011) Data Store BPMN 2.0 Page 203-209
  84. 84. Pool Pool Task 1 Task 2 Data Object Comment Connecting Objects • In BPMN, different types of connecting objects are necessary to represent different types of flows in a process diagram. 84 Message Flows are used to show the flow of messages between two participants (i.e. pools) that are able to send and receive them. Sequence Flows are used to represent the order of flow elements in a process. Data Associations are used to show the flow of information between activities in a business process. Associations are used to link artefacts with other BPMN (graphical) elements.
  85. 85. Connecting Objects: Sequence Flows • A sequence flow is used to represent the order of flow elements in a process. • Each sequence flow has only one source and only one target. • Sub-types of sequence flows: default sequence flow, conditional sequence flow. 85 New order received Store Prepare invoice Customer Order Check items availability Allitems available Send invoice Invoice Itemunavailable Request from warehouse Warehouse Item available Solid arrows represent sequence flows. Diamond represents conditional sequence flow (similar to inclusive gateway). Sequence flows may NOT be used between Pools (processes). Default (sequence) flow is used to prevent deadlocks in case of conditional flows or gateways. BPMN 2.0 Page 97-98
  86. 86. Connecting Objects: Sequence Flow Rules • Sequence flow may NOT connect to – A start event, catching link event. – Artefacts and data objects. • Sequence flow may not result from – An end event, throwing link event. – Artefacts and data objects. • Sequence flow may not cross: – Pool’s boundary. – Process – sub-process boundary. 86 Task Sub Process Task Sub Process Sequence flows may connect FROM these (groups of) elements. Sequence flows may connect TO these (groups of) elements. Sequence flows. BPMN 2.0 Page 42-43
  87. 87. Connecting Objects: Message Flows • A message flow is used to show the flow of messages between two participants that are ‘capable’ to send and receive them. – The source of a message flow must be either a message or multiple end event, or throwing intermediate event, an activity or black-box pool. – The target of a message flow must be either a message or multiple start event, catching (message, multiple) intermediate event, boundary event, an activity or a black-box pool. • A message can be optionally depicted as a graphical decorator on a message flow. • To associate a message to a particular process instance, bpmn uses correlations (non-visible concept). (Silver 2011) Message flows may connect FROM these elements. Message flows may connect TO these elements. Message flow. Initiating message Message (non-initiating) BPMN 2.0 Page 44 Pool Task Sub Process Pool Task Sub Process Task
  88. 88. Data Associations • Data associations are used to represent the flow of data between item-aware elements (i.e. data objects, data object references, data stores, properties, data inputs and data outputs). • Tokens do not flow along a data association, and as a result data associations have no direct effect on the flow of the process. 88 Data associations may connect FROM these elements. Data associations may connect TO these elements. BPMN 2.0 Page 222-225 Data association connector. Pool Task Sub Process Global Activity Pool Task Sub Process Global Activity Data Store Data Object
  89. 89. Items availability New order received Store Prepare invoice Customer Order Check items availability Send invoice Invoice Warehouse Validate customer User report Customer‘s history [updated] Items Customer‘s history InvoiceOrder Data and Data Associations Example 89 For a catch event, data associations are used to push data from the message received into data objects and properties. For a throw event, data associations are used to fill the message that is being thrown. Data objects MAY be directly associated with a sequence flow connector. Data associations are used to represent inputs and outputs of activities. Data associations may cross process’s (pool) boundaries. Two processes interacting via data store. This data output object has a state defined [updated]. Data object inputs and outputs provide information for processes.
  90. 90. Full Set of Process Modeling Elements BPMN 2.0 Page 3-4 None Message Timer Error Escalation Cancel Compen- sation Conditional Link Signal Terminate Multiple Multiple paralel Start Intermediate End Event sub-pr. Boundary Inter. Non- inter. Inter. Non. Inter. Catc hing Thro wing User Task Send Task Rule Task Service Task Receive Task Script Standard Loop Parallel multiple instance Sequential multiple instance Compensation Ad-hoc Global (call) Activity Sub Process (collapsed) Event-based Sub Process Transaction Sub Process (expanded) Task Task Manual Task Exclusive XOR Inclusive OR Parallel Event based Exclusive Event-based start Parallel Event-based start Complex Annotation Group Documentation Sequence flow Default flow Conditional flow Message flow Association Directed/data association Data object Data store Message Data input Collection Data output Initiating message Pool Lane Lane Lane Full class Analytical class Descriptive class
  91. 91. BPMN Modeling Rules (i.e. BPMN Syntax) • Address the syntactic quality of BPMN diagrams. • Formally defined in BPMN meta- model – UML class diagrams. – Include precise definition of BPMN elements, their attributes and the relationships between elements. • BPMN modeling rules are scattered over the BPMN specification. 91(Silver 2011) Excerpts of BPMN 2.0 rules, collected by Bruce Silver: • All flow objects other than start events, boundary events, and compensating activities must have an incoming sequence flow, if the process level includes any start or end events. • All flow objects other than end events and compensating activities must have an outgoing sequence flow, if the process level includes any start or end events. • A start event cannot have an incoming sequence flow. • A start event cannot have an outgoing message flow. • A start event with incoming message flow must have a message trigger. • A start event cannot have an error trigger. • A start event in a sub-process must have a none trigger. • A boundary event must have an outgoing sequence flow. • A boundary event trigger must be either message, timer, signal, error, escalation, conditional, cancel, or compensation. • A boundary event cannot have incoming sequence flow. • An error boundary event on a sub-process requires a matching error throw event.
  92. 92. BPMN Modeling Style • Addresses the pragmatic quality of BPMN diagrams. • Non-normative conventions used in BPMN diagrams. • Out of scope of BPMN 2.0 Specification. • Useful to create consistent and unambiguous BPMN diagrams. • Can be acquired or evolved within an organization. 92(Silver 2011) Examples of Bruce Silver’s Style Rules: 1. Use icons and labels to make process logic clear from the printed diagram. 2. Make models hierarchical, fitting each process level on one page. 3. Use a black-box pool to represent the Customer of other external requester or service provider. 4. A child-level diagram should not be enclosed in an expanded sub- process shape. 5. The label of a child-level page should match the name of the sub- process. 6. Activities should be labeled. 7. Two activities in the same process should not have the same name. (Use global activity to reuse a single activity in a process.) 8. A Send task should have an outgoing message flow. 9. A Receive task should have an incoming message flow. 10. A Timer start event should be labeled to indicate the process schedule. 11. A start event in a top-level process should be labeled. If a top-level process contains more than one start event, all should be labeled to identify the alternative start conditions.
  93. 93. BPMN Modeling Method • BPMN Method – A ‘recipe’ (also approach or process) about how to create business process diagrams. • BPMN Method is out of scope of BPMN 2.0 Specification. • Useful to create consistent business process diagrams across an organization. • Can be acquired or evolved within an organization. 93(Silver 2011) Bruce silver’s method of hierarchical top-down modeling: 1. Agree on process scope, when it starts and ends, what the instance represents, and possible end states. 2. Enumerate major activities in a high-level map, ten or fewer, each aligned with the process instance. Think about possible end states of each activity. 3. Create top-level bpmn diagram. Arrange high-level map activities as sub processes in a BPMN process diagram, with one top-level end event per process end state. Use gateways to show conditional and concurrent paths. 4. Expand each top-level sub process in a child-level diagram. If sub process at parent level is followed by a gateway, match sub process end states to the gateway (or gate) labels. 5. Add business context by drawing message flows between the process and external requester, service providers, and other internal processes, drawn as black-box pools. Message flows connecting to collapsed sub process at parent level should be replicated with same name in the child-level diagram. 6. Repeat steps 4 and 5 with additional nested levels, if any.
  94. 94. BPMN BEYOND PROCESS MODELING Business process modeling with BPMN 2.0 94
  95. 95. BPMN Meta-model • Meta-model is a formal specification of: – semantic BPMN elements (most of them have visual representations) and – relationships between semantic BPMN elements. • Meta-model is represented in UML’s class diagrams. – (semantic) BPMN elements are represented as object classes with defined required and optional attributes. • All valid BPMN models must conform to the specification of the meta-model. 95 M1: Instance of a model Metadata instances e.g. Mark’s invoice M2: Model Metadata Schema e.g. BPMN data object representing an Invoice M2: Meta-model Schema definition languages e.g. BPMN Meta-model for Data Object M3: Meta-meta-model Universal modeling language MOF Meta-Levels Hierarchy(Silver 2011)
  96. 96. BPMN Meta-model Example: Data Object 96 BaseElement is the abstract super class for most BPMN elements. It provides the attributes id and documentation, which are inherited other elements (classes). Inheritance relationship. DataObject is an Item Aware Element. DataObject might have Data states (e.g. draft, in review, final). Each element might have documentation attached to it. The DataObject element inherits the attributes and model associations of FlowElement and ItemAwareElement. Meta-model defined in UML’s class diagram notation. isCollection attribute defines if the Data Object represents a collection of elements. Data Object References are a way to reuse Data Objects in the same diagram. Classes are organized in packages (e.g. foundation). BPMN 2.0 Page 204
  97. 97. BPMN Layered Structure • The BPMN specification is structured in layers (i.e. packages of classes, where a class represents a semantic BPMN element). – A semantic element might have a visual representation or not. • Each layer defines a subset of BPMN semantic elements and models. – Each layer builds on top of and extends lower layers. • Process modeling with BPMN includes elements and diagrams, which belong to all layers except choreography. 97 BPMN 2.0 Page 2 Basic BPMN elements, which are common to all BPMN models. This layer defines elements, specific for Conversation diagrams. Elements, which belong to yellow layers are specific for process diagrams. Layer of elements, which are specific for choreography models. This layer defines elements, specific for Collaboration diagrams. Choreography layer IS NOT part of process modeling conformance.
  98. 98. BPMN Diagram Interchange (DI) • BPMN DI describes the location and size of shapes and connectors as well as the linked page structure of BPMN diagrams. – BPMN DI Meta-model is similar to BPMN’s semantic meta-model. • The BPMN DI is meant to facilitate interchange of BPMN diagrams between tools rather than being used for internal diagram representation by the tools. • BPMN diagram consists of – BPMN DI meta-model information, – BPMN semantic meta-model information. 98 DI::Labeled Shape BPMNShape isHorizontal:boolean [0..1] isExpanded:boolean [0..1] isMarkerVisible:boolean [0..1] isMessageVisible:boolean [0..1] participantBandKind:participantBandKind :[0..1] -memberName BPMNLabel BPMN::BaseElement shape 0..1 label 0..1 shape * bpmnElement0..1 1 0..1 Referenced BPMN element, which defines the semantic of BPMN element. BPMNShape represents a depiction of a BPMN element. BPMN DI Shape meta-model. BPMN 2.0 Page 372 BPMNShape also contains an optional label of type BPMNLabel. (Silver 2011)
  99. 99. BPMN Serialization • BPMN Meta-models (semantic and DI), which are represented in class diagrams, are published (i.e. serialized) in two alternative XML formats: – OMG’s Metadata interchange (XMI) and – W3C’s XML Schema Definition (XSD). • Most BPMN tool vendors use XSD for interchanging models. • Cannot represent certain relationships of UML class diagrams (e.g. multiple inheritance). – Transformations between XSD and XMI exist. • Defined in XSLT. • In BPMN XSD, the information concerning the graphical layout of shapes (e.g. position, size, connection points) is separated from the semantic model. – A valid BPMN model may omit the graphical informations of a BPMN model completely. 99 BPMN20.xsd Semantic.xsd BPMNDI.xsd DI.xsd DC.xsd BPMN 2.0 schema file structure Semantics of a BPMN model. Graphical layout of a BPMN model. (Silver 2011)
  100. 100. BPMN Execution Semantics • Part of BPMN Process Execution Conformance. – Not required for BPMN Process Modeling Conformance. • Describes a clear and precise understanding of the operation of BPMN ‘executable’ elements. – Common executable subclass of BPMN elements defines basic ‘executable’ BPMN elements. – Those BPMN elements, capable of being executed on a process engine. – Non-operational elements examples: manual task, ad-hoc process and abstract task. • BPMN execution semantics defines: – Process instantiation and termination, – Flow elements (activities, gateways, events) behavior, • Execution semantics includes: – A description of the operational semantics of the element. – Exception issues for the element where relevant. – List of workflow patterns supported by the element where relevant. 100 BPMN 2.0 Page 425
  101. 101. BPMN Execution Semantics: Activity Lifecycle 101 BPMN 2.0 Page 428-429 An activity is ready for execution if the required number of tokens is available to activate the activity /…/. When some data InputSet becomes available, the Activity changes from Ready to the Active state /…/. An Activity, if Ready or Active, can be Withdrawn from being able to complete in the context of a race condition /…/. An Activity’s execution is interrupted if an interrupting Event is raised 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). If an Activity’s execution ends without anomalies, the Activity’s state changes to Completing /…/. If an Activity fails during execution, it changes from the state Active to Failed. After all completion dependencies have been fulfilled, the state of the Activity changes to Completed /…/.
  102. 102. References • OMG, 2011. Business Process Model and Notation version 2.0. Available at: http://www.omg.org/spec/BPMN/2.0/ [Accessed January 15, 2014]. • Weske, M., 2012. Business process management concepts, languages, architectures, Berlin; New York: Springer. Available at: http://site.ebrary.com/id/10650313 [Accessed January 14, 2014]. • Orand, B., 2011. Foundations of IT Service Management: The ITIL Foundations Course in a Book 3rd ed. J. Villarreal, ed., CreateSpace Independent Publishing Platform. • Silver, B., 2011. BPMN method and style: a structured approach for business process modeling and implementation using BPMN 2.0, Aptos: Cody-Cassidy Press. 102

×