Skip to main content
Skip table of contents

Definition of Simulation Shape Properties

When a shape is selected on a diagram and a user selects “Properties” the Simulation Properties window opens and a user may configure simulation parameters related to that shape.

Note: If you use BPMN Shapes in your simulation diagram, please be aware that correct behavior for each Flow Object must be given, as it is for all shapes of any diagram type. You may want to see our BPMN Shape Behavior Guide for more information, particularly after reviewing the pages below.

Generator

Any shape can be configured to have cases generate at that shape.

To do this, toggle on the “Generate Here” option.

image-20240222-011414.png

Generator Type

Completion: The generator will generate more cases when the first group generated finishes.

Interval: The generator will generate cases once per interval.

Timer: The generator will generate cases each time the timer triggers. See the Timers tab on the Simulation Properties page.

External Data: Import an Excel file containing data for when cases generate. See External Data Generator for how to use this.

There are other properties that may be available depending on the generator type.

Count

The number of cases that generate each time.

Interval

The time to wait in between generations, for an Interval generator.

Max Cases

The generator will stop after generating this many cases.

More properties

Initial Count

The first time it generates, the generator will generate this many cases instead of the number specified by Count.

Schedule

The generator will only generate if the schedule is in service.

Force Into Active Period

If this is on, if the generator is supposed to generate but the schedule is out of service, the generator will wait for the schedule to be in service, then immediately generate, then wait for the interval before generating again. If this is off, the generator will try to generate every interval, but just not generate if the schedule is out of service.

Only If

The generator will evaluate this condition every time it is about to generate, and only generate if the condition evaluates to true.

Delay

The generator will wait this long at the start of simulation before generating any cases.

Stop After

The generator will stop generating cases after the specified amount of time has passed.

Inputs

image-20240222-012231.png

This is used for blocking cases before they enter the activity. To do this, toggle on the “Input Gate” option.

Combine

Specifies what happens to cases that pass through the gate together.

Gate: Nothing additional happens. The cases pass through the gate.

Batch: The cases are batched into a single case. They can be unbatched later with an Unbatch gate.

Join: Create a new case by combining the cases. If combining an entire case family, this will be the original case.

Gate Type

By Count: Cases will wait until a certain number are present, then they will all pass at the same time.

Properties

Count

The number of cases to wait for.

Maximum Wait

If specified, the maximum amount of time cases will wait after the first case arrives. If this amount of time passes, all the cases will pass the gate even if there aren’t enough.

Minimum Count

If specified, even if the Maximum Wait time passes, cases will not pass unless there are at least this number of cases.

By Family: Cases will wait until the entire case family is present, then they will all pass at the same time.

By Time: Cases will wait and be released every time the specified interval passes.

Properties

Interval

The interval to release cases at.

Initial Delay

The gate will wait this long at the start of simulation before passing any cases.

# Cases Per Release

If not specified, all cases will pass at each interval. If specified, only that number of cases will pass at each interval.

By Expression: Cases will wait until the specified expression evaluates to true.

Properties

Expression

The expression to evaluate.

By Timer: Cases will pass each time the timer triggers.

Properties

Timer

The timer to wait for.

# Cases Per Release

If not specified, all cases will pass each time the timer triggers. If specified, only that number of cases will pass each time the timer triggers.

By Enumerated Type: Cases will wait until for each unique value of the enumerated type, there is a case with that value of the enumerated type for the specified variable. Then those cases will all pass at once.

Properties

Type

The type of the enumerated type.

Variable

The case variable that has that enumerated type to use the value of.

From Input Paths: Cases will wait until there is one case for each connector line leading into the activity. Then those cases will all pass at once.

Delay: Each case will wait for a specified time, and then pass.

Properties

Delay

The time each case should wait for.

Unbatch: Batched cases will unbatch upon reaching this gate, and then pass.

Multiple: Make a combination of Time and Expression gates.

Properties

Only If

Any: Cases pass if any of the gates triggers.

All: Cases pass if all the gates trigger at the same time.

# Cases Per Release

If not specified, all cases will pass each time. If specified, only that number of cases will pass each time.

Required Resources

image-20240222-171109.png

Specify the resources needed for a case to do the activity.

Type

The type of the resource needed

Organization

The organization the resource must come from. Current Swimlane means it will be the organization corresponding to the Lane (Swimlane) the shape is in. See Swimlane Based Resources for an explanation of how organizations can correspond to lanes.

Count

How many of the resource is needed

Special Action

By default, the resource is released when the task is complete. It is possible for the resource to still be needed to do subsequent activities, so if this field is set to “Acquire”, subsequent activities will require this resource, until it is released. To release, set the Special Action field to “Release”.

Wait

This toggles whether the resource waits while other required resources are being acquired. If not, other activities that need the resource can take it during this time.

Task

image-20240222-171744.png

Duration

This is how long the activity takes to complete.

Properties

Capacity

Only this many cases can be working at the activity at the same time. Any additional cases that would put the activity over capacity will be “Waiting For Capacity”.

Task Type

Work: Duration time a case spends at this activity is counted as Working Time.

Delay: Duration time a case spends at this activity is counted as Blocked Time.

Schedule

Cases will only work (spend Duration time) at the activity when the schedule is in service. Otherwise they will be Inactive.

Overtime Behavior

Don’t Start: Do not start the activity if it will not be finished before a resource goes out of schedule.

OK If Started: A resource can work overtime to finish a case it already started, but can’t come out of inactivity to go work on a case.

Always OK: A resource can always work overtime up to its limit, even coming out of inactivity to go work on a case that just arrived.

Finish Queue: Once a resource goes out of schedule, it can work overtime on cases that have already arrived, but not on anything that arrives after it has gone out of schedule.

Fixed Cost

A cost per case completed at the activity.

Repeat Count

The number of times a case will execute the activity. For example if the activity takes 1 hour and the repeat count is 3, it will take 3 hours.

Repeat Condition

After completion of the activity, the case will repeat again if the condition evaluates to true. If Repeat Count is also specified, that will be the maximum number of times the activity can execute.

On Completion

Additional options for what happens to a case after it completes the activity.

  • Duplicate: Make additional copies of the case.

    • Duplicate Count: The number of copies to make.

  • Split Into Family: Split the case into a case family that can be joined later.

    • Family Count: The number of cases in the family.

  • Discard: Remove the case from the simulation.

    • Discard Case: If on, discard the case.

    • Discard Family Cases: If on, discard all other cases in the family if the case is in a family.

Outputs

image-20240222-171902.png

Output

Specifies how to handle when an activity has multiple output paths.

First: Case goes down the first connector line it can find.

Duplicate: Case duplicates itself, sending one copy down each output path (if Split Type is set to “All Paths”) or specified paths (if Split Type is set to “Conditional”).

Split Into Family: Case splits itself into a case family, sending one member down each output path (if Split Type is set to “All Paths”) or specified paths (if Split Type is set to “Conditional”).

Decision: Case will go down one of the output paths, either based on probability (if Decision Type is set to “Percentage”) or based on the first condition to be satisfied (if Decision Type is set to “Conditional (First)”). If Conditional (First) is selected and all conditions are false, the case will go down the first output path.

Note that the “Percentage” is truly statistically random, and at low sample sizes (e.g., only 10 cases through a Decision) it is possible to get statistically significant deviations from the percentage you specify. For example, if you specify 50% Yes and 50% No, you might end up with 7 cases down the Yes path, and 3 down the No path.

Assignments

image-20240222-172749.png

Change the values of variables.

Assignments can be placed at any of the 5 slots:

Enter: When the case arrives at the activity

After Input: After the case passes the Input gate if any

Before Task: After the case acquires required resources, right before the task starts

After Task: Right after the task finishes

Exit: When the case leaves the activity

Assignment Properties

Active

Whether the assignment happens or not. If not, the assignment is ignored and the value of the variable is not changed.

Scope

If the same variable name exists in multiple scopes, select the scope.

Parent Case

If toggled on, then if the case is part of a family, the variable on the parent is changed instead.

Variable

The variable to change the value of.

Value

The value to set the variable to.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.