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 desired 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.
This chapter includes the following sections:
Once you have defined 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 different models for a given process so that different conditions can be analyzed
Run multi-process simulations to learn how working in many different business processes can affect resources
Run round-trip simulations to generate a process simulation model out of the actual execution times of instances flowing through a given version of a process
Before you execute a simulation, you must specify the behavior of each element of your process. There are two aspects of simulation in Oracle BPM:
Simulation models, which enable you to define the behavior for an individual process. Note that, for any given process model, you can have multiple simulation models, so that you can mimic a variety of scenarios.
Simulation definitions, which enable you to define the behavior for an entire project. A simulation definition is composed of a group of simulation models. From a given definition, you can choose one of the simulation models to run.
Simulations do not execute each individual task within a process. For example, the code within an activity is not executed, variables are not assigned values, and external resources are not updated. However, you can mimic the behavior of an activity by configuring different attributes within a simulation model. These attributes include duration, resources, costs, queue info, and sequence flows.
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 allocations and activity behavior.
To create and configure a simulation model:
In the BPM Project Navigator:
Expand the process you want to simulate.
Right-click Simulation Models.
Expand Simulations.
Right-click Simulation Models.
Select New Process Simulation Model.
The Create Process Simulation dialog prompts you to select the process and to specify a name for the simulation model.
Specify the process and name of the simulation, then click OK. The simulation model you created appears in the BPM Project Navigator.
Double-click the simulation model you just created. The details panel for that simulation model appears in the right pane as illustrated in Figure 10-1. This panel includes the Process Information and the Flow Nodes tab pages. The Process Information page is displayed.
Figure 10-1 Simulation Models Process Information Page
Use the Process Information page to specify information about the instance you are creating. To do this, select Specify number of process instances to be created, then specify the number of instances that can exist within the simulation at one time. The process simulation runs until the duration is completed or the maximum number of instances is reached.
Select the Flow Nodes page and, on the left of the page, select an activity as illustrated in the example in Figure 10-2.
Figure 10-2 Simulation Models Flow Nodes Page
Depending on which type of activity you select, the following tab pages can appear on the right of the Flow Nodes page:
Duration, which enables you to define the amount of time required to complete the simulated activity
Resources, which enables you to specify the number of people assigned to a particular role. You can define this parameter either in a fixed manner in the simulation model or at a global project level in the project simulation definition.
Cost, which enables you to specify both the cost of processing the activity and, if it is an interactive human centric step, the cost of the resources assigned to the activity
Queue Info, which enables you to configure the simulated behavior of how process instances are queued for a given activity
Sequence Flows, which determines probability percentage of instances routed through the different outgoing sequence flows
In the Flow Nodes page, 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 Page
Option | Description |
---|---|
Constant |
Causes the simulated time to complete an activity to be determined based on the Period property |
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:
|
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:
|
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:
|
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 are prompted to specify:
|
In the Resources page, select one of the following:
Table 10-2 Options in the Simulation Model Flow Nodes Resources Page
Use Organization Resources |
Uses resources defined as part of the organization of the project. To specify this option, select the Participant Selection Policy. This policy can be based on the Minimum Cost, Maximum efficiency or Randomly. Cost and Efficiency values are those defined in the project simulation model definition for each participant. |
---|---|
Use Fixed Resources |
Indicates the number of participants assigned to the Interactive activity. This option is used when costs and efficiency parameters are not relevant in the evaluation, but only the amount of resources is needed. When you select this option, you must specify fixed number of available resources. |
In the Cost page, specify the following:
Table 10-3 Properties in the Simulation Model Flow Nodes Cost Page
Property | Description |
---|---|
Fixed Base Cost |
Defines the cost required to perform the simulated activity |
Fixed Base Cost Plus Resource Cost |
Calculated based on the define cost per hour and the time it takes the resource to execute the instance |
In the Queue Info page, specify the following:
Table 10-4 Properties in the Simulation Model Flow Nodes Queue Info Page
Queue Warning Size |
Determines the number of incoming instances that can be waiting for an activity at a time |
---|---|
Activity Queue Policy |
Determines how incoming instances are handled by the activity. The following values are available: F.I.F.O (that is, First In, First Out), L.I.F.O (that is, Last In, First Out), Random, and By Priority |
In the Sequence Flows page, use the slider to specify the probability of each outgoing sequence flow occurring.
A simulation definition specifies the behavior of an entire project. It functions as a container for simulation models. From this container, you choose which simulation models to run and determine how processes work together.
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 simulationThe priority distribution of instances within the simulation
Within a project, you can define multiple project simulations. Defining different simulations enables you to test different combinations of resources and priorities.
To create and configure a simulation definition:
In the BPM Project Navigator, expand the process you want to simulate, expand Simulations, right-click Simulation Definitions, then select New Simulation. The Create Project Simulation dialog prompts you to specify a name for the project simulation.
Enter the name for your simulation, then click OK. The simulation you created now appears in the BPM Project Navigator.
Select the simulation definition you just created. The right pane displays three tab pages containing parameters that you can configure for this simulation. The first of these is the Project page, as illustrated in Figure 10-3
Figure 10-3 Simulation Definitions Project Page
Specify the general parameters for this simulation as described in Table 10-5.
Table 10-5 General Parameters for Simulation Definitions
Parameter | 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 will run. This interval is specified in months, days, hours, minutes, and seconds. |
Use Calendar Rule |
Determines if calendar rules are used in simulation. Checking this box allows the simulation to account for calendar rules when determining participant allocations. |
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 listing 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.
For all of the included processes, instances are generated when the simulation is run.
Specify the parameters in the Project page as described in Table 10-6.
Table 10-6 Project Parameters for Simulation Definitions
Parameter | Description |
---|---|
Process |
Lists the processes that you can include in this simulation. |
Model |
For each process, lists the model specified in "How to Create and Configure a Simulation Model" |
Include in Simulation |
Enables you to specify whether to include the process in the simulation |
Once you have specified the parameters in the Project page, select the Resources tab.
Figure 10-4 shows an example of the Resources page.
Figure 10-4 Simulation Definitions Resources Page
In the Resources page, you can define the resources used within the simulation. All processes included in the simulation share these resources. The cost of each resource is defined per hour.
To the right of the table are two controls:
Add Resource: Adds a resource to the simulation definition
Delete Resource: Deletes the selected resource from the simulation definition
Specify the parameters in the Resource page as appropriate, then select the Priority tab.
Figure 10-5 shows an example of the Priority page.
Figure 10-5 Simulation Definitions Priority Page
The Priority page enables you to specify the probability for priority distribution of an instance. This priority determines the way an instance flows within a process. The sum of all priority distributions must equal 100.
You can pause, stop, or run a simulation to the end. If you stop the simulation, you must restart it from the beginning.
To run a simulation, you must have created simulation models and at least one simulation definition.
In the BPM Project Navigator:
Expand the process you want to simulate
Expand Simulations
Expand Simulation Definitions
Select the simulation you want to run
In the lower half of the right pane, select the Simulations tab. Figure 10-6 shows an example.
Figure 10-6 Example of a Simulations Page
Across the top of the Simulations page, you can do the following:
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. This enables you to run 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.
Click Start. The simulation begins. The animation of the simulation appears in the project editor, and the results appear according to your specifications in the Simulation page.
You can display simulation results either as a chart or as a log file by selecting either the Chart tab or the Log tab.
Figure 10-7 shows the toolbar for a sample Chart page.
A list immediately below the Chart tab enables you to choose the type of chart display: column, bar, bar 3d, column 3d, heat map, or table.
To monitor activities in the simulation, use the lists in the Activities section of the Chart page toolbar. Specify the following:
Which axis to use in the display by selecting from the Select the axis list
Which activities to monitor by selecting from the Select activities list.
Drilling down or up to see results for the process in greater or lesser degree. For example, to see why a process may be taking so long, you can click Drill down to get a more detailed breakdown.
To monitor resources in the simulation, in the Resources section of the toolbar, configure the following:
Which axis to use in the display by selecting from the Select the axis list
Which resources to monitor in the simulation by selecting from the Select Resources list
In your simulation, you can choose to monitor by time, cost, or units. To make this choice, select from the Indicators list.