Prev | Next |
Escalation Event
In BPMN, Escalation is the non-interrupting counterpart of Error, with similar throw-catch behavior. Unlike Error, however, the normal flow and exception flow exits from the Activity are parallel paths, not alternative.
Create BPMN Model
Create the main process
- Create a Start Event S1
- Add a Sequence Flow to a target Activity subProcess1; enlarge the Activity and right-click, selecting the 'Is Expanded' option, then open the 'Properties' dialog and set 'Type' to 'subprocess'
- Add a Sequence Flow to a target abstractTask Activity element Task2 (20) (open the 'Properties' dialog and set the 'Type' field to 'abstractTask')
- Add a Sequence Flow to a target parallel Gateway element merge Parallel (open the 'Properties' dialog and set the 'Type' field to 'parallel')
- Add a Sequence Flow to a target End Event E1
- On subProcess1, add a boundary non-interrupting Escalation Event Catch Issue (drag the 'Intermediate Event' icon onto subProcess1, and from the instant menus select 'Edge Mounted' and 'Escalation'; double-click on the element to display the 'Properties' dialog and add the name, then in the 'Type' field select 'Boundary Non-Interrupting > Escallation')
- Add a Sequence Flow to a target abstractTask Activity element Task3 (30) (open the 'Properties' dialog and set the 'Type' field to 'abstractTask')
- Add a Sequence Flow to the target element merge Parallel
Create the sub process
- Within (or under) subProcess1, create a Start Event S2
- Add a Sequence Flow to a target abstractTask Activity element Task1 (open the 'Properties' dialog and set the 'Type' field to 'abstractTask')
- Add a Sequence Flow to a target Throwing Escalation Intermediate Event Throw Issue (open the 'Properties' dialog and in the 'Type' field select 'Throwing > Escalation')
- Add a Sequence Flow to a target End Event E2
Create BPMN2.0::Escalation elements
From the Diagram Toolbox, expand the 'BPMN 2.0 Types' page, drag the 'Escalation' icon onto the diagram, and give the element the name Escalation1; this will be used as the escalation code by the Events.
Set up Events for Escalation Codes:
- Double-click on Throw Issue and in the 'Value' field for the escalationRef tag click on the icon and locate and select Escalation1
- Double-click on Catch Issue and, again, in the 'Value' field for the escalationRef tag click on the icon and locate and select Escalation1
(The exception flow exits from the Activity are parallel.)
Configure BPSim
Task |
Action |
---|---|
Artifact & Package |
Then all the BPMN elements will be loaded in to the Configure BPSim window. |
Trigger Count of Start Event |
|
ProcessingTime |
|
dummyVariable for Trace |
In order to show the exact trace of a given token, you must set a dummy variable on S1.
|
Run Simulation
Analysis:
Unlike Error, the normal flow and exception flow exits from subProcess1 are not alternative paths but parallel. This feature can be easily discovered from the trace:
- E2 and Task2 (20) still get traversed afterTask3 (30) started
- E1 was reached after mergeParallel was traversed twice