Business-Driven Software Engineering Lecture 5 Business Process Model and Notation

Similar documents
Appendix D: Mapping BPMN to BPD Profile

3. Business Process Diagrams

Security Requirements Modeling Tool

Business Process Model and Notation (BPMN)

Data and Process Modelling

Business Process Modeling with BPMN

4. Business Process Diagram Graphical Objects

LAB-03 BPMN Resource Perspective and Events

Process modeling II. PV207 Business Process Management

BPMN Getting Started Guide

3. Business Process Diagram Concepts

1Z0-560 Oracle Unified Business Process Management Suite 11g Essentials

Faster Or-join Enactment for BPMN 2.0

BPMN 2.0 Extensions for Enterprise Architect

USER GUIDE. version

LAB-04 BPMN Advanced Concepts

MTAT Business Process Management (BPM) (for Masters of IT) Lecture 3: BPMN (part II)

BPMN 2.0. Business Process Management and Flexibility Barbara Re, Phd

A formalisation of BPMN in Description Logics

CreditInfo = [Jane, 16000] AcceptCredit. Fig Process instance where request approval activity is not required

Business Process Management (BPM) Lecture 3: Advanced BPMN

4. Business Process Diagram Graphical Objects

Getting started with WebRatio 6 BPM - WebRatio WebML Wiki

Bruce Silver Associates Independent Expertise in BPM

HCM Modeling Elements. Creating a better understanding of the process model standards used within the MHR-BPS Process Modeling initiative.

Transactional Process

BPEL Business Process Execution Language

7. BPMN by Example. BPMN Working Draft. Figure 121 Voting Process. Copyright 2004, BPMI.org All Rights Reserved 201 / 281.

Business process modeling and automation IDU0330 Lecture 3 BPMN Enn Õunapuu ICT-643

Consolidation of Interacting BPEL Process Models with Fault Handlers

Event-driven Process Engines Background. Matthias Weidlich

LECTURE 3: BUSINESS ARCHITECTURE ASPECTS: BUSINESS PROCESS MODELLING

THUR 3:30 PM BUILDING AN AUTOMATED PROCESS THAT INTERACTS WITH DIFFERENT SYSTEMS

Enterprise Architect. User Guide Series. BPMN Models. Author: Sparx Systems. Date: 22/06/2018. Version: 1.0 CREATED WITH

Business Information Systems Lecture 3 BPMN. Enn Õunapuu

Extending BPEL with transitions that can loop

Process modeling. PV207 Business Process Management

1 Executive Overview The Benefits and Objectives of BPDM

Experiences of working with MODAF along side other standards (BPMN and MODAF)

BASICS OF BPMN BASIC BPMN SUBSET OKAY, SO WHAT DO I REALLY NEED TO KNOW? CHAPTER 2

Exam Name: IBM Business Process Manager Express or Standard Edition V7.5.1 BPM Application Development Exam

White Paper Understanding BPMN Connections

A Technical Comparison of XPDL, BPML and BPEL4WS

Transforming Collaborative Process Models into Interface Process Models by Applying an MDA Approach

State Machine Diagrams

How to Draw BPMN 2.0 Business Process Diagram? Written Date : March 9, 2016

IDENTIFYING A SUBSET OF BPMN FOR IDM DEVELOPMENT

ISO/TC 59/SC 13 N 384

Extending Choreography Spheres to Improve Simulations

Introduction to BPMN Part III - Flow and Connecting Objects Written Date : March 07, 2016

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Äriprotsesside modelleerimine ja automatiseerimine Loeng 5 Äriprotsesside modelleerimine BPMN. Enn Õunapuu

Guide to EPC Process Modelling

Case Management Model and Notation - CMMN

JOURNAL OF OBJECT TECHNOLOGY

Activities Radovan Cervenka

AUTOMATED BEHAVIOUR REFINEMENT USING INTERACTION PATTERNS

Äriprotsesside modelleerimine ja automatiseerimine Loeng 5 Äriprotsesside modelleerimine BPMN. Enn Õunapuu

White Paper Workflow Patterns and BPMN

20. Business Process Analysis (2)

Solution Documentation - Graphical Process Editor

A new Action Rule Syntax for DEmo MOdels Based Automatic workflow process generation (DEMOBAKER) Carlos Figueira and David Aveiro

Towards Transformations from BPMN to Heterogeneous Systems. Tobias Küster and Axel Heßler

5. Connecting Objects

An overview of this unit. Wednesday, March 30, :33 PM

Oracle Banking Reference Process Models

Chapter 1 Introduction

Lezione 14 Model Transformations for BP Analysis and Execution

Constraint-enabled Process Modeling. Conrad Bock U.S. National Institute of Standards and Technology November 20, 2007

Alternatives to programming

Data and Process Modelling

3GPP TS V ( )

From Business Process Models to Process-oriented Software Systems: The BPMN to BPEL Way

Business Process Modeling. Version /10/2017

BPMN Working Draft. 1. Introduction

Bidimensional Process Discovery for Mining BPMN Models

arxiv: v1 [cs.se] 17 Aug 2016

Proposed Revisions to ebxml Technical Architecture Specification v ebxml Business Process Project Team

An Optimized Way for Mapping BPMN to BPEL

IGXML to XPDL 2.0 Conversion Reference

Dynamic Skipping and Blocking, Dead Path Elimination for Cyclic Workflows, and a Local Semantics for Inclusive Gateways

Business Object Process Modeling overview of Workflow patterns

Canonization Service for AProMoRe

Towards a Task-Oriented, Policy-Driven Business Requirements Specification for Web Services

Co-Ordinated Retail Market Message Guide

The Difficulty of Replacing an Inclusive OR-Join

9 Patterns of Process Modeling

UNIT-4 Behavioral Diagrams

Package understandbpmn

ISO/IEC 8822 INTERNATIONAL STANDARD. Information technology - Open Systems Interconnection - Presentation service definition

BPA Suite to BPEL: a Case Study. Lonneke Dikmans November 2011 Nuremberg, Germany

Conformance Relations between Business Processes

TIBCO BusinessEvents Business Process Orchestration Developers Guide

JBPM5 - QUICK GUIDE JBPM5 - OVERVIEW

Modeling Choreographies: BPMN 2.0 versus BPEL-based Approaches

GEOSPATIAL CONTEXT AWARENESS IN BUSINESS PROCESS MODELING MANUEL CORREA. (Under the Direction of Krzysztof J. Kochut) ABSTRACT

ISO/IEC INTERNATIONAL STANDARD. Information technology Object Management Group Business Process Model and Notation

Enterprise Architect Training Courses

Unified Modeling Language - UML

Ingegneria del Software Corso di Laurea in Informatica per il Management

Transcription:

Business-Driven Software Engineering Lecture 5 Business Process Model and Notation Jochen Küster jku@zurich.ibm.com

Agenda BPMN Introduction BPMN Overview BPMN Advanced Concepts Introduction to Syntax and Semantics of Modeling Languages Summary and References 2

BPMN Introduction 3

Business Process Model and Notation (BPMN) Business Process Model and Notation (BPMN) is an OMG standard for modeling business processes Previously also called Business Process Modeling Notation Current version: BPMN 2.0 (final adopted specification) Previous versions: BPMN 1.2, BPMN 1.1, BPMN 1.0 IBM Group in Zurich has participated in standardization of BPMN 2.0 4

BPMN Concepts Flow Objects: for modeling nodes in a business process activities, gateways and events Connecting Objects: sequence flow and message flow for connecting nodes, associations for additional information Pools and Lanes for partitioning sets of activities for business-to-business interaction Artifacts further elements such as data objects 5

BPMN Overview 6

BPMN Flow Objects Tasks Task Loop Task Loop Task 7 Different types of tasks: General task Service task User task Script task Receive task Send task Manual task Business rule task - Loop condition - while / repeat until Multi- Instance Tasks - Numeric expression for determining repetition times -sequential/parallel execution of tasks -used for implementing Multiple Instance Patterns

BPMN Sub-Processes A Sub-Process is a compound activity that is included within a Process. It is compound in that it can be broken down into a finer level of detail (a Process) through a set of sub-activities. A Collapsed Sub- Process B 8

BPMN Flow Objects - Subprocesses Collapsed Subprocess Expanded Subprocess Loop Ad-Hoc Subprocess - Sequential/parallel ~ Multiple Instance Loop 9

BPMN Flow Objects - Gateways Gateway AND, XOR, OR, Complex + x o Event-based 10

BPMN Gateways - Inclusive Gateways Inclusive Gateways are Decisions where there is more than one possible outcome They are usually followed by a corresponding merging Inclusive Gateway Inclusive Gateways realize the Or Split and Or Join Control Flow Pattern 11

BPMN Flow Objects Event-Based Gateways Ask Customer Receive Name [ Type receive] Receive Birthdate [Type receive] Event-based gateway represents a branching point where alternatives are based on events Events can be modeled as receive events Event-based gateways realize the Deferred Choice Control Flow pattern 12

BPMN Flow Objects - Connectors A Sequence Flow is used to show the order that activities will be performed in a Process A Message Flow is used to show the flow of messages between two entities that are prepared to send and receive them An Association is used to associate data, information and artifacts with flow objects 13

Default Sequence Flow A Sequence Flow that exits an Exclusive or Inclusive Gateway may be defined as being the default path A hatch mark at the line beginning shows the default Sequence Flow The default path is chosen only if all the other conditions of the Gateway are False 14

BPMN Flow Objects Selected Events start intermediate end events occurs during the course of the process and affects the flow of the process In BPMN 1.1/2.0 distinction between catching and throwing events, important for intermediate events Flow dimension: start, intermediate, end Type dimension: message, timer, error, 15

BPMN Flow Objects Selected Events message timer error link signal conditional compensation cancel start inter mediate end Intermediate events placed into normal flow: Catching or throwing an event Intermediate events placed at the boundary of an activity: Exception flow, catching of an event Not all combinations exist Start events can be thought of catching, end events can be thought of throwing New in BPMN 2.0: non-interrupting events 16

Example: Message and Timer Event Normal flow Send Ballot Receive Votes Increment Tally Exception flow Register 14 days Grant Reject Exception Handling Close Message events for sending and receiving messages Timer events for timeouts and exception handling 17

Message and Timer Event - Traces Send Ballot Receive Votes Increment Tally <start,send(send Ballot), receive(receive Votes), IT> 14 days Exception Handling Grant Register Close Reject <start,rc,rc,cc,end>, <start,rc,gc, timeout,eh,end> 18

Example: Error Event Exception Handling Grant Register Close Reject Error event catches any error that occurs during Grant Error event as end generates an error Possible trace: <RC,GC,event(error),EH>, <RC,GC,CC> 19

Example: Link Event Link Events can be used for Off-Page connectors Link Events can be used as Go-To objects Note: Shorthand for merge for flow incoming to Close Order Note: Shorthand for AND-Split after Fill Order 20

Example: Signal Event not granted by supervisor Exception Handling Grant Register Close Reject Letter has been sent Sending of a signal can be caught by another process or within the process Other than a message that has a specific source and target Catching of a signal can only take place as a boundary event 21

Example: Conditional Event Register Settle Negotiate Customer in Ready Close Conditional event is triggered when a condition becomes true Settle is started once the Customer state is in Ready Conditional event implements data-based task trigger pattern 22

Example: Compensation Event Cancel Settlement Register Settle Negotiate Make Payment Close Compensation Event in normal flow throws a compensation event Compensation Event at boundary will be triggered by a compensation event Compensation activities compensate the work done in the source activity Complex logic for broadcasting compensation events Only completed activities can be compensated 23

Compensation Event - Traces Cancel Settlement Register Settle Negotiate Make Payment Close Trace without compensation: <start,rc,start(sc),n,m,end(sc),cc,end> Trace with compensation: <start,rc,start(sc),n,m,end(sc),throw(compensate),cs,end> 24

BPMN Flow Objects Pools Grant Insurance Company Register Reject Close Customer Contact Insurance Wait for Notifaction Pools represent participants in the process (business entity or business role) Boundaries can be suppressed if there is only one pool Sequence Flow cannot cross the boundaries of a Pool 25

BPMN Flow Objects Lanes Insurance Company Registr ation s Processing Register Grant Reject Close Lanes subdivide pools Sequence flow can cross boundaries of lanes 26

BPMN Flow Objects Sequence Flow and Message Flow Grant Insurance Company Register Reject Close Filing request Answer Customer Contact Insurance Wait for Notifaction Sequence flow shows the order of activities in a process model Message flow shows the messages exchanged between activities or pools 27

BPMN Flow Objects White Box Pool Insurance Company Filing request Answer Customer Contact Insurance Wait for Notifaction Sequence flow shows the order of activities in a process model Message flow shows the messages exchanged between activities or pools 28

BPMN Advanced Concepts 29

BPMN Data Objects Data Objects are Artifacts that are used to show how data and documents are used within a Process Data Objects are used to define inputs and outputs of activities Review and Approve Order Order [Approved] Order Approved? Fulfill Order Data Objects can be given a state that shows how a document may be changed or updated within the Process Order [Rejected] Reject Order 30

Exception Handling Intermediate Events attached to the boundary of an activity represent triggers that can interrupt the activity. All work within the activity will be stopped and flow will proceed from the Event. Timer, Errors, Messages, etc. can be Triggers. 31

Transactions Bookings Successful Bookings Exceptions (Hazards) Failed Bookings A Transaction is Sub-Process that has a double border. Transactions are supported by a transaction protocol (e.g., WS-Transaction) Normal Outgoing Sequence Flow represents the path to follow a successful completion A Cancel Intermediate Event represents the path to follow a cancelled completion (compensation is performed) An Error Intermediate Event represents the path to follow a transaction hazard (but no compensation is performed) 32

Cancel Events and Transactions Bookings Successful Bookings Failed Bookings Cancel Intermediate Events must be attached to a transaction subprocess boundary Cancel Intermediate Event is triggered by a Cancel End Event inside the Transaction or by a Transaction Protocol Cancel message 33

Transaction Example with Compensation Bookings Book Flight Cancel Flight Successful Bookings Book Hotel Send Hotel Cancellation Transaction Exceptions (Hazards) Failed Bookings 34

BPMN 2.0 improvements (over previous versions) Standardized execution semantics in English text Standardized serialization for diagram interchange based on a common metamodel Mapping of a BPMN subset to BPEL demonstrates alignment with existing technologies and standard Some new modeling elements Non-interrupting event, choreography support, referenced call activity 35

Introduction to Syntax and Semantics of Modeling Languages 36

Syntax and Semantics of (Modeling) Languages Syntax: Form of the words in a language Semantics: Meaning of the words in a language, e.g. how to execute program statement Programming languages: Syntax: Context-free grammar Semantics: Denotational semantics, attribute grammars,.. Visual Modeling Language: Syntax: Metamodel + OCL constraints Semantics: often informally described in the language specification 37

Abbreviated Meta Model for Process Models (BPMN 2.0) Meta model defines the abstract syntax of process models 38

Instantiation of the Meta Model Exception Handling Grant Register Close Reject 39

Semantics of BPMN 2.0 Informally described in the standard: A Process is instantiated when one of its Start Events occurs. Each occurrence of a Start Event creates a new Process Instance unless the Start Event participates in a Conversation that includes other Start Events. In that case, a new Process instance is only created if none already exists for the specific Conversation (identified through its associated correlation information) of the Event occurrence. Subsequent Start Events that share the same correlation information as a Start Event that created a Process instance are routed to that Process instance. Note that a global Process must neither have any empty Start Event nor any Gateway or Activity without incoming Sequence Flow. An exception is the Event Gateway. A Process can also be started via an Event-Based Gateway that has no incoming Sequence Flow and its Instantiate flag is true. If the Event-Based Gateway is exclusive, the first matching Event will create a new instance of the Process. The Process then does not wait for the other Events originating from the same Event- Based Gateway (see also semantics of the Event-Based Exclusive Gateway on page 437). If the Event-Based Gateway is parallel, also the first matching Event creates a new Process instance. However, the Process then waits for the other Events to arrive. As stated above, those Events must have the same correlation information as the Event that arrived first. A Process instance completes only if all Events that succeed a Parallel Event-Based Gateway have occurred. 40

Semantics of BPMN 2.0 (continued) An Activity is Ready for execution if the required number of Tokens is available to activate the Activity. The required number of Tokens (one or more) is indicated by the attribute StartQuantity. If the Activity has more than one Incoming Sequence Flow, there is an implied Exclusive Gateway that defines the behavior. When some data InputSet becomes available, the Activity changes from Ready to the Active state. The availability of a data InputSet is evaluated as follows. The data InputSets are evaluated in order. For each InputSet, the data inputs are filled with data coming from the elements of the context such as Data Objects or Properties by triggering the input Data Associations. An InputSet is available if each of its required data inputs is available. A data input is required by a data InputSet if it is not optional in that InputSet. If an InputSet is available, it is used to start the Activity. Further InputSets are not evaluated. If an InputSet is not available, the next InputSet is evaluated. The Activity waits until one InputSet becomes available. Complicated and subject to interpretation of the reader Now consolidated and defined in BPMN spec 41

Example: Token semantics Grant Register Close Reject Start Event generates a new token t1 Token t1 flows to Register Register is instantiated and consumes the token 42

Semantics and Scope of Events Throwing of an event creates a trigger that carries information. Publication: Trigger can be received by any catching events in the scope where the trigger is published. Direct resolution: Timer and conditional events are directly resolved where they are activated. Propagation: Trigger is forwarded to the innermost scope which has an event capable to catch the trigger. Cancellation: Directed towards a process or activity instance. Terminates all running instances and compensates completed activities. Compensation: Compensation of a subprocess calls all compensations of enclosed activities. 43

Execution Semantics of Compensation Events Cancel Settlement Register Settle Negotiate Make Payment Close Compensation is triggered using a throw compensation event The activity which needs to be compensated is referenced (optional if clear from context) If no activity is referenced the compensation event is broadcast inside the subprocess or process Compensation is triggered synchronously, throw compensation event waits for completion (exceptions are possible) Default compensation ensures that compensation activities are performed in reverse order of the execution of original activities Compare BPMN 2.0 pages 280-282, 405-406, 241 44

Semantics of Inclusive Gateway The Inclusive Gateway is activated if At least one incoming sequence flow has at least one Token and for each empty incoming sequence flow, there is no Token in the graph anywhere upstream of this sequence flow, i.e., there is no directed path (formed by Sequence Flow) from a Token to this sequence flow unless the path visits the inclusive gateway or the path visits a node that has a directed path to a non-empty incoming sequence flow of the inclusive gateway. Upon execution, a Token is consumed from each incoming sequence flow that has a Token. A Token will be produced on some of the outgoing sequence flows. In order to determine the outgoing sequence flows that receive a Token, all conditions are evaluated. The evaluation does not have to respect a certain order. For every condition, which evaluates to true, a Token must be passed on the respective sequence flow. If and only if none of the conditions evaluates to true, the Token is passed on the default sequence flow. In case all conditions evaluate to false and a default flow has not been specified, the inclusive gateway throws an exception. 45

BPMN semantics: Inclusive Gateway Activity 2 Activity 2 Activity 3 In this case, second inclusive gateway waits Inclusive gateways still problematic, can lead to deadlocks 46

Syntactic and Semantic Correctness Syntactic correctness of the process model Is the process model syntactically correct? Is the process model an instance of the meta-model of the language Usually checked by the modeling tool Semantic correctness of the process model Is the process model correct with regards to the semantics of the modeling language? Is the process model a correct model with regards to reality? Does it contain deadlocks, does it terminate? Can be checked by following best-practices of process modeling Can be validated by using simulation 47

Summary of Lecture and References Presentation of core BPMN concepts along examples Discussion of syntax definition for visual modeling languages Introduction to defining informal semantics of visual modeling languages Further Reading: BPMN 2.0 specification 48