essential business process modeling, michael havey, o
TRANSCRIPT
Business Processes - Modelling and Implementation (I)
Helen Paik
School of Computer Science and EngineeringUniversity of New South Wales
References used for the lecture notes:
Alonso Book (Chapter 3)
Workflow Management:Models, Methods and Systems, van der Aalst, et al. (Chap 1,2)
Essential Business Process Modeling, Michael Havey, O’Reilly
Acknowledgement: Some materials is adapted from COMP9322 lectures in previous sessions and Dr. Marcello La Rosafrom QUT for his Business Process Modelling course.
Week 4
H. Paik (CSE, UNSW) BPM Week 4 1 / 64
Business Processes - Modelling and Implementation
What is a business process?
The word “process” could mean: a program running in an OS, a procedureto handle ‘work’ (e.g., processing an error, message), a set of proceduresfor achieving a goal ... In each case, the connotations are movement, workand time.
Normally, we use the term “business process” to refer to the step-by-steprules specific to the resolution of of some business problem, e.g., travelbooking, hiring an employee, applying for a university, ...
More specifically:
A collection of activities performed by human users or softwareapplications that together form the different steps to becompleted to achieve a particular business objective.
H. Paik (CSE, UNSW) BPM Week 4 2 / 64
Business Processes - Modelling and Implementation
Of course ... this is also a business process ...
Mentioned earlier that we consider “business process” as glue to put Web servicestogether. For COMP9322 context, business process technology is the one thatimplements “’application integration logic”’
H. Paik (CSE, UNSW) BPM Week 4 3 / 64
Business Process Modelling - Core of BP Technology
A process model describes “how the process works” ... with this, you cansimulate, automate/monitor/re-engineer, etc.
H. Paik (CSE, UNSW) BPM Week 4 4 / 64
Static Modelling vs. Process Modelling
What does (or does not) an ER model tell you? (e.g., Insurance Claim)
Employee
Rate
Happened
Rater
Underwriter
Adjuster
Underwrite
Value
Happened Action
Policy
Coverage InsuredItem
Cover
Hold InsuredParty
Client
Against
Invest Claim
ClaimActionDetails
Lodge
d
Claiment
o
In a business process, there is a sense of “state” and changing state
H. Paik (CSE, UNSW) BPM Week 4 5 / 64
Processing Modelling: eg., insurance claim
1 recording the receipt of the claim
2 establishing the type of claim (eg., fire, motor vehicle, travel, etc)
3 check the client’s policy to confirm that it covers what has been claimed for
4 check the premium, to confirm that payments are up-to-date
5 rejection, if task 3 or 4 has a negative result
6 producing a rejection letter
7 estimate the amount to be paid
8 appointment of an assesor to research the circumstances of the damage
9 consideration of emergency measures to limit further damage or relieve distress
10 provision of emergency measures if approved as part of task 8
11 establishment or revision of amount to be paid and offer to client
12 recording of client’s reaction: acceptance or objection
13 assessment of objection and decision to revise (task 11) or to take legalproceedings (task 14)
14 legal proceedings
15 payment of claim
16 closure of claim, filing
H. Paik (CSE, UNSW) BPM Week 4 6 / 64
Processing Modelling: eg., insurance claim
Some observations:
the sixteen tasks do not necessarily need to be performed in the ordershown,
some tasks need to be performed in a strict order
(eg., task 1 & 2)
certain tasks do not need to be carried out
eg., appointment of an expert,
taking emergency measures,
objection, legal proceedings, etc.
ie., there is a choice betwen two or more tasks
H. Paik (CSE, UNSW) BPM Week 4 7 / 64
Processing Modelling: eg., insurance claim
some tasks can be performed in parallel
checking policy and checking premiums
some tasks need to wait for the completion of more than one previoustasks
rejection task can start only after the checkings of policy and premiumsare done.
some tasks need to be repeated
objection and revision of the amount to be paid
H. Paik (CSE, UNSW) BPM Week 4 8 / 64
Processing Modelling: basic terminology
tasks: a process that cannot be subdivided (unit of work)
sequence: some tasks need to be performed in a strict order
selection: certain tasks do not need to be carried out
parallel: some tasks can be performed in parallel
synchronisation: some tasks need to wait for the result of previoustasks
iteration: some tasks need to be repeated
H. Paik (CSE, UNSW) BPM Week 4 9 / 64
Workflow Management Systems
A business process automation tool ... - supports the automaticenactment of business activities ...
A workflow refers to a formal description of a business process ... Itdescribes control flow dependencies, resource strategies and data flow(explicitly).
A workflow management system is a software platform that supports:
design, development, deployment, executionand analysis of workflow processes
H. Paik (CSE, UNSW) BPM Week 4 10 / 64
Workflow Management Systems
Scheduling and work allocation are the basic tasks of a WfMS.
Resource Allocation Broker
Workflow Engine
Workflow EngineWorkflow EngineWorkflow Definitions
Workflow Designer
completed work items
outbound queue
inbound queue
resource 1
resource 2
resource n
H. Paik (CSE, UNSW) BPM Week 4 11 / 64
Workflow types: System Workflows
All workflow activities are automatically performed by software
No user interface/interaction required
Typical candidates: Enterprise Application Integrations
H. Paik (CSE, UNSW) BPM Week 4 12 / 64
Workflow types: Human Workflows
Workflow activities can be manual (or automated)
Humans are actively involved via user interfaces, roles andorganisation model are important
Typical candidates: Human-intensive domains (e.g., Logistics, HR)
H. Paik (CSE, UNSW) BPM Week 4 13 / 64
Workflow Management Systems: e.g., YAWL
A few screenshots:
http://www.cse.unsw.edu.au/~hpaik/9322/pics
H. Paik (CSE, UNSW) BPM Week 4 14 / 64
Basic Workflow Concepts
A task (or activity) is a logical unit of work. It is either complete it infull, or rollback to the start of the taskA process shows which tasks need to be carried out, and the order inwhich this should be done.A case is an instance of a processProcesses can be composed or decomposed. A process has a clearstart and ending
A process can make use of previously defined processes. This way, aprocess can be structured hierarchically ...
START FINISH
H. Paik (CSE, UNSW) BPM Week 4 15 / 64
Workflow Concepts: The Routing
Determining the path that a case takes in a process is called routing.
Simplest form of routing is the sequential execution of tasks:
They are carried out one after the other
There is usually a clear dependency between them
eg., the result of one task is input to the next
Example 1: FeetWear (sequence): When getting dressed, I put on mysocks (S) before pulling on my boots (B).
S B
H. Paik (CSE, UNSW) BPM Week 4 16 / 64
Workflow Concepts: The Routing
Parallel routing:
When two tasks can be performed simultaneously, or in any order, werefer to parallel routing.
the two tasks can be performed without the result of one affectingthe other
this situation is also referred to as AND-split.
Selective routing:
When there is a choice between two or more tasks
the choice may depend upon the case attributes
this situation is also referred to as OR-split.
H. Paik (CSE, UNSW) BPM Week 4 17 / 64
Workflow Concepts: The Routing
Selective routing represents a decision point
Example 2: Getting to work: If it’s raining, I take the car, otherwise Icatch a bus. The process of getting to work may be described as follows:
If I take a bus, then I have to walk tothe nearest bus-stop (W); but the bustakes me directly to work (B).
If I drive (D), then I have to park (P),and then I have a short walk (S).
D
S
P
W
B
H. Paik (CSE, UNSW) BPM Week 4 18 / 64
Workflow Concepts: The Routing
Synchronisation: AND-join
Example 3: At the end of the day: When my partner and I return home inthe evening, it’s my job to bathe the children (C); at the same time, hecooks the evening meal (T). When we are both finished, we sit down towatch the news (N). After that, one of us puts the kids to bed (B).
N
B
C T
H. Paik (CSE, UNSW) BPM Week 4 19 / 64
Workflow Concepts: The Routing
AND-join represents a “process synchronisation” point
Example 4: An insurance claim: Record the receipt of the claim (R),establish the type of claim (E), then check the client’s policy (P), at thesame time check the premium (M). After that, make a decision (D)
D
P M
R
E
H. Paik (CSE, UNSW) BPM Week 4 20 / 64
Workflow Concepts: The Routing
Another form of synchronisation: XOR-join
Example 5: Archive the claim (A) after either the payment of the damage(P) has been made, or the customer has been contacted (C)
A
P C
Example 6: After the payment is received (R) or the credit is granted (G)the car is delivered to the customer (D).
D
R G
H. Paik (CSE, UNSW) BPM Week 4 21 / 64
Workflow Concepts:The Enactment
Enactment: when a work item is assigned to a resource, it onlybecomes an activity when the resource accepts it from his “in tray”.
Other forms of enactment is possible. eg:
The arrival of an messagereaching a particular time (every 6 o’clock)
There are three types of triggers for work item enactment:
a resource initiative
an external event
a time signal
H. Paik (CSE, UNSW) BPM Week 4 22 / 64
Let us look back on the basic concepts here ...
One can say BPM starts with having a (...) It allows us to analyse,simulate, automate, monitor, improve/re-engineer business processes
What is the difference between static modelling and processmodelling?
Review some basic terms:
unit of work (a process that cannot be subdivided)?task routing options?
business processes can be automated/implemented using (....)
Can you name two workflow types?
H. Paik (CSE, UNSW) BPM Week 4 23 / 64
Modelling Workflows with Petri Nets
Originate from Carl Adam Petri’s PhD thesis (1962)
A technique for the description and analysis of concurrent systems
Graphical, formal notations
Based on a few simple concepts, yet expressive
Many analysis techniques exist
There are 2 main uses of Petri nets for workflows:
Specifications of workflows
Formal foundation for workflows (semantics, analysis of properties)
H. Paik (CSE, UNSW) BPM Week 4 24 / 64
Modelling Workflows with Petri Nets
Classical Petri Nets
A Petri Net consists of places (circle) and transitions (rectangle)
claim record underconsideration
pay
send_letter
ready
token transition place
Two types of arcs: a place → a transition, a transition → a place
These arcs determine input places and output places
Places hold tokens: tokens can be distributed among the places(through firing of a transition)
The firing of transitions is subject to strict rules
H. Paik (CSE, UNSW) BPM Week 4 25 / 64
Modelling Workflows with Petri Nets
The state of a Petri Net is indicated by the distribution of tokens(eg., the previous example – vector (3,0,0))
A transition may only fire if it is enabled, i.e., there is a token at eachof its input places.
A transition is enabled when there is at least one token at each of theinput places.
When a transition fires, it consumes a token and produces tokens forthe output place (a token is removed from each of its input placesand a token is produced for each of its output places)Transitions are the active components (the process shifts from onestate to another)
Often represent an event, an operation, a transportation
Places are passive (cannot change the process’s state)Often represent a location, phase, a condition, etc.
Tokens represent objects of the process (eg., insurance claim)
H. Paik (CSE, UNSW) BPM Week 4 26 / 64
Petri Nets (Firing)Assume that for some reason we want maximum one case underconsideration at a time:
The additional case free ensures that transition record is blocked as soonas a claim goes under consideration
H. Paik (CSE, UNSW) BPM Week 4 27 / 64
Mapping Workflow Concepts onto Petri Nets
Eg., Think of a process to handle complaints
An incoming complaint is recorded.
Then the client who has complained and the department affected bythe complaints are contacted.
The client is approached for more information.
The department is informed of the complaint and may be asked for itsinitial reaction.
These two tasks may be performed in parallel.
After this the data are gathered and a decision is taken.
Depending on the decision, either a compensation payment is madeor a letter is sent.
Finally the complaint is filed.
H. Paik (CSE, UNSW) BPM Week 4 28 / 64
Mapping Workflow Concepts onto Petri Nets
start
record
contact_client
contact_dept
collect
assess
positive
negative
pay
send_letter
file
end
c1
c2
c3
c4
c5
c6
c7
c8
Each complaint is represented by a token
H. Paik (CSE, UNSW) BPM Week 4 29 / 64
Mapping Workflow Concepts onto Petri Nets
start
record
contact_client
contact_dept
collect
assess
positive
negative
pay
send_letter
file
end
c1
c2
c3
c4
c5
c6
c7
c8
case 1case 5
case 4
case 3
case 2
Multiple cases of the process can be “in action”.
H. Paik (CSE, UNSW) BPM Week 4 30 / 64
Mapping Workflow Concepts onto Petri Nets
start
contact_client
assess
positive
negative
pay
send_letter
file
end
c1
c2
c3
record
contact_dept
collect
c4
c5
c6
c7
c8
phase1
c5
Hierarchical petri nets: the process contains a sub-process Phase 1
H. Paik (CSE, UNSW) BPM Week 4 31 / 64
Mapping Workflow Concepts onto Petri Nets
Routing (sequential):
c1 c2 c3task1 task2
Routing (parallel):
c1
c2 c4
t1
task1
c3 c5task2
c6t2
AND-split AND-join
H. Paik (CSE, UNSW) BPM Week 4 32 / 64
Mapping Workflow Concepts onto Petri Nets
c1
OR-split
OR-join
c2 task1
c3 task2
t1
c6
Selective Routing By Decision Rule
Selective Routing By Preconditions
c1
OR-join
Decision Rule
c2 task1
c3 task2
t11
c6
t12
OR-splitPreconditions
H. Paik (CSE, UNSW) BPM Week 4 33 / 64
Observations from the previous two diagrams:
Decision rule:
t1 is enabled (a token is at c1)
transition t1 contains a decision rule
the decision rule is based on the case attributes (the token representsthem)
only one out put (either c2 or c3) is produced (not both)
the decision is deterministic (ie., depending on the case attributes,you know which path will be chosen)
Preconditions:
t11 and t12 “can be” enabled (a token is at c1)
The question of which transition will be enabled can benon-deterministic. (eg., when the preconditions overlap) ordeterministic (when the preconditions are disjoint).
if the preconditions are disjoint, this model is the same as the decisionrule modelling ...
H. Paik (CSE, UNSW) BPM Week 4 34 / 64
New notations for frequently used constructs (by YAWL)
AND-split
AND-join
OR-split
OR-join
t
t
Notations Meaning
t
t(preconditions)
t
or
(decision rule)
t
t
http://yawlfoundation.orgH. Paik (CSE, UNSW) BPM Week 4 35 / 64
Mapping Workflow Concepts onto Petri Nets
c1 c2 task2
Iterative Routing (1)
Iterative Routing (2)
c4 task3task1 c3
c1 c2
task2
c4 task3task1
c3
c5
Correction: The arrow between task2 and c3 should have its head pointing task 2 (not c3).
H. Paik (CSE, UNSW) BPM Week 4 36 / 64
Observations from the previous two diagrams
The first diagram:
task1 and task2 are performed successively. Once task2 is completed,OR-split determines whether or not it needs to be performed again.
task2 needs to be carried out at least once between task1 and task3
(ie., “repeat ... until ...”)
The second diagram:
Immediately after completing task1, OR-split determines whether ornot task2 needs to be carried out.
It is possible that task1 is directly followed by task3
(ie., “while ... do ...”)
H. Paik (CSE, UNSW) BPM Week 4 37 / 64
The Insurance Claim process
c1 c2
1
record
3policy
c3 c4establish_type
4 premium
reject?
c5 c6
c7
c116
reject
c8 c9
c19
c18
10
measures
emergency?
c20
amount?c10
8
expert
c1211
settlementc13
c1615
pay c1714
proceedingc15
objection?
c14reaction
close
5
5b7 9
1213
16
2
H. Paik (CSE, UNSW) BPM Week 4 38 / 64
Mapping Workflow Concepts onto Petri Nets
Enactment: A task in a process becomes a work item in a case. Whenthe work item is taken up by a resource, it becomes activity.
In petri net terms, a task corresponds with one or more transitions, a workitem with a transition being enabled, an activity with the firing of atransition ...
Various enactment triggers:
c1 c2
task4
c4 task5task1
c3
c6
task2
task3
c5
H. Paik (CSE, UNSW) BPM Week 4 39 / 64
Summary: BPM with Petri Nets
A classical Petri Net is a process; its main constructs: name threethings here.
Can you draw SEQUENCE in Petri Net?
Can you draw AND-SPLIT and AND-JOIN in Petri Net?
Can you draw OR-SPLIT and OR-JOIN in Petri Net?
H. Paik (CSE, UNSW) BPM Week 4 40 / 64
The need for a nicer process modelling notation
Earlier workflow modelling languages:dynamic behaviour and execution semantics (e.g., Petri Nets), butcould get quite complicated to comprehend
simple/conceptual processing modelling notation (e.g., conventionalflow charts, UML activity diagram), but not enough to fully expressclear execution semantics
each vendor using different notations
No ’formal’ notation that appeals to both technical and business usersand has clear execution semantics
⇒ BPMN (Business Process Modelling Notation) addresses this“niche”
OMG Spec 1.0 released in 2006
H. Paik (CSE, UNSW) BPM Week 4 41 / 64
What is BPMN, from www.bpmn.org/Documents
BPMN is flow-chart based notation for defining Business Processes
An agreement between multiple modelling tools vendors to use asingle notation for the benefit of end-user understand and training
It can generate an executable language (BPEL) from the businesslevel notation
A business process developed by a business analyst can be directlyapplied to a BPM engine, instead of going through humaninterpretations and translations
H. Paik (CSE, UNSW) BPM Week 4 42 / 64
What is BPMN, from www.bpmn.org/Documents
H. Paik (CSE, UNSW) BPM Week 4 43 / 64
BPMN Basics
BPMN diagram elements overview:
Flow Objects
EventsActivitiesGateways
Connecting Objects
Sequence FlowMessage FlowAssociation
Swimlanes
PoolsLanes
Artefacts
Data ObjectGroupAnnotation
H. Paik (CSE, UNSW) BPM Week 4 44 / 64
BPMN Basic Elements
H. Paik (CSE, UNSW) BPM Week 4 45 / 64
BPMN process support
BPMN example: private process
Business Process Modeling Notation, v1.1 13
If Swimlanes are used, then a private business process will be contained within a single Pool. The Sequence Flow of the Process is therefore contained within the Pool and cannot cross the boundaries of the Pool. Message Flow can cross the Pool boundary to show the interactions that exist between separate private business processes. Thus, a single Business Process Diagram may show multiple private business processes, each with separate mappings to BPEL4WS.
Figure 7.1 - Example of Private Business Process
Abstract (Public) ProcessesThis represents the interactions between a private business process and another process or participant (see Figure 7.2). Only those activities that are used to communicate outside the private business process, plus the appropriate flow control mechanisms, are included in the abstract process. All other “internal” activities of the private business process are not shown in the abstract process. Thus, the abstract process shows to the outside world the sequence of messages that are required to interact with that business process. A single abstract process may be mapped to a single BPEL4WS abstract process (however, this mapping will not be done in this version of the specification).
Abstract processes are contained within a Pool and can be modeled separately or within a larger BPMN Diagram to show the Message Flow between the abstract process activities and other entities. If the abstract process is in the same Diagram as its corresponding private business process, then the activities that are common to both processes can be associated.
Figure 7.2 - Example of an Abstract Business Process
Collaboration (Global) ProcessesA collaboration process depicts the interactions between two or more business entities. These interactions are defined as a sequence of activities that represent the message exchange patterns between the entities involved. A single collaboration process may be mapped to various collaboration languages, such as ebXML BPSS, RosettaNet, or the resultant specification from the W3C Choreography Working Group (however, these mappings are considered as future directions for BPMN).
Determine Orderis Complete
Check Record ofApplicant
DeterminePremium of Policy
Approve or RejectPolicy
Notify Applicant ofApproval orRejection
1) I want to see doctor
Send Appt.
5) Go see doctor
ReceiveSymptoms
6) I feel sick8) Pickup your medicine
and you can leave
ReceiveMedicineRequest
9) need my medicine
10) Here is your medicine
ReceiveDoctor
RequestSend Medicine
SendPrescription
Pickup
Patient
Doc
tor’s
Offi
ce
H. Paik (CSE, UNSW) BPM Week 4 46 / 64
BPMN process support
BPMN example: abstract process
Business Process Modeling Notation, v1.1 13
If Swimlanes are used, then a private business process will be contained within a single Pool. The Sequence Flow of the Process is therefore contained within the Pool and cannot cross the boundaries of the Pool. Message Flow can cross the Pool boundary to show the interactions that exist between separate private business processes. Thus, a single Business Process Diagram may show multiple private business processes, each with separate mappings to BPEL4WS.
Figure 7.1 - Example of Private Business Process
Abstract (Public) ProcessesThis represents the interactions between a private business process and another process or participant (see Figure 7.2). Only those activities that are used to communicate outside the private business process, plus the appropriate flow control mechanisms, are included in the abstract process. All other “internal” activities of the private business process are not shown in the abstract process. Thus, the abstract process shows to the outside world the sequence of messages that are required to interact with that business process. A single abstract process may be mapped to a single BPEL4WS abstract process (however, this mapping will not be done in this version of the specification).
Abstract processes are contained within a Pool and can be modeled separately or within a larger BPMN Diagram to show the Message Flow between the abstract process activities and other entities. If the abstract process is in the same Diagram as its corresponding private business process, then the activities that are common to both processes can be associated.
Figure 7.2 - Example of an Abstract Business Process
Collaboration (Global) ProcessesA collaboration process depicts the interactions between two or more business entities. These interactions are defined as a sequence of activities that represent the message exchange patterns between the entities involved. A single collaboration process may be mapped to various collaboration languages, such as ebXML BPSS, RosettaNet, or the resultant specification from the W3C Choreography Working Group (however, these mappings are considered as future directions for BPMN).
Determine Orderis Complete
Check Record ofApplicant
DeterminePremium of Policy
Approve or RejectPolicy
Notify Applicant ofApproval orRejection
1) I want to see doctor
Send Appt.
5) Go see doctor
ReceiveSymptoms
6) I feel sick8) Pickup your medicine
and you can leave
ReceiveMedicineRequest
9) need my medicine
10) Here is your medicine
ReceiveDoctor
RequestSend Medicine
SendPrescription
Pickup
Patient
Doc
tor’s
Offi
ce
H. Paik (CSE, UNSW) BPM Week 4 47 / 64
BPMN process support
BPMN example: collaborative process
14 Business Process Modeling Notation, v1.1
The collaboration process can be shown as two or more abstract processes communicating with each other (see Figure 7.3). With an abstract process, the activities for the collaboration participants can be considered the “touch-points” between the participants. The actual (executable) processes are likely to have much more activity and detail than what is shown in the abstract processes.
Figure 7.3 - Example of a Collaboration Business Process
Types of BPD DiagramsWithin and between these three BPMN sub-models, many types of Diagrams can be created. The following are the types of business processes that can be modeled with BPMN (those with asterisks may not map to an executable language):
• High-level private process activities (not functional breakdown)*
• Detailed private business process
• As-is or old business process*
• To-be or new business process
• Detailed private business process with interactions to one or more external entities (or “Black Box” processes)
• Two or more detailed private business processes interacting
• Detailed private business process relationship to Abstract Process
• Detailed private business process relationship to Collaboration Process
• Two or more Abstract Processes*
• Abstract Process relationship to Collaboration Process*
• Collaboration Process only (e.g., ebXML BPSS or RosettaNet)*
Patie
ntR
ecep
tioni
st/
Doc
tor
Send DoctorRequest
1) I want to see doctor
IllnessOccurs
Send Appt.
Receive Appt.
5) Go see doctor
SendSymptoms
ReceiveSymptoms
6) I feel sick
ReceivePrescription
Pickup
8) Pickup your medicineand you can leave
Send MedicineRequest
ReceiveMedicineRequest
9) need my medicine
ReceiveMedicine
10) Here is your medicine
ReceiveDoctor
RequestSend Medicine
SendPrescription
Pickup
H. Paik (CSE, UNSW) BPM Week 4 48 / 64
BPMN Basics, from www.bpmn.org/Documents
Tasks:
A Task is an atomic activity that isincluded within a Process. A Task isused when the work in the Process isnot broken down to a finer level ofProcess Model detail
There are specialized types of Tasks forsending and receiving, or user-basedTasks, etc.
Markers or icons can be added to Tasksto help identify the type of T ask
H. Paik (CSE, UNSW) BPM Week 4 49 / 64
BPMN Basics, from www.bpmn.org/Documents
Events:
An Event is something that “happens” during the course of a businessprocess. These Events affect the flow of the Process and usually havea trigger or a result. They can start, interrupt, or end the flow
To show a few of them:
H. Paik (CSE, UNSW) BPM Week 4 50 / 64
BPMN Basics, from www.bpmn.org/Documents
Depending on where an event is placed:
Events that are placed within theprocess flow represent things thathappen during the normal operationsof the process (e.g., sending orreceiving msgs)
Events that are attached to theboundary of an activity indicate thatthe activity should be interruptedwhen the Event is triggered
H. Paik (CSE, UNSW) BPM Week 4 51 / 64
BPMN Basics, from www.bpmn.org/Documents
Gateways: Exclusive Gateway - most commonly used. The Gateway(Decision) creates alternative paths based on defined conditions (eitherwith X, or not)
H. Paik (CSE, UNSW) BPM Week 4 52 / 64
BPMN Basics, from www.bpmn.org/Documents
Gateways: Inclusive Gateways - when decisions may produce more thanone possible outcome. They are usually followed by a correspondingmerging Inclusive Gateway
H. Paik (CSE, UNSW) BPM Week 4 53 / 64
BPMN Basics, from www.bpmn.org/Documents
Gateways: Parallel Gateways - multiple parallel paths are defined. TheGateway is also used to synchronize (wait for) parallel paths
H. Paik (CSE, UNSW) BPM Week 4 54 / 64
BPMN Basics, from www.bpmn.org/Documents
Connectors:Sequence Flow - the order that activities will be performed in a Process
Message Flow - flow of messages between two Participants of Process
H. Paik (CSE, UNSW) BPM Week 4 55 / 64
BPMN Basics, from www.bpmn.org/Documents
Connectors:
Association is used to associate objects to one another (such as Artifactsand Activities)
Used to show how data is input to and output from Activities
Text Annotations can be Associated with objects
H. Paik (CSE, UNSW) BPM Week 4 56 / 64
BPMN Basics, from www.bpmn.org/Documents
Swimlanes:
BPMN uses the concept known as “swimlanes” to help partitionand/organize activities
Pools represent Participants in an interactive (B2B) Business ProcessLanes represent sub-partitions for the objects within a Pool
H. Paik (CSE, UNSW) BPM Week 4 57 / 64
BPMN Basics, from www.bpmn.org/Documents
Pools: A Participant may be a business role (e.g., buyer or seller) or may abusiness entity (e.g., IBM or UNSW)
A Pool may be a black box or may contain a ProcessInteraction between Pools is handled through Message FlowSequence Flow cannot cross the boundary of a Pool (i.e., a Process isfully contained within a Pool)
H. Paik (CSE, UNSW) BPM Week 4 58 / 64
BPMN Basics, from www.bpmn.org/Documents
Lanes represent sub-partitions for the objects within a Pool
They often representorganization roles (e.g.,Manager, Associate),but can represent anydesired Processcharacteristic
Sequence Flow can crossLane boundaries
H. Paik (CSE, UNSW) BPM Week 4 59 / 64
BPMN Basics, from www.bpmn.org/Documents
Artifacts: Artifacts provide the capability to show information beyond thebasic flow-chart structure of the Process. Three types: Data Objects,Annotations and Groups
Data Objects - show howdata and documents are usedwithin a Process
can be used to defineinputs and outputs ofactivities
can be given a state thatshows how a documentmay be changed orupdated within theProcess
H. Paik (CSE, UNSW) BPM Week 4 60 / 64
BPMN Basics, from www.bpmn.org/Documents
Groups are Artifacts that are used to highlight certain sections of aDiagram without adding additional constraints for performance. Groupsare not constrained by restrictions of Pools and Lanes
H. Paik (CSE, UNSW) BPM Week 4 61 / 64
BPMN Basics, from www.bpmn.org/Documents
Text Annotations
Text Annotations are a mechanism for a modeler to provide additionalinformation about a Process
Text Annotations can be connected to a specific object on theDiagram with an Association
H. Paik (CSE, UNSW) BPM Week 4 62 / 64
Exercise ... from www.bpmn.org/Documents
Claims Handling process at a car insurer1
The process starts when a customer submits a claim by sendingin relevant documentation. The Notification department at thecar insurer checks the documents upon completeness andregisters the claim. Then, the Handling department picks up theclaim and checks the insurance. Then, an assessment isperformed. If the assessment is positive, a garage is phoned toauthorise the repairs and the payment is scheduled (in thisorder). In any case (whether the outcome is positive ornegative), a letter is sent to the customer and the process isconsidered to be complete.
Find a way to visualize the different roles included in the processdescription.
1by Dr. Marlon Dumas’ BPM course: http://courses.cs.ut.ee/2011/bpm/H. Paik (CSE, UNSW) BPM Week 4 63 / 64
The idea is a model to execution ...
H. Paik (CSE, UNSW) BPM Week 4 64 / 64