Business Process Simulation
Business process simulation plays an important role in the continuous improvement approach to business process management (BPM). By running business process simulations, companies can predict how business processes perform under specific conditions. Simulations can also be used to test process design, measure performance, identify bottlenecks and test changes. Ultimately, process simulation can identify the most effective process flow and help prevent problems from cropping up during process execution. Simulation models can be very simple or highly complex.By running simulations, business analysts and developers can predict the behavior of business processes under specified conditions. They can run simulations to verify that the output meets the metric objectives and identify any bottlenecks. They can also run simulations to test the effects of changes on an existing process design.
10.1 Introduction to Running Simulations in Oracle BPM
After you define a simulation, you run it in Oracle BPM to determine the efficiency of that definition. Your simulation can reflect either real or anticipated data.Using the simulation capabilities of Oracle BPM, you can:
-
Define multiple models for a given process so that different conditions can be analyzed
-
Run multiprocess simulations to learn how working in different business processes can affect resources
10.1.1 Simulation Models and Simulation Definitions
Before you run a simulation, you must specify the behavior of each element of your process. To define a simulation you must create and configure the following elements in your BPM Project:-
Simulation model
Enables you to define the behavior for an individual process model. Note that, for any given process model, you can have multiple simulation models, so that you can mimic a variety of scenarios.
-
Simulation definition
Enables you to define the processes and resources that define a simulation scenario.In a simulation definition you specify the processes that participate in the simulation by selecting the simulation models associated to those processes. A process may have multiple simulation models defined for it. If a process has multiple simulations models defined, then you must select one of those models to use in the simulation definition.
However, simulations mimic the behavior of an activity using the following simulation variables that you can define using the Simulation Editor:
-
duration
-
resources
-
cost
-
queue information
-
probability of the instance passing through a sequence flow
10.2 Creating Simulation Models
Simulation models enable you to simulate the behavior of an individual process. They enable you to define how a process behaves as part of a simulation definition.You can define multiple simulation models for each process, creating different simulations based on different combinations of resource allocation and activity behavior.
10.2.1 How to Create and Configure a Simulation Model
To create and configure a simulation model:
-
In the BPM Project Navigator, expand the Simulations node.:
-
Right-click the Simulation Models node.
-
Select New Simulation Model.
The Create Simulation Model dialog box appears.
-
Select a process.
-
Enter a name for the simulation model.
-
Click OK.
The simulation model appears under the Simulation Models node in the BPM Project Navigator and the Simulation Model editor opens.
-
Specify the number of instances to create during the simulation:
-
Select Specify number of process instances to be created.
-
Specify the number of instances to create during the simulation.
Note:The process simulation runs until the completes the specified duration or reaches the maximum number of instances. -
Select Specify number of process instances to be created.
-
In the Flow Nodes tree, select an activity.
Depending on which type of activity you select, the following tab pages appear on the right of the Flow Nodes tree:
-
Duration: defines the distribution that determines the time an activity takes to complete.
-
Resources: specifies the number of participants assigned to a
particular role. You can define this parameter in the simulation model
or at a global project level in the project simulation definition.
-
Cost: specifies the cost of processing the activity. For user tasks
it also specifies the cost of the resources assigned to the user task.
-
Queue Info: defines the simulated behavior of how process instances are queued for a given activity
-
Sequence Flows: determines the probability percentage of instances routed through the different outgoing sequence flows
-
Duration: defines the distribution that determines the time an activity takes to complete.
-
Configure each activity as follows:
-
In the Duration page, in the Instance Execution Duration section,
specify the Distribution Type. Options are listed and described in Table 10-1.
Table 10-1 Options in the Simulation Model Flow Nodes Duration PageOption Description Constant Specifies that the simulation model uses the value specifies in the Period property to calculate the completion time for all the activities in the process. Uniform Determines the period required to complete an activity consistently, taking into account the variation specified in the delta property. When you select this option, you are prompted to specify each of the following:
-
Mean: Determines the mean time it takes to complete an activity
-
Delta: Defines the upper and lower limit variation of the mean
parameter when determining how long it takes to complete a simulated
activity
Exponential Determines how long it takes to complete a simulated activity by specifying how many instances are completed within a specific period. When you select this option, you are prompted to specify:
-
Average Frequency: Determines the number of average instances processed within the interval defined by the Every property
-
Every: Defines the interval used for exponential distribution
Normal Uses the Gauss Bell distribution to determine how long a simulated activity takes to complete. You must specify the mean and standard distribution. When you select this option, you are prompted to specify:
-
Mean: The mean period required to perform an activity
-
Standard Deviation: The standard deviation of the mean period required to perform an activity
Real Enables you to specify the amount of time required to complete a simulated activity for a specific time interval. When you select this option, you must specify:
-
Distribution Criteria: determines the time interval for determining how long a simulated activity takes to complete
-
Interval: specifies the period during which the simulation runs.
-
Mean: defines the mean time to complete an activity
-
Standard Deviation: defines the standard deviation of the mean parameter
-
Mean: Determines the mean time it takes to complete an activity
-
In the Cost page, specify the following:
Table 10-2 Properties in the Simulation Model Flow Nodes Cost PageProperty Description Fixed Base Cost Defines the cost required to perform the simulated activity Fixed Base Cost Plus Resource Cost Calculated based on the defined cost per hour and the time it takes the resource to execute the instance. This property is only available for user tasks. -
In the Queue Info page, specify the following:
Table 10-3 Properties in the Simulation Model Flow Nodes Queue Info PageQueue Warning Size Determines the number of incoming instances that can be waiting for an activity simultaneously. Activity Queue Policy Determines how incoming instances are handled by the activity. The following values are available: F.I.F.O (First In, First Out), L.I.F.O (Last In, First Out), Random, and By Priority -
In the Sequence Flows page, move the slider to specify the probability of each outgoing sequence flow occurring.
If the activity contains boundary events, then the flows of the boundary events appear in this page. For more information about configuring boundary events, see Section 10.3, "Configuring Boundary Events".
-
In the Duration page, in the Instance Execution Duration section,
specify the Distribution Type. Options are listed and described in Table 10-1.
10.3 Configuring Boundary Events
If the BPMN process you want to simulate contains boundary events, then you must specify the probability of these events happening.You can specify the probabilities for the different boundary events in the Outgoing Flows page.
The way you specify the probability of a boundary event varies according to the type of the event:
-
Interrupting Boundary Message and Error Events
The probabilities of all the interrupting boundary message and error events for an activity are related. If you add these probabilities the result must always be 1.
The simulation model editor displays a set of sliders to configure these activities. If you move a slider, the values in the other sliders automatically adjust. You can lock the values by clicking the lock icon next to the slider. When you lock a value the simulations model editor does not modify it when you move the other sliders. The simulation model editor forces you to leave at least two values unlocked.
-
Non-Interrupting Boundary Message and Error Events
The probability of a non-interrupting boundary message or error event is independent from the probability of other events happening. This value of this probability can vary between 0 and 1.
The simulation model editor displays a slider for each non-interrupting boundary message or error event. You can move this slider to specify any value between 0 and 1.
-
Timer Events
To specify the probability of a boundary timer event, you must define the time interval between occurrences of the event. If the implementation of the timer event in the BPMN process uses an expression, then you must define a fixed time interval to use during the simulation. If the implementation of the timer event in the BPMN processes uses a fixed time interval, then redefining the time interval is optional because you can use the interval defined in the BPMN process for the simulation.
The simulation model editor displays a table for interrupting timer events and another one for non-interrupting timer events. You can redefine the time intervals for each of the events using these tables.
10.4 Creating Simulation Definitions
You can create a simulation definition to represent a simulation scenario for a group of simulation models. You can select which simulations model to run from the group of simulation model contained in the simulation definition.10.4.1 How to Create a Simulation Definition
In a simulation definition, you can customize the following parameters to see how they influence the performance of your project:-
Start time and duration of the simulation
-
Which process simulation models you want to include in the project
simulationThe participant resources you want to include in the
simulation
To create and configure a simulation definition:
-
In the BPM Project Navigator, expand the Simulations node.
-
Right-click the Simulation Definitions node.
-
Select New Simulation.
The Create Simulation Definition dialog box appears.
-
Enter a name for the simulation definition.
-
Click OK.
The simulation definition appears under the Simulation Definitions node and the Simulation Definition editor opens. Figure 10-3 shows the Simulation Definition editor.
-
Specify the general parameters for this simulation as described in Table 10-4.
Table 10-4 General Parameters for Simulation DefinitionsParameter Description Start Time Defines the start time for the simulation. This time is used only for logging. It is not used for scheduling purposes. Duration Defines the period the simulation runs. This interval is specified in months, days, hours, minutes, and seconds. Let in-flight instances finish before simulation ends If selected, simulation ends only when the specified number of instances completes. If unselected, simulation stops after the simulation duration is completed. At that point, all incomplete instances are shown in either “in-process” or “queue” status. -
The Project page contains a table that lists all of the processes
within the current project. For each process, you can select which
simulation model you want to use. Also, you must specify which processes
to include in the simulation.
Specify the parameters in the Project page as described in Table 10-5.
Table 10-5 Project Parameters for Simulation DefinitionsParameter Description Process Lists the processes that you can include in this simulation. Model For each process, lists the model specified in Section 10.2.1, "How to Create and Configure a Simulation Model" Include in Simulation Enables you to specify whether to include the process in the simulation
-
In the Resources page, you can define the resources to use within the simulation.
All processes included in the simulation share these resources. The cost of each resource is defined per hour.
To define the resources click the following buttons:
-
Add Resource: adds a resource to the simulation definition
-
Delete Resource: deletes the selected resource from the simulation definition
-
Add Resource: adds a resource to the simulation definition
-
Click Save.
Note:Ensure you saved the changes before running the simulation. If you do not save the changes, then the simulation engine does not use them when you run the simulation.
10.5 Running Simulations
You can pause, stop, or run a simulation to the end. If you stop the simulation, you must restart it from the beginning.10.5.1 How to Run a Simulation
To run a simulation, you must have created simulation models and at least one simulation definition.
To run a simulation:
-
In the BPM Project Navigator:
-
Open the Simulation view.
-
From the Simulation list, select the simulation definition you want to run.
-
Click Run Simulation.
The simulation begins.
-
Open the Simulation view.
10.5.2 What Happens When You Run a Simulation
The animation of the simulation appears in the project editor, and the results appear according to your specifications in the Simulation page.
Note:
If you place the mouse pointer over a column in the chart, a tooltip with the value of the activity or indicator appears.10.5.3 Understanding the Simulation View
The simulation view enables you to configure and run a simulation. Figure 10-5 shows a simulation view.
Figure 10-5 Example of a Simulations Page
Description of "Figure 10-5 Example of a Simulations Page"
-
Select which simulation to run from the Simulation list.
-
Start, stop, and pause the simulation, or run it to the end by
clicking the appropriate button. If you choose to run the simulation to
the end, the simulation runs in the background with no animation making
the simulation faster.
Note:If you stop a simulation, you must restart it from the beginning. -
Select the speed at which to run the simulation from the Speed list.
In normal speed, instances are created at rate of one per second.
10.6 Analyzing the Results of a Simulation
You can display simulation results either as a chart or as a log file by clicking either the Chart tab or the Log tab in the Simulations window.The Log tab displays a log that tracks the movements of all the instances in the simulated process. Each line in the log contains the following information:
-
Date and Time
-
Process
-
Instance
-
Instance path
10.6.1 How to Analyze the Results of a Simulation Using a Chart
The Chart tab enables you to select a type of chart to display the result of the simulation. You can configure this chart to display the resources to monitor. You can also select the units the chart uses to measure the resources use.In the Chart tab you can configure how to display the chart with the results of the simulation by configuring the following:
-
Type of chart
-
Activities or resources to monitor
-
Indicators
To analyze the results of the simulation using a chart:
-
From the list below the Chart tab, select the type of chart to display.
They available types are:
-
Column
-
Bar
-
Bar 3D
-
Column 3D
-
Table
-
Column
-
Click the Configure icon located on the right hand side of the Charts tab.
A Configuration dialog box appears.
-
Select a resource or an activity to monitor.
-
Select the axis where to display the activities or resources.
-
From the list below the Show list, select the activities or resources to monitor in the simulation.
-
From the Indicators list, select the type of indicators to monitor.
The available types of indicators are:
-
Cost
-
Time
-
Units
-
Cost
-
From the list below the indicators list, select the indicators to monitor.
The chart displays the variables and indicators you selected.
-
Click Close.
-
Optionally, click the drill up and drill down icons located next to
the Types list to increase or reduce the level of detail in the chart.
10.6.2 How to Generate a Simulation Report
You can generate a simulation report that contains the result of the simulation.
To generate a simulation report:
-
Run the simulation.
For more information on how to run a simulation, see Section 10.5.1, "How to Run a Simulation".
-
Click the Generate Documentation icon.
The Simulation Report dialog box appears.
-
In the Directory Location field, enter a directory to store the
report or click the button next to it to browse the file system and
select a directory.
-
In the Activities tab, select an option:
-
Summary
-
Details
-
Summary
-
In the tree below, select the activities to include in the report.
You can specify which activities to include using the following options:
-
Select All to include all the processes in the simulation definition.
-
Select a process to include all the activities in the selected process.
-
Individually select the activities to include.
-
Select All to include all the processes in the simulation definition.
-
In the indicators tab, select an option:
-
Summary
-
Details
-
Summary
-
In the tree below, select the indicators to include in the report.
You can individually select which indicators to display in the report, or select a type of indicator to display all the indicators of that type.
-
Select the type of graphic to use in the report.
The preview are shows an example of the graphic you chose.
-
Click OK.
10.6.3 What Happens when You Generate a Simulation Report
Oracle BPM Studio creates a directory using the name and location you selected. This directory contains an HMTL file for each of the processes in the simulation.The HTML file contains:
-
a graphic that displays the result of the simulation
-
a link to a CSV file with the simulation data
-
a link to a CSV file with the simulation resources data
No comments:
Post a Comment
Note: only a member of this blog may post a comment.