10 Running Simulations in Oracle BPM

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:

10.1 Introduction to Running Simulations in Oracle BPM

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

10.1.1 Simulation Models and Simulation Definitions

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.

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 allocations and activity behavior.

10.2.1 How to Create and Configure a Simulation Model

To create and configure a simulation model:

  1. In the BPM Project Navigator:

    1. Expand the process you want to simulate.

    2. Right-click Simulation Models.

    3. Expand Simulations.

    4. Right-click Simulation Models.

    5. 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.

  2. Specify the process and name of the simulation, then click OK. The simulation model you created appears in the BPM Project Navigator.

  3. 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

    Description of Figure 10-1 follows
    Description of "Figure 10-1 Simulation Models Process Information Page"

  4. 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.

  5. 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

    A description of this graphic follows.
    Description of "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

  6. In the Flow Nodes page, configure each activity as follows:

    1. 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:

      • 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 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 are prompted to specify:

      • Distribution Criteria: Determines the time interval for determining how long a simulated activity takes to complete

      • Interval: [[Richard's comment: Need the definition for this property]]

      • Mean: Defines the mean time to complete an activity

      • Standard Deviation: Defines the standard deviation of the mean parameter


    2. 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.


    3. 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


    4. 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


    5. In the Sequence Flows page, use the slider to specify the probability of each outgoing sequence flow occurring.

10.3 Creating Simulation Definitions

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.

10.3.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 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:

  1. 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.

  2. Enter the name for your simulation, then click OK. The simulation you created now appears in the BPM Project Navigator.

  3. 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

    A description of this graphic follows.
    Description of "Figure 10-3 Simulation Definitions Project Page"

  4. 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.


  5. 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.

  6. Figure 10-4 shows an example of the Resources page.

    Figure 10-4 Simulation Definitions Resources Page

    A description of this graphic follows.
    Description of "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.

  7. Figure 10-5 shows an example of the Priority page.

    Figure 10-5 Simulation Definitions Priority Page

    The description of this graphic follows.
    Description of "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.

10.4 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.4.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:

  1. In the BPM Project Navigator:

    1. Expand the process you want to simulate

    2. Expand Simulations

    3. Expand Simulation Definitions

    4. Select the simulation you want to run

  2. 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

    This illustration is described in the text.
    Description of "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.

  3. 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.

10.5 Analyzing the Results of a Simulation

You can display simulation results either as a chart or as a log file by selecting either the Chart tab or the Log tab.

10.5.1 How to Analyze the Results of a Simulation

Figure 10-7 shows the toolbar for a sample Chart page.

Figure 10-7 Simulations Chart Page

The description of this graphic follows.
Description of "Figure 10-7 Simulations 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.