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:
- Select the Start
event element for which you want to enter.
- Select the Properties
view.
- 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.