From Conceptual to Executable
BPMN Process Models
A Step-by-Step Method
Queensland University of Technology University of Tartu
m.larosa@qut.edu.au, marlon.dumas@ut.ee
Whats this tutorial about?
ATAMO*
Conceptual process model Executable process model
* And Then A Miracle Occurs
2
Whos this tutorial for?
1. BPM practitioners seeking to bridge
business IT
2. BPM instructors / teachers
3. Business process modeling and automation
researchers
Basic knowledge of BPMN assumed
The BPM lifecycle
4
The BPM Lifecycle (revisited)
5
The well-known gap
6
The result: two sides of the story
Conceptual to-be process models Executable process models
are made by domain experts are made by IT experts
provide a basis for communication provide input to a process
amongst relevant stakeholders enactment system - BPMS
must be understandable must be machine readable
must be intuitive and may leave room for must be unambiguous and should
interpretation not contain any uncertainties
contain purely a relevant set of process contain further details that are only
information relevant to implementation
to-be executed
process model
7
Bridging the gap: one task at a time
1. Identify the automation boundaries
2. Review manual tasks
Part I
3. Complete the process model
4. Adjust task granularity
5. Specify execution properties Part II
Adapted from teaching material of Remco Dijkman, TU/e. 8
Our running example
Customer
Seller
Supplier 1
Supplier 2
9
Our running example
1. Identify the automation boundaries
Principle: not all processes can be automated.
-> Start by identifying each tasks type:
1 2 3
Automated tasks User tasks Manual tasks
11
In BPMN: specify task markers
Automated tasks User task Manual task
12
automated
In our example user
manual
2. Review manual tasks
Principle: if it cant be seen by the BPMS, it doesnt exist.
-> Find ways to support manual tasks via IT:
via user task
via automated task
-> Isolate them and automate the rest
14
Alternative: isolate manual tasks
15
Alternative: isolate manual tasks
Segment 1 Segment 2
Segment 3
16
Quiz: lets consider this process fragment
Prescription fulfillment process:
Once the prescription passes the insurance check, it
is assigned to a technician who collects the drugs
from the shelves and puts them in a bag with the
prescription stapled to it.
After that, the bag is passed to the pharmacist who
double-checks that the prescription has been filled
correctly.
After this quality check, the pharmacist seals the
bag and puts it in the pick-up area.
When a customer arrives to pick up their
prescription, a technician retrieves the prescription
and asks the customer for their payment.
Assume the pharmacy system automates this
process. Identify the type of each task and link
manual tasks to the system.
Possible solution
18
BPMN elements irrelevant for execution
Physical data objects
Messages bering physical data objects
Data stores (both physical and electronic)
Pools & lanes
Text annotations
Remove or neglect, depending on BPMS
19
3. Complete the process model
Principle: exceptions are the rule.
-> Add exception handlers
It happed for real!
Principle: no data = no decisions, no tasks handover.
-> Specify all electronic business objects
20
In our example
21
In our example
22
4. Adjust task granularity
Principle: BPMSs add value if they coordinate handovers of
work between resources.
-> Aggregate any two consecutive tasks assigned to the
same resource
-> Refine tasks that are too coarse-grained
23
Look around
Candidate tasks for aggregation may not necessarily be
consecutive due to a sub-optimal order of tasks in the
conceptual model.
24
An exception to the rule
25
Our example
Before
After Step 41
End of Part I
Part II: the last mile
Queensland University of Technology, University of Tartu
m.larosa@qut.edu.au, marlon.dumas@ut.ee
Bridging the gap: one task at a time
1. Identify the automation boundaries
2. Review manual tasks
3. Complete the process model
4. Adjust task granularity
5. Specify execution properties
29
5. Specify execution properties
-> Process variables, messages, signals, errors
-> Task and event variables and their mappings to process
variables
-> Service details
-> Code snippets
-> Participant assignment rules and user interface structure
-> Task, event and sequence flow expressions
-> BPMS-specific: work queues, forms, connectors
Lets take a step back: BPMSs
Business Process Management System
32
Process modeling tool
To create and modify executable process models (by specifying
execution properties)
To store and retrieve automation solutions from a process
model repository
May import from conceptual process modeling tools
33
Example process modeling tools
Bonita IBM
Soft Business Process
Bonita Open Manager
Solution
34
Execution Engine
Instantiates executable process models (also called cases)
Orchestrates distribution of work items to process participants
and software services in order to execute a business process
from start to end
Logs execution data
35
Worklist Handler
Imagine it as an inbox
Offers work items to process participants and allows
participants to commit to these work items
Handles participants work queues and work item priorities
May provide social network capabilities
36
Example worklist handlers
Bonita Soft Bonita Open Solution
37
Administration & Monitoring Tools
To manage automation solutions
To configure access to system components
To monitor participants availability and performance of
process cases
38
Example monitoring & administration tools
Perspective
IBM BPMOne
BPM Process Admin Console
IBM BPM Process Portal
39
External Services
Expose a service interface with which the engine can interact
The engine provides the invoked service with the necessary
data it will need to perform the activity for a specific case
Examples: rules engine, email or Twitter notification, DB
connector, CRM connector
40
Example external services
Bosch Visual Rules editor
41
Evolution of the BPMS Landscape
BPTrends 42
BPMS Landscape
Other Commercial Community
Big vendors
closed-source open-source open-source
IBM BPM Appian BPMS Bonita Open Shark
Oracle BPMS BizAgi BPM Suite Solution YAWL
Microsoft Bosch inubit Camunda Fox
BizTalk, Wf Suite Intalio|BPM
SAP NetWeaver OpenTex tBPM JBoss jBPM
BPM Perceptive
Software AG BPMONe
webMethods Progress Savvion
Pagaystems TIBCO
PegaRULES ActiveMatrix
BPM
43
BPMS classification according to BPMN support
1. Pure BPMN: (re)designed from the ground up to
follow the spec to the letter
IBM BPM, Appian BPMS, Camunda Fox
2. Adapted BPMN: use a BPMN skin but rely on
internal representation predate BPMN
Bonita Open Solution, BizAgi BPM Suite
3. Non BPMN: proprietary language and semantics
Bosch inubit Suite, BPMOne, YAWL
Lets take a look at a concrete BPMS
Cheat sheet
1. Control flow > specify sequence flow expressions
2. Data flow > specify data types and data mappings
3. Resources > specify participants assignment rules, service details...
Finance ERP Invoice Report Invoice
Department
Enter Check
no
Invoice Invoice Post Invoice
mismatches
Invoice Details Mismatches
Invoice
received posted
Invoice DB Invoice
Senior Finance Officer
mismatch Block
exists Invoice
Invoice
blocked
46
Want to know more?
Long-awaited BPM textbook
Covers the entire BPM lifecycle
Running examples & questions
100+ exercises with and
without solutions
Based on BPMN
Available as Springer eBook,
Apple iBook, Amazon
Chinese translation coming
soon
http://fundamentals-of-bpm.org
Lecture notes
A/V recordings
Quizzes
Tutorials
and more
Thats it!
Queensland University of Technology, University of Tartu
m.larosa@qut.edu.au, marlon.dumas@ut.ee