Specifying simulation properties

ActiveVOS integrates an open source JavaScript engine called Rhino as its rule engine. Using the rule engine, a simulation parameter can be expressed either as a constant or as a Java expression. For example, you can specify a sequence flow’s branch condition as “ amount > 10000”, where variable amount is defined  either as part of instance data definition or as a KPI variable

You can use the simulation pane in the Properties view to specify simulation properties. Note that simulation properties are not stored in the business process model, so editing simulation properties will not change the model. You can slow down the speed of a simulation so you can watch it work. Simulation time is not “real” time; it represents the amount of elapsed time that would occur, given the current model. For example, if you specify a simulation time of 1000 minutes, the simulation will not take that long to run, but it will analyze the process as if that amount of time had actually elapsed. The “animation box” shows how the simulation is proceeding.

Once a simulation project has been created, additional properties can be specified.

The ActiveVOS simulator supports four distribution methods to model arrival rate distribution: uniform, constant, normal, and exponential.

Specify instance arrival rate

You can model the instance arrival rate.

To enter values for instance arrival rate:

  1. Select the Start event element for which you want to enter.
  2. Select the Properties view.
  3. Click on Simulation and select the type of distribution. Enter the associated values.

ActiveVOS supports the following types of distribution.

 

Distribution Type

Notes

Constant

Event arrives at a constant rate

Normal

Bell curve. Useful in characterizing a large variety and type of data. Also called Gaussian distribution.

Exponential

Completely determined by its mean. A distribution that fits time-series data, such as arrival times, where you expect arrivals at a constant rate

Uniform

Distributes values evenly over a range. Used for data ranging between two defined limits, where each possible value is equally likely.

 

Specify instance data

The instance data can be generated or can be imported from either a flat file or from Microsoft Excel.  A data set consists of one or more columns (variables). If instance data is imported, the first row is the header with column names and types and the rest rows are instance data.  You need to specify how the simulator selects data that can be either Round robin or Random.   The following shows an example file of instance data.

Amount(float)

Risk(string)

Approved(boolean)

10000

High

true

5000

Low

false

25000

Low

true

You can specify how instance data can be generated.  For each variable in the instance data, you need to specify the variable name, type and how data is generated.  For variables of type integer or float, select the desired distribution method and associated parameters.  If the variable is of string (enumeration) or Boolean, specify the probability weight that ranges from 0 to 1.0 for each possible value.  Each parameter can be expressed either as a constant or as a Java expression.

The following shows an example.

Name

Type

Value

Amount

Float

Normal distribution, mean=10000, deviation = 1000

Risk

Enumeration (low, high)

Probability weight, low= 1.0, high=1.0

Approved

boolean

Probability of true: (risk== ‘high’) ? 0.3: 0.7

 

Specify instance data changes during simulation

Use the “Simulation – Data Changes” pane in Activity properties view to specify how instance data changes after an activity.

 

Specify sequence flow branch conditions

A sequence flow that marks the default condition is signified by a backslash near the beginning of the line. There is no need to further model branch conditions for a default sequence flow, so no conditions are available if you select that sequence flow.

For a sequence flow that is not the default, branch conditions can be expressed using either a probability or an expression. If you select the Probability check box, a Probability Weight text box is available. If you do not select Probability, a Condition text box is available.

In BPMN, there are many cases where a sequence is conditional. For example, sequence flows follow either an intermediate event or a gateway. You can assign a probability that ranges from 0 to 1.0 for “conditional” sequence flow.

 

Specify resource processing time and waiting time

You need to associate a resource pool with activities that require a resource. Once you have created the association, you specify the resource processing time for each resource in the pool. You can use either a constant or an expression to specify the resource processing time. Resources that don’t limit activity throughput can be left at <none>. You don’t have to specify a resource; you can just specify time and duration.

You can use a BPMN intermediate timer event to specify waiting time.

 

Specify additional KPIs to be captured during simulation

You can define additional Key Performance Indicators to be captured during simulation. They will be saved and exported to Excel for further analysis.