OCEB2F 06 Business Process Modeling Skills
Jump to navigation
Jump to search
Module 6. Business Process Modeling Skills⌘
Advanced Events⌘
Terminate Event⌘
- This type of End indicates that all Activities in the Process should be immediately ended.
- This includes all instances of multi-instances.
- The Process is ended without compensation or event handling.
- Terminate end event in a sub-process ends only that sub-process (without ending parent process).
Timer Events ⌘
- Expresses a time gap in processing or a wait for a period of time.
- Start Timer – start on specific date (Monday at 9am, etc..) or a specific cycle (e.g., every Monday at 9am)
- Intermediate Timer - a specific time-date or a specific cycle (e.g., every Monday at 9am)
- If used in the main flow it acts as a delay mechanism
Timer Start Event⌘
- Starts the Process on specific date (Monday at 9am, etc..) or a specific cycle (e.g., every Monday at 9am)
Timer Example 1⌘
Intermediate Boundary Events⌘
The process waits for a certain action to happen
- Can be attached to the boundary of an activity
- Message (arrives from a participant and triggers the Event)
- Timer (absolute date or cycle – e.g. Every Monday at 9 am) which tigers the event
- Error (only boundary of the activity)
- Signal (send to everyone)
Timer Example 2⌘
Interrupting vs. Non-Interrupting⌘
Signal Events⌘
- A Signal is for general communication within and across Process levels, across Pools, and between Business Process Diagrams.
- A BPMN Signal is similar to a signal flare that shot into the sky for anyone who might be interested to notice and then react. Thus, there is a source of the Signal, but no specific intended target.
Signal Event Example 1⌘
Signal Event Example 2⌘
Conditional Events ⌘
- Is triggered when a condition such as "Temperature above 20°C" become true.
Link Events⌘
- A Link is a mechanism for connecting two sections of a Process.
- Link Events can be used to avoid long Sequence Flow lines.
- The use of Link Events is limited to a single Process level (i.e., they cannot link a parent Process with a Sub-Process or one pool to another pool).
- There can be multiple source Link Events, but there can only be one target Link Event.
- Link event must have name
Link Events Example⌘
Link Events as Off-Page Connector⌘
Error Events⌘
- An Error is generated when there is a critical problem in the processing of an Activity or when the execution of an Operation failed
- An Error indicates that a named Error should be generated.
- 3 types of error events:
- Start Event Sub-Process Interrupting
- Intermediate Boundary Interrupting
- End
- Process can't wait for an error or rise an error in itermediate event (only in Boundary Intermediate)
- Process can't be instantiated using error event (only in Event Sub-Process)
Error Events Example 1⌘
Error Events Example 2⌘
Error Events Example 3⌘
Escalation Events⌘
- An Escalation identifies a business situation that a Process might need to react to.
- In contrast to an Error, an Escalation by default is assumed to not abort the Activity to which the boundary Event is attached.
Escalation Example⌘
Task and Subprocesses⌘
- Task
- A rounded rectangle (AKA roundtangle) showing the finest or atomic process step. It cannot be broken down to a finer level.
- Subprocess (collapsed)
- A roundtangle that can contain a series of other steps
- Subprocess (expanded)
- Shows all the subprocess activities
- May contain "-" sign
Subprocesses⌘
- A Sub-process is a compound activity in that it has detail that is defined as a flow of other activities
- Expanded sub-process may be used as a mechanism for showing a group of parallel activities in more compact way
- Expanded sub-process does not need to include Start Event or an End Event and the sequence flow to/from these Events
Subprocess Markers⌘
Ad-Hoc⌘
- Ad-Hoc Sub-Process contains a number of embedded inner activities and is intended to be executed with a more flexible ordering compared to the typical routing of processes
- It is possible to specify sequence flows between some of the contained activities.
Compensation⌘
- Compensation is concerned with undoing steps that were already successfully completed, because their results and possibly side effects are no longer desired and need to be reversed.
- If an Activity is still active, it cannot be compensated, but rather needs to be canceled.
- Compensation is performed by a compensation handler. A compensation handler performs the steps necessary to reverse the effects of an Activity.
Types of Tasks ⌘
Receive Task ⌘
- Waits for a Message to arrive from an external Participant
- Once the Message has been received, the Task is completed
- Starts the process
- MUST NOT have any incoming Sequence Flow
- Instantiate attribute MUST be set to true
Send Task ⌘
- Sends a Message to an external Participant.
- Once the Message has been sent, the Task is completed.
Service Task ⌘
- uses some sort of service, which could be a Web service or an automated application.
User Task ⌘
- A typical “workflow” Task where a human performer performs the Task with the assistance of a software application
- Examples:
- Phone operator updates customer record
- User changes his password
Manual Task ⌘
- Is expected to be performed without the aid of any business process execution engine or any application
- Example:
- A telephone technician installing a telephone at a customer location
Business Rule Task ⌘
- Provides a mechanism for the Process to provide input to a Business Rules Engine and to get the output of calculations that the Business Rules Engine might provide
Script Task ⌘
- Is executed by a business process engine
- The modeler or implementer defines a script in a language that the engine can interpret
- When the Task is ready to start, the engine will execute the script
- When the script is completed, the Task will also be completed.
Loops and multi-instance⌘
Standard Loop ⌘
- The Activity will loop as long as the boolean loopCondition is true
- The condition is evaluated for every loop iteration, and MAY be evaluated at the beginning or at the end of the iteration (testBefore = true lub testBefore = false)
- In addition, a numeric cap can be optionally specified - loopMaximum
- Loop activity instances are sequentially executed - one after another.
- Loop Activity is similar to DO WHILE loop.
Multi-Instance Activity⌘
- The instances MAY execute in parallel or MAY be sequential.
- Multi-Instance Activites are used with collection of items
- Multi-Instance Activity is similar to FOR EACH loop
Multi-Instance Activity Example⌘
Module 6. Questions⌘
- What Types of Tasks are there in BPMN?
- What is the difference between Interrupting and Non-Interrupting event?
- What is the difference between Escalation and Error event?
- What is Link Event?
- What is Conditional Event?
- What is the difference between Signal and Message Event?























