Discrete event simulation (DES) is the process of codifying the behavior of a complex system as an ordered sequence of well-defined events.
Innoslate's real-time 'Discrete Event Simulator' allows you to execute a complex system as a discrete sequence of actions in time. This simulator is designed for analyzing a system or project’s cost, schedule, and performance. Innoslate's simulation technology can be used for:
- Analyzing complex systems behavior and its parts (assets)
- Predicting system performance including time duration, cost, asset utilization, and resource consumption
- Identifying process bottlenecks
- Planning a schedule, allocating cost, asset utilization, and calculating resource performance (Project Management)
- Verifying correct logical design
By using Innoslate's simulator, you can ensure that the simulation model and the functional model remains consistent throughout the lifecycle of your project. This prevents inaccuracies and inconsistencies that often occur when using external simulation tools.
Below is a list of available tutorials each with a short description. These tutorials utilize a Robotic System example model to illustrate how to use simulation in Innoslate to analyze cost, schedule, and performance of a system. Click on the name of a tutorial to get started.
|Level Zero: Introduction||This introduction tutorial prepares you for the rest of the tutorials to follow.|
|Level One: Sequential Execution||This tutorial utilizes a simple, purely sequential example model to demonstrate 'Action' constructs being executed in sequence by the simulator.|
|Level Two: Decision Logic||This tutorial utilizes a slightly more complex model with decision points to demonstrate ‘OR’ and ‘LOOP’ constructs being executed by the simulator.|
|Level Three: Decomposition, Resources, Cost||This tutorial utilizes an even more complex model with a decomposition diagram, ‘Resource’ constructs and cost included to demonstrate these controls and constructs being executed by the simulator.|
|Level Four: Triggers||This tutorial utilizes a complex model with parallel branches (each with a performer specified) and interaction between those performers to demonstrate how 'Input/Output' constructs can to used to control the order in which the 'Action' constructs are executed by the simulator.|
|Level Five: Synchronization||This tutorial utilizes a very complex model with synchronization to demonstrate a ‘SYNC’ construct being executed by the simulator.|
Within the 'Discrete Event Simulator' there are four (4) categories of panels, listed below, which are available to be displayed.
Cost Break Down (Bar)
Displays a bar chart of the total incurred cost of each Action ran in the simulation.
Cost Break Down (Pie)
Displays a pie chart of the total incurred cost of each Action ran in the simulation.
Displays a Gantt chart illustrating the start and end points of all Actions in a schedule.
Time Tree Map
Displays a tree map of executed Actions with tile sizes proportional to Action duration.
Resources Over Time
Displays a line chart of all applicable resource amounts over the simulation time.
Resources Final Amounts
Displays a bar chart of the total final applicable resource amounts of the simulation.
Displays a radar chart of an individual resource's minimum, maximum, and final amounts.
The ‘Settings’ menu located in the left sidebar of the ‘Discrete Event Simulator’ includes the following options:
|Speed||The speed of the simulator controls the screen animation frame rate. The Speed is set to proportions of real time speed.|
|Decisions||By default, if an 'OR' or a 'LOOP' is missing a script, then a prompt will display for you to make the decision. This can also be set to automatically making a uniformly distributed decision across the 'OR' and 'LOOP' branches.|
|Start||The simulator can be started in debug mode which will start the simulator paused on the first Action. Actions can then be stepped to debug issues in your model.|
|Hours per year||Enables simulating an average working calendar year, for example 1860 working hours per year.|
|Random seed||Enables seeding the random number generator with text you supply. This is useful for debugging or having the simulator run the same decisions/distributions through independent runs.|