1. This presentation gives an overview of the BPMN 2.0 elements and how
the standard can be used for business process modeling.
Please run these slides in presentation mode. They contain several
animations for a better understanding!
BPMN 2.0
Introduction
Business Process Modeling Notation
from Version 2.0:
Business Process Model and Notation
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
2. Agenda
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
3. BPMN Basic Elements
Flow objects Connectors Artifacts
Task Sequence Flow Data Object
Event Message Flow Group
Gateway Association Annotation/
Association Text
Lane Lane
Participant
Pool
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
4. Important Terms
Process Model Description of Process
Prozess Instance Initiated Process
Token ≠ Document
(virtual) Object(s) routed on one
or more path through the
model
Correlation Assignment of a process
instance on base of a unique
key (UUID)
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
5. A first Process
Appetite Meal ready Appetite
realized
satisfied
Meal
Buying Food Eating Meal
cooking
Start Event Task Sequence- Interim Event End Event
(Blank) flow (Blank) (Blank)
Appetite Object Food Object
realized Passive Verb buying Verb
Event Task
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
6. Agenda - Gateways
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
7. Exclusive (XOR-)Gateway
Appetite Requested
realized Recipe?
Pasta
Looking for
Recipe X Pasta Pasta
Cooking cooked
Steak
Steak Steak
Roasting Roasted
Salad
Salad Salad
Data based Preparing Prepared
Exclusive
Gateway
(branching)
XOR-Split
X =
A Gateway is no Task
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
8. Exclusive (XOR-)Gateway Merging
Appetite Requested
Appetite
realized Recipe?
satisfied
Looking Pasta
for
Recipe
Preparing
Salad X Cooking
Pasta X Eating
Meal
20 min
Steak Roasting
Steak
10 min
Data based
Annotation
Exclusive
Gateway
(merging)
XOR-Join
Gateway-Joins are optional!
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
9. Parallel Gateway AND-Split & AND-Join
Appetite Requested Appetite
realized Recipe? satisfied
Pasta
Looking for
Recipe + X Cooking
Pasta X + Eating
Meal
Steak Roasting
Steak
Salad Preparing
Salad
Parallel Gateway
Parallel Gateway
(synchronizing)
(parallizing)
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
10. Understanding the Token 1/3
When does the token finishing?
At this position the engine
Appetite Requested does not wait for the Appetite
realized Recipe? second token satisfied
Pasta
Looking for
Recipe + X Cooking
Pasta X Êating
Meal
20 min
5 min 15 min
30 min
Steak Roasting
Steak
35 min
15 min
Salad Preparing
Salad
10 min
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
11. Understanding the Token 2/3
correct model
Appetite Requested Appetite
realized Recipe? satisfied
Pasta
Looking for
Recipe + X Cooking
Pasta X + Eating
Meal
20 min
5 min 15 min
Steak Roasting
Steak 35 min
15 min
Salad Preparing
Salad
10 min
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
12. Understanding the Token 3/3
When does the token finishing?
Task Started Task 1 finished
+
Task 1 Editing Task
1
10 min
Task 2 finished
10 min
Task 2 Editing Task
2
15 min
15 min
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
13. Data Based Inclusive Gateway
OR-Split & OR-Join 1/4
We want:
- Only one salad or
- One salad and „something substantial“
like pasta or steak or
- Only „something substantial“
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
14. Data Based Inclusive Gateway
OR-Split & OR-Join 2/4
Appetite Requested Requested Appetite
realized Variant Recipe? satisfied
Looking Pasta
for
Recipe O X Cooking
Pasta X O Eating
Meal
Something 20 min
5 min Substantial
15 min
Steak Roasting
Steak
15 min
Salad Preparing
Data based Salad Data based
inclusive Gateway inclusive Gateway
(parallelizing 10 min (synchronising)
OR-Split = and - or - Situation
one, several or all paths
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
15. Data Based Inclusive Gateway
OR-Split & OR-Join 3/4
Appetite Requested Requested Appetite
realized Variation Recipe? satisfied
Looking Pasta
for
Recipe O X Cooking
Pasta X O Eating
Meal
Something 20 min
5 min Substantial
15 min
Steak Roasting
Steak
35 min
15 min
Salad Preparing
Salad
10 min
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
16. Data Based Inclusive Gateway
OR-Split & OR-Join 4/4
Appetite Requested Appetite
realized Recipe? satisfied
Pasta
Looking
for Recipe O Cooking
Pasta O Eating
Meal
20 min
5 min 15 min
Eating at home
Appetite
Salad Not satisfied
tastefull?
Salad Preparing
Salad X Eating external
10 min
Two possible tokens and ends!
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
17. Standard Flow
What happens if you neither want to eat pasta nor steak?
Deadlock – the token stops at a undefined position
=> „Other“-Tasks to model
or:
Appetite Requested Appetite
realized Menue satisfied
Pasta
Looking
for recipe X Cooking
Pasta X Eating
Meal
Steak
Roasting
Steak
Pizza Ordering
Pizza
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
18. BPMN Rules & Etiquette
BPMN does not specify what happens if no
ending path is being executed
There are no implicit sequence flows allowed
=> all sequence flows must be modeled
Use a standard flow if there is a danger of a
dead lock
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
19. Complex Gateway 1/3
Exercise:
We want to order pizza and are evaluating available
menus and internet offers.
As soon as one taks is finished we want to order!
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
20. Complex Gateway 2/3
Reading
Appetite menu Appetite
realized satisfied
+ + Ordering
Pizza
Eating
Meal
Researching
Internet Offer
Reading
Appetite menu Appetite
realized satisfied
+ X Ordering
Pizza
Eating
Meal
Researching
Internet Offer
Reading
Appetite menu Appetite
realized satisfied
+ O Ordering
Pizza
Eating
Meal
Researching
Internet Offer
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
21. Complex Gateway 3/3
Reading
Appetite menu Appetite
realized satisfied
+ I
X Ordering Eating
I
Pizza Meal
Researching
Internet Offer
If several tokens are arriving at a complex gateway, the gateway will wait for
a predefined number of tokens before the merged token will be routed to
next task. (the number of tokens will be specified by a comment assigned
to the complex gateway)
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
22. Combination of Gateways
Appetite Appetite
realized satisfied
Looking
for recipe + Preparing
Salad + Eating
Meal
X Chinese Meal
X
Ordering
Chinese Meal
Pizza
Ordering
Pizza
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
23. Return Jump with Gateways
Appetite Appetite
realized satisfied
Looking
for recipe + Preparing
Salad + Eating
Meal
ok
Reorder
X X
Pizza
Ordering
Pizza
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
24. Conditional Flow
Appetite Cooking Appetite
realized Pasta satisfied
Pasta?
Looking for
Eating Meal
Recipe
Steak?
Roasting
Steak
1. Without Join-Gateway it is not possible to model a synchronization!
2. Reduced possibilities for condition checks
3. Conditional flows following the semantic of OR-Splits
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
25. Agenda - Lanes
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
26. Pools & Lanes
Lanes
Appetite Requested Dish Appetite
flat-sharing community
realized satisfied
Arno
Pasta
Looking
for recipe X Cooking
Pasta X Eating
Meal
Nadja
Steak
Roasting
Steak
Pool
Only Arno will eat pasta or steak!
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
27. Pools & Lanes - Correct
Appetite Requested Dish Appetite
flat-sharing community
realized satisfied
Arno
Pasta
Looking
for recipe X Cooking
Pasta X Eating
Meal
Appetite
satisfied
Nadja
Eating
Steak
Roasting Meal
Steak
Pool
Both will eat pasta or steak – but Arno will decide!
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
28. Pools & Lanes Variants
Start
Lane 1
detected
Task 1
End detected
Lane 2
Task 2
Pool 1
End detected
Lane 3.1 Lane 3.2
Task 3
Lane 3
End detected
Task 4
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
29. Agenda - Events
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
30. Events
Catching
Events
eingetretene
Ereignisse
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
31. Interrupting / Resuming
Catching Events
Interrupting
Throwing Events Resuming
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
32. Events & Correlation
wrong
End
Start variant 1 detected
detected
Task 2
End detected
+ Task 1 Task 3
Start variant 2
detected
End detected
Task 4
Two start events are throwing two different process universal ids
=
two process instances
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
33. Events & Correlation
correct
End
detected
Task 2
Start
Event 2 End detected
detected
Task 1 ? Task 3
End detected
Task 4
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
34. Event Sequences
Start End
Event 2 Event 3
detected detected
Task 1 ? ? Task 2
Events must be proceed one after the other
End
Start ? detected
detected
Event 1
Task 1 + + Task 2
Event 2
?
AND-Join-Gateway waits for both Events
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
35. Interrupting Task Execution
interrupting boundary intermediate event
Start End
detected detected
Task 1 Task 2
?
End
Event 1
detected
Task 3
Task 1 will be interrupted, if event 1 appears.
Attention: Only during execution of a task!
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
36. Execution of a new Task/Token
None interrupting boundary event
Start Ende
deteted deteted
Task 1 Task 2
Ende
Event 1
deteted
Task 3
Task 1 will be continued if event 1 appears.
Task 3 will be executed parallel to task 2
For each new appeared event 1 a separate UUID (Token) will be created.
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
37. Start Events
Top Level Sub process Sub process non-
interrupting interrupting
Blank
Receive Message
Timer
Escalation
Condition
Error
Compensation
Signal
Multiple (one from
many)
Multiple / Parallel
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
38. Intermediate Catching Events
Catch Occurred Attached Attached non
interrupting interrupting
Receive message
Timer
Escalation
condition
Link
Error
Cancel
Compensation
Signal
Multiple
Multiple / Parallel
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
39. Throwing Events
Throw Intermediate End
Blank
Send Message
Escalation
Link
Error
Cancel
Compensation
Signal
Multiple
Terminate
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
40. Message Intermediate Events
Appetite Appetite
Pizza Ordered Pizza delivered
realized satisfied
Looking for Eating
Pizza Pizza
Appetite
With the following process two pizzas would be ordered! Appetite
realized Pizza ordered Pizza delivered
satisfied
Looking for Ordering Eating
Pizza Pizza Pizza
Messages will be sent to none pool members (BPMN rule)
The recipient must be known!
=> Message events regard on messages, which the process receives from
externals.
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
41. Timer Events
In Intervalls
Regularly at defined time
In time relation to a specific event
Once at defined time
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
42. Specific Timer Events
Monday –
Friday Arrived at
at 7:00 07:45
Office
Leaving Eating Driving
bed cornflakes underground
Every two
10 min tea
hours
break
Reading Reading
documents Mails …
6 months
before 1 day before
vacations vacations
Looking for Booking Packing
hotel hotel suitcase …
14.6. 14:00 Uhr
14.6. 9:00 clock
Sending Eating ice with
Buying ice
invitations colleagues …
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
43. Error-Events - only! termination
Appetite Appetite
realized satisfied
Baking Setting Eating
Pizza table Meal
Pizza Pizza erhalten
charred
Ordering
pizza
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
44. Conditional-Events
Pizza
Frozen Pizza
eaten
requested
Inserting Removing Éating
Switching
Pizza into Pizza Pizza
on Oven
Oven
Oven 180° Waiting 20 min
The condition of an occured event must be
completely independent from the actual proces!
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
45. Signal-Events
Pizza-TV-Spot Pizza rated on
seen pizzatest.de
Inserting Removing Eating
Buying
Pizza into Pizza Pizza
Pizza
Oven
hungry 20 min waited
Messages have a recipient – Signals not!
Anybody who receives a signal can decide whether he wants to act or not!
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
46. Link-Events
Start
realized
Task 1
A
Ende
realized
Task 2
A
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
47. Compensations-Event - (Transactions)
Friday Friday
1 pm Still Wish?
6 pm
Organizing ja Carrying out
Evening
Reserving
Tickets X X Activity
nein
End realized
Cinema Canceling
Requested Cinema
Activity?
X
Friends Arrange
meeting with Cancel Activity
friends
End realized
Watching
Canceling
TV
Friends
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
48. Effect of Compensation
The started task takes effect only inside the
actual pool
Only if task of attached compensation was
carried out
The link to the compensation task must be an
association (pointed line)
Compensation task is a „specific task“
(see following slide)
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
49. Multiple Event
Buying Eating
Pizza Pizza
Pizza-Spot Getting hungry Pizza rated
seen
Pizza-Spot
seen
Buying
Pizza
= Eating
Pizza
Pizza rated
Getting hungry
Sent
Get recommendation
recommendation
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
50. Multiple Event – Effect
Catching Event:
there must be one event active (caught)
Throwing Event:
all included events must be thrown
not very useful but helpful for a better overview
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
51. Cancel Event (only sub processes)
Organize
Journey
Arranging Booking Booking Request
Visit Flight Hotel Vacations
Journey
Request Booked
Denied
Hotel
Booked out
Booking Journey
other Hotel Canceled
Canceling Canceling Canceling
Visit Flight Hotel
All Hotels
booked out
Cancel
Organizing Journey
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
52. Event Based Gateway
Appetite Appetite
realized Pizza received satisfied
Ordering Eating
Pizza Pizza
60 min
Calling
Pizzaria again
Pizza received
XOR-Semantic
One of the following events will be carried out, the other will be destroyed!
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
53. Agenda – Specific Tasks
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
54. Additional Tasks – Types 1/3
General Send
Service Receive
Manual Script
User Rule
Reference – Call
not allowed
anymore
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
55. Specific Tasks – Types 2/3
General
Service Automatically proceed by the engine /
use of a Web Service
Manual by a user – explicite not by support of a
software system
User caused by the process engine – edited
and completed by a user
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
56. Specific Tasks – Types 3/3
Send technical – for asynchrony
communication
Receive technical – for asynchrony
communication
Script software code proceed by engine
Rule routing by business rules
Call references a global task
It is possible to define company specific tasks!
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
57. Specific Tasks – Annotations 1/3 Loops
Appetite
1 am satisfied
Suggesting Cooking
Meal Meal
…
Until all agree
Agree all?
Appetite
1 am satisfied
Suggesting yes
X Meal X …
no
1 am Appetite
Agree all? satisfied
Suggesting yes
Meal X …
no
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
58. Specific Task – Annotation 2/3 Multiple Task
Appetite
1 am satisfied
Looking for Cooking
Meal Meal
…
All interested
With a multiple task it is possible to parallize tasks dynamically.
This task will initialized multiple and proceed sequential or parallel!
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
59. Specific Tasks - Annotation 3/3 Compensation
Appetite
1 am satisfied
Inviting for Preparing
Meeting Meeting
…
Canceling
Meeting (to
anybody)
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
60. Agenda – Sub Processes
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
61. Sub Processes
Appetite
1 am satisfied
Task Sub Process
+
…
Sub Process
Appetite
satisfied
Task 2 Task 3
There are embedded, reusable and referenced sub processes.
BPMN 2.0 only knows embedded sub processes. They are
embedded in a pool or lane and have a blank start event.
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
62. Sub Process – Attached Events
Appetite
1 am satisfied
Looking for Cooking
Recipe Meal
+ …
Oven demaged
Eating
external
• Cancel at message, time and conditional events, if sub process
has to react on external activity!
• At errors, cancelations and escalations messages will be
transferred to the main process.
• It is possible to use multiple intermediate events.
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
63. Sub Process - Annotation
Semantic identical to
Sub Process Sub Process Sub Process annotations of tasks.
+ + +
The annotation „Adhoc“ => ~ is only at sub processes allowed
Journey planning
Turning off Updating
1 am Semantic: All,
Radiator Voice Mail
any or only one
… is possible. The
decision is
Watering Paking taken by the
Plants Suitcase user.
~
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
64. Event - Sub Processes
Preparing Meal
Looking for Cooking Eating
Inviting Recipe Meal Meal
Friends
Inviting Additional Guest
Taking into Account
another Guest
Friend invites
someone
Getting Meal External
Ordering
Meal
Oven demaged
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
65. Event - Sub Processes Collapsed
Preparing Meal
Looking for Cooking Eating
Recipe Meal Meal
Inviting
Friend
Inviting Getting Meal
Additional Guest External
+ +
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
66. Agenda - Pools
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
67. Pools Message Flows - ALLOWED
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
68. Pools Message Flows – NOT ALLOWED
X
- Events with message flows, which are not the type message.
- Or generally spoken:
Gateways with Message Flows
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
69. Pool Example Pizzaria
Cook
Baking Pizza
La Mama
Pizzaria
Order Receipted
Pizza
invoiced
Carrier
Delivering Cashing
Pizza Pizza
Appetite Appetite
realized satisfied
Pizza
Ordering received Eating
Customer
Pizza Pizza
Chris Hill
60 min
Asking at
Pizzaria
again
Pizza received
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
70. Pool Example Pizzaria
Cook
Baking Pizza
La Mama
Pizzaria
Order Receipted
Pizza
invoiced
Carrier
Delivering Cashing
Pizza Pizza
Appetite Appetite
realized satisfied
Pizza
Ordering Paying
received Eating
Customer
Pizza Pizza Pizza
Chris Hill
60 min
Asking at
Pizzaria
again
Pizza received
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
71. Pool Collapsed
Pizza Selling
La Mama
Appetite Appetite
realized satisfied
Pizza
Ordering Paying
received Eating
Customer
Pizza Pizza Pizza
Chris Hill
60 min
Asking at
Pizzaria
again
Pizza received
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
72. Pools Collapsed
Pizza Selling
La Mama
Order Asking Again Delivering Paying Cashing
Pizza Ordering
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
73. Multiple Instances Pools
Customer
Received finished
Order
Getting Selecting
Pizza Ordering
Offer Offer
fakturiert Product
Supplier
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
74. Agenda - Artifacts
Basic Terms
Gateways
Lanes
Events
Additional Tasks
Sub Processes
Pools
Artifacts
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
75. Artifacts and Associations
Data 1
Status A Data 1
Status B
Data 2
Ordering
Task 1 Task 2
Product
Input
Status A
Output
• Additional symbols available
Liste • Combination possible
Datenablage • Own symbols allowed
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
76. END
BPMN Poster:
http://www.bpmb.de/images/BPMN2_0_Poster_EN.pdf
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
77. Contact:
Bjoern.Reinhold@de.GBS.com
PAVONE Ltd, UK
School House, Hackforth
BEDALE, N. Yorks. DL8 1PE
United Kingdom
Phone: +44 (0) 1748 811527
E-Mail: info@pavone.com
PAVONE AG
Technologiepark 9
33100 Paderborn
Phone: +49 52 51 / 31 02-0
Fax: +49 52 51 / 31 02-99
E-Mail: info@pavone.de
PAVONE AG in Böblingen
Herrenberger Str. 122 For more information please visit our
71034 Böblingen homepage http://www.pavone.com
Phone: +49 7031 / 4997 10
Fax: +49 70 31 / 4997 97
E-Mail: info@pavone.de
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
78. Catching Events Throwing Events
X
I
X
I
~
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA
79. Ein Prozess
Fluss-Objekte Verbindende Objekte
Artefakte
Text
Teilnehme
r
Lan
e
Pool
Lan
e
ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA