Table of Contents
« PreviousLevel upNext »

Simulation Principles

Simulation of a Task Model

  1. Task models are used as templates to create simulation task instances. A task shape can be added to a Basic Flowchart/Cross-functional Flowchart, EPC or BPMN diagram. The following objects are regarded as task models:
    • an "Activities" repository object that has no diagram associated with it;
    • or an "Activities" repository object whose status is not included in the list of statuses from the Process model version statuses for simulation tab (Main menu → Process Analysis → Simulation Properties). In other words, if an activity has a diagram associated with it but its status is not included in the list mentioned above, this activity is considered to be a task model.
  2. A simulation task instance starts its performance from the waiting period in case it is defined for a task model (activity Properties WindowSimulation properties tab → Technological wait time property). During this period the task instance doesn’t use any resources except for the time resource. Then simulation task instance starts its performance, and that’s when it starts to compete for work and material resources. This is the time when it starts to wait in queues.
  3. First of all, a simulation task instance is waiting for simulation material resources if they are needed for the performance. After all of them are available in the required quantity, the simulation task instance goes into the queue of the required work resource(s).
  4. In case a simulation material resource is needed to perform a simulation task instance, and it’s not available in the required quantity, the simulation task instance is waiting until the required amount of the resource becomes available to perform the task instance. The simulation engine serves instances of simulation tasks waiting for a simulation material resource in the FIFO order: first in, first out.
  5. A simulation task instance is waiting for a simulation material resource only in case the amount of simulation material instances is under control. The material resource instances are considered to be under control when the "Quantity" system variable has been added for the resource model and the Minimum value property’s value has been defined for it ("Functional objects" or "Org units" repository object Properties WindowSimulation properties tab → Variables tab → Add system variables of material resource hyperlink). For instance, when the Minimum value property is set to 0, then the number of simulation material resource instances cannot be less than 0 and a simulation task instance that consumes this resource, should wait until its number is more than 0 and enough to perform the task instance. In case the value of the Minimum value property is empty, then the number of resource instances is considered to be always enough to perform all the simulation tasks instances.
  6. When a simulation work resource instance should perform a simulation task instance, and all the resource instances are not available at the moment, a simulation task instance goes to the queue of the simulation resource. Simulation task instances are then served in the FIFO order: first in, first out, considering priority of the simulation task. Set up the task priority value in the "Activities" repository object Properties Window (Simulation properties tab → Resources tab → Priority property).
  7. If the simulation process instance should be stopped in case the required simulation work resource is not available at the moment of its activation, then the checkbox should be checked in the No queue property ("Activities" repository object Properties WindowSimulation properties tab).
  8. Sometimes to perform a task instance, instances of several work resources are needed simultaneously. In this case after all the required simulation material resources become available, the simulation task instance goes to the queues of all the required simulation instances. And it can spend much time there. Behavior of the simulation task instance in the queue depends on the Hold resource instance property value ("Activities" repository object Properties WindowSimulation properties tab → Resources tab). To block the available simulation work resource instances from performing other simulation tasks and to make them wait until all the required simulation work resources needed to perform this task become available, the checkbox should be selected in this property. It is recommended to set up the highest priority ("Activities" repository object Properties WindowSimulation properties tab → Priority property) to those task models that should be performed by instances of several work resources. This will help to minimize the time of waiting in queues because in this case when the simulation task instance comes to the queue of the simulation work resource, its instances stop performing task instances with the lower priority and start processing task instances with the higher priority.
  9. Performance of the simulation task instance can be interrupted because the working day of the simulation work resource instance finished or because an instance of a different simulation task with the higher priority has appeared in its queue.
  10. In case a simulation task instance can be performed by one and the same instance of the simulation work resource, even after the interruption period, then the checkbox should NOT be selected in the Different actors allowed property ("Activities" repository object Properties WindowSimulation properties tab). To realize this requirement a simulation task instance is put into the personal queue of the simulation work resource instance for the interruption period. If the checkbox is checked for the simulation task instance, then it is put into the queue of the simulation work resource and can be performed by any instance of this resource later.
  11. For each work resource model without the defined shift ("Functional objects" or "Org units" repository object Properties WindowSimulation properties tab → Shifts tab) the default shift is used during the simulation. When the shift is set and the Calendar is selected but the Number of resource instances property is set to 0, then it is considered that this resource possesses the unlimited number of instances during the simulation.
  12. After the simulation task instance is completed, instances of simulation work resources start performing other task instances from the queues. If the process diagram is a sequence of tasks, and all the task models in line need the same work resource, then after the simulation resource instance finishes performance of the first task instance, it starts performing the next one in line rather than going into the pool of free resources. This occurs though only if all the simulation material resources needed to perform each simulation task instance in line, are available, and there are no simulation task instances with higher priority in the queue of the simulation work resource.
  13. If the Calendar property ("Functional objects" or "Org units" repository object Properties WindowSimulation properties tab → Fixed cost Properties Group) is empty for the Fixed cost model, the usage time of the simulation fixed cost is considered to be uninterruptable during the simulation period.
  14. As a result of the simulation task instance performance, simulation products are produced. This is modeled on the Products tab of the task model Properties Window (Simulation properties tab).

Simulation of a Process Model

To simulate performance of a process instance, the simulation engine creates a process instance based on the process model. The process model consists of a process diagram and models of objects whose shapes are present on a diagram (task model, event models, etc.). Object models are stored in the related object repositories: task models are stored in the "Activities" repository, event models – in the "Events" repository, etc.

Simulation of an IDEF0 Diagram

It is impossible to model the sequence of activity steps using the IDEF0 diagram. Thus, its simulation has some peculiarities. IDEF0 functions are used as containers to store process diagrams. The simulation engine divides the IDEF0 functional diagram into separate process diagrams in the Basic Flowchart/Cross-functional Flowchart, EPC or BPMN notations and generates process instances.

To model the jump from one diagram to another, you should follow the rules described in the How to Model Jumping from a Process Diagram to a Separate Process Diagram article. If it is impossible to jump from one diagram to another, then the simulation process instances are generated based on the event instantiation models described for their start events (see the Modelling Activation of a Process Instance article) and are performed in parallel.

For the IDEF0 functions that have no associated diagrams, the artificial simulation is performed. The cost and time property values are just summed. There are some principles though:

  1. A simulation task instance is created.
  2. Simulation work and material resources needed for its performance are considered to be available any time and in the unlimited amount. The simulation resource instances are not spent. To calculate the cost of the simulation task instance the simulation engine uses the Hourly rate of a simulation work resource shift that has the Main calendar value in the Calendar property ("Functional objects" or "Org units" repository object Properties WindowSimulation properties tab → Shifts tab). If it fails to find such shift, then it uses the value of the Hourly rate property selected randomly from all the shifts.
  3. Simulation products can be produced as a result of the artificial performance of a simulation task instance, but they cannot be consumed as simulation material resources by other simulation task instances.
  4. Time and cost properties of a simulation task are calculated only if duration of the simulation period is equal or exceeds the processing time defined for a task model ("Activities" repository object → Simulation properties tab → Processing time property).
  5. Value of the Duration property is not calculated for an IDEF0 function (see the Simulated Processes and Tasks Analysis article).
« PreviousLevel upNext »