How to create an ASM simulation
An ASM model comprises a set of tasks and deliverables. Each task requires the deliverables which are connected as inputs to be created by a predecessor before it can begin. The task may also require certain resources to be available, and may compete with other tasks for those resources - according to its priority. The task takes a specified duration. When it is complete, one output scenario is selected. Depending on which scenario is selected, a different route through the process may result. This may involve the creation of deliverables for the first time or may trigger an update of deliverables which were already created, potentially resulting in an iteration of one or more tasks.
Each of these actions can be specified in a very simple way, eg. as a probability of task failure or a probability distribution of task duration. Each aspect of the behaviour of the task can also be programmed using variables and functions of those variables. This provides a flexible capability to set up virtual processes, which can be used as the basis of computational experiments to explore the properties, behaviour and performance of those processes or to established how the cost/duration might respond to proposed changes.
Steps to create an ASM simulation
Typically the following process is followed to create an ASM simulation (see below for practical hints and tips):
1) Build an ASM process flow model which conforms to the logic of the ASM .
3) Use the debug mode and the Gantt chart to ensure the simulation logic runs as expected
4) Run ASM simulations
- To execute ASM simulations, first open the worksheet you wish to simulate. Then,
- Click the 'Monte-Carlo simulation' icon in the 'Analysis' on the 'ASM Analysis' tab. A dialog will appear giving various options. These should be left to their default values except (possibly) the 'Number of runs' field.
5) Use the simulation results explorer to view/export the results.
Note: -
When creating models which incorporate iteration, it is important to understand the task interruption model used in the ASM.
Hints and tips for creating an ASM simulation
The ASM simulation logic with the default setup of all tasks' preconditions is able to correctly determine the sequences of tasks that emerged following rework, even if a model contains multiple, non-nested, intertwined feedback paths.
It is necessary that red arrows emerging from iteration constructs always 'feedback' in the process flow, such that you can trace a path through to the task that caused the iteration once again. All black arrows must 'feed-forward'; no cycles of black arrows may exist or the simulation will not terminate.
Although the ASM can correctly simulate any model that follows these rules, it is often best not to think of simulation as a 'black box' which creates all the possible processes from any model you feed it. When building a model, it is important to test it rigorously by viewing different Gantt charts, to ensure that it is correctly configured and behaves in the way you expect, before drawing any conclusions from the simulation.