History
Micro SAINT began as a "micro" computer implementation of the SAINT (Systems Analysis of Integrated Networks of Tasks) language in the 1980s. SAINT was a FORTRAN based discrete event simulation language developed in the 1970s. SAINT evolved from 1) task analysis and 2) Monte Carlo simulation of operator performance under workload stress as represented by Siegel and Wolf. Micro SAINT was originally a DOS application developed by Micro Analysis and Design, Inc. (MA&D) and was first released in 1985. Since then the tool has undergone many changes and enhancements. Micro Saint Sharp's intuitive graphical user interface and flow chart approach to modeling make it a tool that can be used by generalists as well as simulation experts. In 2003 Micro SAINT was completely redesigned by MA&D to take advantage of the C# programming language and Microsoft .NET environment. This allowed it to be faster and more modular. The tool was renamed Micro Saint Sharp.Bloechle, W., Schunk, D. (2003) Micro Saint Sharp Simulation Software. In Proceedings of the 2003 Winter Simulation Conference.Discrete event simulation in Micro Saint Sharp
Micro Saint Sharp models contain a task network called a Network Diagram. The network diagram contains a series of tasks connected by paths which determine control flow. System objects called entities flow through the system to create a simulation. Micro Saint Sharp also includes more low level features such asTasks
The task node is the primary element driving the simulation's outcome. Task nodes simulate system behavior by allowing programmer specified effects, task duration, and sequences. Task Effects are programmer-specified C# expressions where programmers can manipulate variables andEntities
Entities are dynamic objects which arrive into the system and flow through the task network. Entities flow from one task to the next based on the task's path logic. When an entity enters a task, the task's effects are triggered. When the task concludes, the entity moves to the next task. One entity is generated by default at the beginning of the simulation. More entities can be generated at any point in the simulation based on programmer specified logic. When all entities reach the end node or are destroyed, the simulation concludes. Entities can be viewed as they flow through the system and where queues form.Events
Events are occurrences that happen in an instant of simulated time within Micro Saint Sharp that can change the global state of the system. This can be the arrival or departure of an entity, the completion of a task, or some other occurrence. The events are stored in a master event log (called the Event Queue) which captures every event that will happen and the simulated time that the event occurred. Due to the stochastic nature of discrete-event simulation, an event will often trigger the generation of a random variate to determine the next time that same event will occur. Thus, as events occur, in the simulation, the event log is altered.Flow sequencing
Once a task concludes, the invoking entity moves to another node which is directly connected to the current node in the task network. Nodes can connect to any number of other tasks, so Micro Saint Sharp provides a number of sequencing options to determine the task to which the entity moves. * Probabilistic type paths allows the programmer to specify a percentage chance for an entity to be moved adjacent nodes by inputting probabilities or expressions that are evaluated for each node. * Tactical type paths allows the programmer to use C# predicates to determine the sequencing of an entity to each adjacent node. If more than one expression evaluates to true, the entity will follow the first path with a true expression. * Multiple type paths behaves exactly like tactical sequencing, but will path entities to all adjacent nodes where the expression evaluates to true.Variables and functions
Micro Saint Sharp has a number of global variables used by the system throughout a simulation. Micro Saint Sharp provides the public global variable Clock which tracks the simulation's current time. Micro Saint Sharp also has private variables. Micro Saint Sharp allows the modeler to create custom global variables which can be accessed and modified in any task node. Variables can be of any type native to C#, but the software provides a list of suggested variable types including C#2D and 3D animation
Micro Saint Sharp has three different visual representations of the model that are available to users. The first representation of the process is a flow diagram, or Task Network – users can visually track entities as they flow through the system, and can immediately identify where bottlenecks and queues are building up. The second visual representation available is a two dimensional animation (Animator) which can show moving objects over floor plans, maps, photos or other 2D images. Animator also provides the capability for charts, graphs, and text to all be displayed while the model is executing on one screen. The third visual representation that can be developed is a three dimensional animation (Animator3D). This gives a realistic picture of the modeled process with moving images. Animator3D includes features such as zooming in/out, rotating, panning around, and saving camera views. Users can decide the level of detail they want to include. Micro Saint Sharp also allows user to view individual pieces of a model with the use of dynamic real-time charting. Over 20 different charts can be saved as files or printed out for analysis.Optimization
OptTek's OptQuest optimization software is included in the Gold version of Micro Saint Sharp. OptQuest, through a sophisticated optimization technique, finds the right combination of variables that produces the best results possible. OptQuest works with Micro Saint Sharp by sharing variables. Users can directly choose the variables that will have an effect on the Micro Saint Sharp model results. This includes every aspect of an optimization model including constraints, decision variables, and the optimization problem itself.External Communication
Micro Saint Sharp provides the capability for your model to communicate with files, databases, and web sites. There are currently six types of communication protocols that are used to customize protocols for models: (1) ADO.NET, (2) ConsoleTools based on the Micro Saint Sharp engine
Micro Saint Sharp is a general purpose simulation tool. However, several customized tools have been developed that use Micro Saint Sharp as the underlying simulation engine. Each tool was designed for a specific purpose. The table below lists some of the Micro Saint Sharp based tools that have been developed.References
{{ReflistSee also
* List of discrete event simulation software * Discrete-event simulation *