0% found this document useful (0 votes)
195 views46 pages

BPM2&3 - Process Modelling - Feedback Session

This document summarizes a feedback session on process modeling. It includes an exercise on drawing a Petri net and answering questions about it. The session then covers questions from the forum on topics like subprocesses with multiple outcomes, explicitly modeling gateways, modeling data elements, using different event types for error handling, and indicating negative outcomes. The document provides explanations and examples to illustrate answers to the questions.

Uploaded by

Lou Patty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
195 views46 pages

BPM2&3 - Process Modelling - Feedback Session

This document summarizes a feedback session on process modeling. It includes an exercise on drawing a Petri net and answering questions about it. The session then covers questions from the forum on topics like subprocesses with multiple outcomes, explicitly modeling gateways, modeling data elements, using different event types for error handling, and indicating negative outcomes. The document provides explanations and examples to illustrate answers to the questions.

Uploaded by

Lou Patty
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 46

Part 2&3: Process modelling –

Feedback session

Prof. Dr. Jochen De Weerdt


Session overview
1. Workflow net exercise
2. Forum and other questions
3. Some additional remarks
4. BPMN exercises

2
1. Workflow net exercise
Exercise
1. Draw the Petri net (called PN1) that is formalized as:
PN1 = (P,T,F) with
P = {start, p1, p2, p3, p4, end}
T = {A, B, C, D, E}
F = {(start,A),(A,p1),(A,p2),(p1,B),(p2,C),(B,p3),(C,p4),(p3,D),(D,p1),(p3,E),(p4,E),(E,end)}
Note: You can use WoPeD for modelling Petri nets.
2. Is Petri net PN1 = (P,T,F) a workflow net? Explain.
3. Consider the following marking as the initial marking: M0 = [start]. List three different
possible firing sequences (firing sequence = sequence of markings). Which activity
sequences correspond to each of the three firing sequences?
4. Consider the following marking as the initial marking: M0 = [start]. How many different
firing sequences are implied by this Petri net?
5. Given PN1 with marking M[p1,p4]. Which transitions are enabled? Which aren’t?
6. Given PN1 with marking M[p2,p3]. After firing D, what is the resulting marking.
7. Draw a BPMN model that represents the same behaviour as PN1. You can use Bizagi
Modeler for drawing the model.
4
1. Draw the workflow net

5
2. Workflow net?
• Yes. Why?
1. It has only one source place (i.e. place with only outgoing
edges).
2. It has only one sink place (i.e. place with only incoming edges).
3. The net is strongly connected (i.e. there is a directed path
between any pair of nodes)

6
3. List three possible firing sequences
• [start]  [p1,p2]  [p1,p4]  [p3,p4]  [end]
• Activity sequence: A  C  B  E

• [start]  [p1,p2]  [p1,p4]  [p3,p4]  [p1,p4]


[p3,p4]  [end]
• Activity sequence: A  C  B  D  B  E

• [start]  [p1,p2]  [p1,p3]  [p3,p4]  [end]


• Activity sequence: A  B  C  E

7
4. How many firing sequences?
• Unlimited
• The contains a loop of activities B and D, therefore, an infinite
number of firing sequences exist

8
5. Given PN1 with marking M[p1,p4]. Which
transitions are enabled? Which aren’t?

9
6. Given PN1 with marking M[p2,p3]. After
firing D, what is the resulting marking?
• [p1,p2]

10
7. BPMN diagram

11
2. Forum and other questions
Q1: Subprocesses with multiple outcomes

• If subprocesses have multiple outcomes (end-events),


one needs to account for that in the parent process
• There are two main options
1. Combination of normal and/or terminate end-events (signaling
error or negative outcome)
 add XOR-split after the subprocess in the parent process
 data conditions reflect the outcomes
2. Use error events to denote negative outcomes/errors
 add an interrupting error boundary event
 use identical strings to denote the throwing end error event
in the subprocess and the catching boundary event.

13
Alternative 1 illustrated

14
Alternative 2 illustrated

Handle PO

Next working day Items not


weekend/ available
holiday

weekday Check Send PO


Register PO Availability Response
Items
PO PO available PO
Response
Received Registered fulfilled
sent

PO Change PO Cancel Items not


received received available
Handle PO
Cancelation
Register PO
PO Notification
Change
canceled sent

15
Q2: Terminate event “wiping off
functionality”

16
Example from the slides
Abort the process by removing all tokens…

17
Q3: Modelling gateways explicitly
• AND-split
OR

Preferred notation

• XOR-join

OR

Preferred notation 18
Q4: Modelling data elements
• As mentioned in the first session, be sparse in using
additional data elements
• It is never “syntactically” wrong to add them, but usually
their inclusion doesn’t really add value
• Rule of thumb: add those data elements which are
unusual or unexpected

19
Q5: Event types and error handling
• Handling exceptions often involves stopping an activity or sub-
process and performing a special activity
• Types of exceptions for an activity (task/sub-process) in BPMN:

Timeout: an activity takes too long and must be interrupted. Handled


with the Timer event

External: something goes wrong outside the process, and the


execution of the current activity must be interrupted. Handled with the
Message event

Internal: something goes wrong inside an activity, whose execution


must thus be interrupted. Handled with the Error event

All these events stop the enclosing activity and start an exception
handling routine.

20
Same example

Handle PO

Next working day Items not


weekend/ available
holiday

weekday Check Send PO


Register PO Availability Response
Items
PO PO available PO
Response
Received Registered fulfilled
sent

PO Cancel Items not


received available
Handle PO
Cancelation
PO Notification
canceled sent

21
Q6: Negative outcomes with terminate
event
• Is it always necessary to indicate negative outcomes with
a terminate event?
• No, there is no obligation in BPMN
• This is a best practice, more from a pragmatic perspective, to
make models more understandable
• Other typed events can also be used to indicate negative
outcomes (e.g. error)

22
Q7: Compensation events
• Example from the slides, re-explained
• How to interpret the control-flow of this model?
Fulfil and Pay PO

Payment

Cancel PO
Re-
imbursement
Handle PO

PO Received + PO
Fulfillment fulfilled
and paid

Cancel PO
Goods return

PO Cancel received 23

Cancel PO
Q8: Signavio practicalities
• You want your own collaboration environment?
• Apply for your own workspace via:
https://academic.signavio.com/p/register
• Invite your team members yourself
• Modelling elements
• First of all: make sure to create a BPMN 2.0 diagram
• Use the attributes menu on the right to
• Create multi-instance tasks, loop tasks
• Turn a subprocess into an ad-hoc subprocess
• Turn boundary events into non-interrupting events
• To add special elements (e.g. event subprocesses), switch the
“Shape repository” to BPMN (Complete)

24
3. Some additional remarks
Modelling and syntax
• Throughout the web lectures, several aspects of
modelling in a syntactically correct way are mentioned
• Subprocesses:
• Always need at least one start event and at least one end event
• Sequence flows cannot cross subprocess boundaries
• Message flows can cross subprocess boundaries (when you would
model them as an expanded subprocesses)
• Ad-hoc subprocesses:
• Don’t require a start or end event! Review company’s KPIs

Assess
Evaluate prior
financial
performance
stability

Profile Interview
products and corporate
services executives
26
~
Modeling and syntax
• Event-driven vs. data-driven XOR
• Event-driven: events need to follow on every outgoing arc
• Data-driven: ALWAYS add data-conditions!
• Pools and lanes
• Never cross pool boundaries with control-flows
• Never connect elements in lanes of the same pool with message
flows
• Every pool is a separate process
• With at least one start and end event
• Fully connected!

27
4. BPMN Exercises
Exercise 1: Simple BPMN (Exercise 3.12)
• Model the following fragment using organizational
elements and information artefacts:
• “After a claim is received, it is registered by a claims officer who
then writes a settlement recommendation. This
recommendation is then checked by a senior claims officer who
may mark the claim as “OK” or “not OK”. If the claim is marked
as “not OK”, it is sent back to the claims officer and the
recommendation is repeated. If the claim is “OK”, the claim
handling proceeds.”
Steps to follow
1. Identify the process boundaries
2. Identify activities and events
3. Identify resources and their handovers
4. Identify the control flow
5. Identify additional elements (most importantly
information artefacts)
1. Identify the process boundaries
• Under which condition does it start?
• A claim is being received

• With which result does it end?


• The claim is handled

• Which perspective do we assume?


• Insurance company (claims department)
2. Identify activities and events
3. Identify resources and their handovers
4. Identify the control-flow
4. Identify control-flow: even better
5. Identify additional elements (data)
Exercise 2: multi-instance activity
• After a car accident, a statement is sought from the witnesses that
were present, in order to lodge the insurance claim. As soon as the
first two statements are received, the claim can be lodged to the
insurance company without waiting for the other statements.
• Model with organizational elements
• Make sure to introduce multi-instance activity or multi-instance sub-process
Solution: multi-instance activity

data collection multi-instance pool


denotes a set of denotes multiple
data objects of the participants of the
same type same type

completion condition
indicates minimum
number of instances
required to complete
(≤ cardinality)
Exercise 3: ad-hoc sub-process
• A typical army selection process starts by shortlisting all
candidates’ applications. Those shortlisted are then called to
sit the following tests: drug and alcohol, eye, color vision,
hearing, blood, urine, weight, fingerprinting and doctor
examination. The color vision can only be done after the eye
test, while the doctor examination can only be done after color
vision, hearing, blood, urine and weight have been tested.
Moreover, it may be required for some candidates to repeat
some of these tests multiple times in order to get a correct
assessment, e.g. the blood test may need be repeated if the
candidate has taken too much sugar in the previous 24 hours.
The candidates that pass all tests are asked to sit a mental
exam and a physical exam, followed by an interview. Only
those that also pass these two exams and perform well in the
interview can be recruited in the army.
Solution
Solution
Exercise 4: event-based decision
• In the context of a claim handling process, it is sometimes necessary
to send a questionnaire to the claimant to gather additional
information. The claimant is expected to return the questionnaire
within five days. If no response is received after five days, a reminder
is sent to the claimant. If after another five days there is still no
response, another reminder is sent and so on until the completed
questionnaire is received.
Solution
Exercise 5: non-interrupting boundary
events

A Purchase Order (PO) handling process starts when a PO is received. The PO is first
registered. If the current date is not a working day, the process waits until the
following working day before proceeding. Otherwise, an availability check is
performed and a “PO response” is sent back to the customer.
Further, if the customer sends a “PO cancelation request” after the PO registration,
the PO processing must be stopped and the change request needs to be handled.

The customer may send a “Customer address change request”


after the PO registration. When such a request is received, it is
just registered, without further action.
Solution
Further questions?

46

You might also like