BIS 3106: Business Process Management Lecture Four: Process Modelling with BPMN Control-flow
Makerere University School of Computing and Informatics Technology
SEM I 2016/2017
(Makerere University)
BIS 3106
1 / 36
Outline
1
BPMN Modelling
2
BPMN Basic Elements Gateways Exclusive Gateway Parallel Gateway Inclusive Gateway Arbitrary Cycles
(Makerere University)
BIS 3106
2 / 36
Business Process Modeling Notation (BPMN)
BPMN is an Object Management Group (OMG) Standard for representing business processes. There are many tools that support the designing of a BPMN process: -
Bizagi Process Modeller Signavio (http://www.signavio.com/) TIBCO Business Studio (free download, quite large) BM Websphere Business Modeler ARIS Oracle BPA Business Process Visual Architect (Visual Paradigm) Progress Savvion Business Modeller
(Makerere University)
BIS 3106
3 / 36
Activity Behaviour
Five basic categories of elements: Flow Objects - Events - Activities - Gateways
Data Objects -
Data Data Data Data
objects inputs outputs stores
(Makerere University)
BIS 3106
4 / 36
Activity Behaviour
Connecting Objects. -
Sequence Flows; Message Flows; Associations; Data Associations.
Swimlanes. - Used to group the primary modeling elements. Can be of two forms: Pools and Lanes.
Artifacts. - Used to provide additional information about the process. Include Group, and Text Annotation.
(Makerere University)
BIS 3106
5 / 36
BPMN Basic Elements A BPMN model consists of 4 basic elements that usually cover 80% of modeling needs.
(Makerere University)
BIS 3106
6 / 36
Connecting Activities The sequence flow defines the order of flow objects in a process (activities, events and gateways). Each activity can have one or more incoming sequence flow and one or more outgoing sequence flow.
Each process must have always at least a - start event (a circle with a thin border), that shows where a process instance can start, and - end event (a circle with a thick border), for indicating when a process instance completes.
(Makerere University)
BIS 3106
7 / 36
Activity Behaviour
Once a process instance has been created, we use the notion of tokens to identify the progress (or state) of that instance. A token is a “theoretical object” used to create a descriptive “simulation” of the behavior associated to each BPMN element. A token is created in the start event, traverses the sequence flow and is destroyed in a end event. There is no time associated with the token travelling down a sequence flow.
(Makerere University)
BIS 3106
8 / 36
Gateways
A gateway implies that there is a gating mechanism that either allows or disallows passage of tokens through the gateway. As tokens arrive at a gateway, they can be merged together on input, or split apart on output depending on the gateway type. A split gateway represents a point where the process flow diverges. A join gateway represents a point where the process flow converges.
(Makerere University)
BIS 3106
9 / 36
Types of Gateways: Exclusive Exclusive Gateways (XOR) - Indicates locations within a business process where the sequence flow can take two or more alternative paths. - Depicted by a diamond shape that may contain a marker that is shaped like an “X”. - We use a XOR-join to merge two or more alternative branches that may have previously been forked with a XOR-split.
(Makerere University)
BIS 3106
10 / 36
Exclusive Gateways - Splitting Behavior The criteria for the decision exist as conditions on each of the outgoing sequence flow. When a token arrives at an exclusive gateway, there is an immediate evaluation of the conditions that are on the gateway’s outgoing sequence flow. One of those conditions must always evaluate to true.
(Makerere University)
BIS 3106
11 / 36
Exclusive Gateways - Merging Behavior When a token arrives at the exclusive gateway, there is no evaluation of conditions on the incoming sequence flow. Token immediately moves down the outgoing sequence flow.
(Makerere University)
BIS 3106
12 / 36
BPMN Gateways Exercise (1)
Consider the process fragment below: - As soon as an invoice is received from a customer, it needs to be checked for mismatches. - The check may result in either of these three options: (i) there are no mismatches, in which case the invoice is posted; (ii) there are mismatches but these can be corrected, in which case the invoice is re-sent to the customer; and (iii) there are mismatches but these cannot be corrected, in which case the invoice is blocked.
- Once one of these three activities is performed the invoice is parked and the process completes.
Draw a BPMN model depicting this process.
(Makerere University)
BIS 3106
13 / 36
BPMN Gateways Solution
(Makerere University)
BIS 3106
14 / 36
Types of Gateways: Parallel Parallel Gateways (AND) - Provide a mechanism to synchronize parallel flows (AND-join) and to create parallel flows (AND-split). - Done with activities that can be executed concurrently. - Depicted by a diamond shape that must contain a marker that is shaped like a plus sign (“+”).
(Makerere University)
BIS 3106
15 / 36
Parallel Gateways - Splitting Behavior When a token arrives at a parallel gateway, there is no evaluation of any conditions on the outgoing sequence flow. Parallel gateway will create parallel paths. Gateway will create a number of tokens that are equal to the number of outgoing sequence flow. One token will move down each of the outgoing sequence flow.
(Makerere University)
BIS 3106
16 / 36
Parallel Gateways - Merging Behavior To synchronize the flow - gateway will wait for a token to arrive from each incoming sequence flow. When 1st token arrives, there is no evaluation of a condition for the incoming sequence flow - the token is “held” at the gateway and does not continue. When all the tokens are arrived - are merged and one token moves down the outgoing sequence flow.
(Makerere University)
BIS 3106
17 / 36
Gateways Exercise Consider the process fragment, describe the behavior of this process.
Email Warning No
Yes
Check Calendar
(Makerere University)
BIS 3106
Conference call
18 / 36
Gateways Exercise Consider the process fragment, describe the behavior of this process. Only 2 of 3 paths will be used at any one time. Process will be stuck waiting for the third path Email Warning No
Check Calendar
(Makerere University)
Yes
Conference call
BIS 3106
19 / 36
Gateways Exercise Consider the process fragment, describe the behavior of this process.
Email Warning No
Check Calendar
Yes
Conference call The intervening Exclusive gateway reduces the number of incoming gateways to the Parallel gateway
(Makerere University)
BIS 3106
20 / 36
Inclusive Gateways (OR)
Sometimes we may need to take one or more branches after a decision activity. To model situations where a decision may lead to one or more options being taken at the same time, we need to use an inclusive (OR) split gateway. An OR-split is similar to the XOR-split, but the conditions on its outgoing branches do not need to be mutually exclusive, i.e. more than one of them can be true at the same time. When we encounter an OR-split, we thus take one or more branches depending on which conditions are true.
(Makerere University)
BIS 3106
21 / 36
Inclusive Gateways -Splitting Behaviour
Inclusive gateways support decisions where more than one outcome is possible at the decision point. Inclusive gateway with multiple outgoing sequence flows creates one or more paths based on the conditions on those sequence flow. For token semantics - OR-split takes the input token and generates a number of tokens equivalent to the number of output conditions that are true. Every condition that evaluates to true will result in a token moving down that sequence flow.
(Makerere University)
BIS 3106
22 / 36
Inclusive Gateways -Splitting Behaviour
(Makerere University)
BIS 3106
23 / 36
Inclusive Gateways -Merging Behaviour
When the first token arrives at the gateway, the gateway will “look” upstream for each of the other incoming sequence flow to see if there is a token that might arrive at a later time. Thus, the gateway will hold the first token that arrived in the upper path until the other token from the lower path arrives. When all the expected tokens have arrived at the gateway, the process flow is synchronized (the incoming tokens are merged) and then a token moves down the gateway’s outgoing sequence flow.
(Makerere University)
BIS 3106
24 / 36
Inclusive Gateways -Splitting Behaviour
(Makerere University)
BIS 3106
25 / 36
BPMN Model Exercise (3):Inclusive Gateways
Consider the following fragment of a business process. A company has two warehouses that store different products: Jinja and Kampala. When an order is received, it is distributed across these warehouses: if some of the relevant products are maintained in Jinja, a sub-order is sent there; likewise, if some relevant products are maintained in Kampala, a sub-order is sent there. Afterwards, the order is registered and the process completes.
(Makerere University)
BIS 3106
26 / 36
A First Solution
Order contains only Kampala products
Order contains only Jinja products
Order received
Check Items Order contains both Kampala and Jinja products
Forward suborder to Kampala Warehouse Forward suborder to Jinja Warehouse
Register order
Order completed
Forward suborder to Kampala Warehouse Forward suborder to Jinja Warehouse
(Makerere University)
BIS 3106
27 / 36
A Second Solution
Order does not contain Jinja products
Order contains Forward only Jinja suborder to products
Order received
Jinja Warehouse
Check Items
Register order Order completed
Order does not contain Kampala products
Order contains only Kampala products
(Makerere University)
Forward suborder to Kampala Warehouse
BIS 3106
28 / 36
A Third Solution
Order contains Jinja products
Order received
Forward suborder to Jinja Warehouse
Check Items Forward suborder to Kampala Order contains Warehouse
Order completed
Kampala products
(Makerere University)
BIS 3106
29 / 36
Exercise
What type should be assigned to this join?
D
B
E
?
A
F
C
(Makerere University)
BIS 3106
30 / 36
Arbitrary Cycles
Used to model parts of the process that can be repeated. To model this, use an XOR-split with two outgoing branches: one which allows us to continue with the rest of the process and the other which goes back to the repetition block. We use an XOR-join to reconnect this branch to the point of the process model just before the repetition block
(Makerere University)
BIS 3106
31 / 36
Arbitrary Cycles Example
In the treasury minister’s office, once a ministerial inquiry has been received, it is first registered into the system. Then the inquiry is investigated so that a ministerial response can be prepared. The finalization of a response includes the preparation of the response itself by the cabinet officer and the review of the response by the principal registrar. If the registrar does not approve the response, the latter needs to be prepared again by the cabinet officer for review. The process finishes only once the response has been approved.
(Makerere University)
BIS 3106
32 / 36
Arbitrary Cycles Example
h3_MinisterialCorrespondence
Ministerial inquiry received
Assign ministerial inquiry
Investigate ministerial inquiry
Prepare ministerial response
Review ministerial response
response approved
Ministerial correspondence addressed
response not approved
(Makerere University)
BIS 3106
33 / 36
Arbitrary Cycles Exercise
Model the following fragment of a business process for assessing loan applications. Once a loan application is received by the loan provider, and before proceeding with its assessment, the application itself needs to be checked for completeness. If the application is incomplete, it is returned to the applicant, so that they can fill out the missing information and send it back to the loan provider. This process is repeated until the application is found complete.
(Makerere University)
BIS 3106
34 / 36
Summary
Since the OR-join semantics is not simple, the presence of this element in a model may be confusing. Thus, we suggest to use it only when it is strictly required. Clearly, it is easy to see that an OR-join must be used whenever we need to synchronize control from a preceding OR-split. Similarly, we should use an AND-join to synchronize control from a preceding AND-split. And an XOR-join to merge a set of branches that are mutually exclusive.
(Makerere University)
BIS 3106
35 / 36
Order Fulfilment Exercise
Draw a process model of the Order fulfilment process in BPMN. Use Parallel, Exclusive and Inclusive gateways in your model. Ensure that the diagram is well labelled and that you have one start event and one end event. Make sure that your process model is sound.
(Makerere University)
BIS 3106
36 / 36