Paint Wall Process Simulation (Call Activity)
This is a simple example to simulate the process of painting a wall. We define the main process as preparing the surface and then painting it three times. Preparing the surface is further divided into tasks such as sanding and cleaning.
We assume that applying each of the three coats of paint is the same process, except that the time randomly spent on each coat might be different.
Create BPMN Model
Create the main process - Paint Wall Process
- Create a Start Event called S1
- Add a Sequence Flow to a target callProcessActivity called Call Prepare Surface
- Add a Sequence Flow to a target callGlobalTaskActivity calledCoat Surface 1st Round
- Add a Sequence Flow to a target callGlobalTaskActivity called Coat Surface 2nd Round
- Add a Sequence Flow to a target callGlobalTaskActivity called Coat Surface 3rd Round
- Add a Sequence Flow to a target End Event called E1
Create the re-used process - Prepare Surface Process
- Create a Start Event called S2
- Add a Sequence Flow to a target Abstract Task called Sand Surface
- Add a Sequence Flow to a target Abstract Task called Clean Surface
- Add a Sequence Flow to a target End Event called E2
Set Global Task and re-used process to call Activities
- Create a Global Task Activity called Coat Surface
- Double-click on each of Coat Surface 1st Round, Coat Surface 2nd Round and Coat Surface 3rd Round, and set the tag 'calledActivityRef' to Coat Surface
Tip: You can also drag the Global Task 'Coat Surface' from the Project Browser and drop it on the Call Activity element, clicking the 'set calledActivityRef' option on the context menu.
- Double-click on Call Prepare Surface and set the tag 'calledActivityRef' to Prepare Surface Process
Tip: You can also drag the process 'Prepare Surface Process' from the Project Browser and drop it on the Call Activity element, clicking the 'set calledActivityRef' option on the context menu.
- Open the 'Configure BPSim' dialog ('Simulate > BPSim > Manage > Open BPSim Manager')
- Create a Business Process Simulation Artifact named Paint Wall Simulation
- Select the Package containing the corresponding BPMN 2.0 model
All of the BPMN elements will be loaded in to the 'Configure BPSim' dialog.
Fixed Scaling Time
On the left hand panel of the Configure BPSim window, expand the 'Activity' group, then:
Random Coating Time
On the left hand panel of the Configure BPSim window, expand the 'GlobalTask' group, then:
With this setting, the mean value of the random numbers generated by the Poisson distribution is 10. If you prefer, you can choose other types of distribution.
TriggerCount on S1
On the left hand panel of the Configure BPSim window, expand the 'Start Event' group, then:
For the only token started on S1, we can see from the 'BPSim Simulation Controller' dialog how the flow develops:
- When reaching the callProcessActivity, the called process is activated; so we have S2 ~ E2
- When reaching a callGlobalTaskActivity, the called Global Task is activated - the notation reads: GlobalTask name (called activity name); the global Coat Surface was called three times:
- Coat Surface(Coat Surface 1st Round)
- Coat Surface(Coat Surface 2nd Round)
- Coat Surface(Coat Surface 3rd Round)
Click on the button on the 'BPMN Simulation Controller' dialog toolbar. The 'BPMN Simulation Report View' displays:
Tips: Type a text string in the bar to show only the records containing that text string in that column field.
After expanding the report (click on the button on the 'Report View' toolbar), the report displays as shown in the example, from which we can make this analysis:
- Coat Surface 1st Round took 8 minutes; Coat Surface 2nd Round took 10 minutes; Coat Surface 3rd Round took 12 minutes - the figures 8, 10, 12 are randomly generated by the Poisson(10) distribution; what is important here is that each call instance of the Global Task has its own values
- Coat Surface has a total time collected from all instances: 8 + 10 + 12 = 30
- The Call Activity Call Prepare Surface took 40 minutes, composed of Sand Surface (30 minutes) and Clean Surface (10 minutes)
- The Sum Of Processing Time for Paint Wall Process is 70 minutes, composed of the four Call Activities: 40 + 8 + 10 + 12 = 70
We can configure a 'Result Request' on BPMN elements to customize the simulation report so that we only report on the parameters we are interested in.
Configure Result Request
- On the left hand side of the 'Configure BPSim' dialog, expand the 'Activity' group, then click on Coat Surface 1st Round and on the 'Time' tab
- In the lower panel on the right of the dialog, click on 'ProcessingTime', click on the drop-down arrow in the 'Result Request' field and select the checkbox against 'sum'; click on the
- Repeat these steps for the Activities Call Prepare Surface, Coat Surface 2nd Round, Coat Surface 3rd Round
- Expand the 'Business Process' group and repeat these steps for Paint Wall Process
- On the 'Configure BPSim' dialog toolbar, click on the ; the 'BPSim Simulation Controller' dialog displays
- Click on the Run button drop-down arrow and select, in this case, 'Customized Simulation'
The Flow Analysis is exactly the same as for a Standard Simulation.
On the 'BPSim Simulation Controller' dialog toolbar, click on the button; the 'BPMN Simulation Report View' displays.
The Time Analysis is the same as for a Standard Simulation; however, the report only contains the 'sum' results we requested.
Note: Currently, in the Time Analysis, we can not request ProcessingTime either on the called process itself or on the Activities contained by the called process. If you have this requirement, use the Standard Simulation.