A major contributor to this article appears to have a close connection with its subject.(June 2019) |
Developer(s) | Alion Science and Technology |
---|---|
Stable release | 3.8 |
Written in | C Sharp, .NET Framework |
Operating system | Microsoft Windows |
Type | Discrete Event Simulation |
Website | microsaintsharp |
Micro Saint Sharp is a general purpose discrete-event simulation and human performance modeling software tool developed by Alion Science and Technology. [1] It is developed using C# and the .NET Framework. Micro Saint Sharp allows users to create discrete-event simulations as visual task networks with logic defined using the C# programming language. [2]
Micro Saint Sharp uses a task network, a series of functions which decompose into tasks, to create stochastic models. Micro Saint Sharp has been used in the healthcare, [3] [4] manufacturing, [5] supply chains, [6] business process re-engineering, [7] workstation design, [8] call centers, [9] transportation, [10] and command and control [11] areas. It has also been used extensively to simulate human performance and workload. [12] [13]
Micro SAINT began as a "micro" computer implementation of the SAINT (Systems Analysis of Integrated Networks of Tasks) language in the 1980s. [14] SAINT was a FORTRAN based discrete event simulation language developed in the 1970s. [15] SAINT evolved from 1) task analysis and 2) Monte Carlo simulation of operator performance under workload stress as represented by Siegel and Wolf. [16] 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. [17]
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 as global variables and subroutines called Functions.
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 and data structures when a task is invoked. Task duration can be specified by the programmer as a specific value, through use of one of the 31 built-in probability distributions, or using a C# expression. Control flow and sequencing can also be specified by the programmer.
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 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.
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.
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# primitive data types and basic data structures. Micro Saint Sharp also provides the programmer with the functionality to create globally accessible subroutines called functions. Functions work as C# functions and can specify parameters, manipulate data, and return data.
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.
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.
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) Console Command-line interface, (3) Microsoft Excel, (4) Network socket, (5) Text file, and (6) World Wide Web. The ADO.NET protocol connects to a database or any data source that .NET supports through OLE (Object Linking and Embedding) or ODBC (Open Database Connectivity). The console protocol allows Micro Saint Sharp to interact with command line applications. The Excel protocol connects to a Microsoft Excel® spreadsheet and allows the modeler the capability to do basic reading and writing of cells in workbooks. The Socket protocol connects to an address on the internet for low level communication. The Text protocol opens a file located on your computer for reading and writing. The Web protocol reads data from a URL.
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.
Tool | Purpose | Sponsor |
---|---|---|
IMPRINT (Improved Performance Research Integration Tool) [18] | Predict system performance as a function of operator and maintainer manpower, personnel, and human factors engineering (HFE) components very early in the acquisition process. | U.S. Army |
C3TRACE (Command Control and Communications-Techniques for Reliable Assessment of Concept Execution) [19] | A general-purpose C3 modeling environment that can be used to evaluate a number of different organizational concepts, including the effect of information flow on decision-making performance. | U.S. Army |
IPME (Integrated Performance Modelling Environment) [20] | A tool to predict human performance under a wide range of environmental conditions, with particular attention to information processing, perceptual control, and task design. | United Kingdom and Canada |
ISMAT (Integrated Simulation Manpower Analysis Tool) [21] | A tool to investigate ship board manning and task skill requirements. | U.S. Navy |
ECAT (Engineering Control Analysis Tool) [22] | Tool to identify displays and tasks that could lead to high human error potential. | U.S. Navy |
S-PRINT (Space Performance Research Integration Tool) [23] | Tool to predict human performance in long-duration missions. | NASA |
CSDT (Crew Station Design Tool) [24] | Allows designers to visualize and optimize their choices of controls and displays, and the position of those elements in a workstation. | U.S. Army |
AVOSCET (Autonomous Vehicle Operator Span of Control Evaluation Tool) | A tool to determine the best ratio of operators to autonomous systems. | U.S. Army |
MIDA (Multi-modal Interface Design Advisor) | Provides multi-modal interface design support. | U.S. Army |
Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behavior. Devices that typically support SNMP include cable modems, routers, switches, servers, workstations, printers, and more.
A simulation is the imitation of the operation of a real-world process or system over time. Simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the simulation represents the evolution of the model over time. Often, computers are used to execute the simulation.
An embedded system is a computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or electronic system. It is embedded as part of a complete device often including electrical or electronic hardware and mechanical parts. Because an embedded system typically controls physical operations of the machine that it is embedded within, it often has real-time computing constraints. Embedded systems control many devices in common use today. In 2009 it was estimated that ninety-eight percent of all microprocessors manufactured were used in embedded systems.
In computing, a visual programming language (VPL) is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used either as elements of syntax or secondary notation. For example, many VPLs are based on the idea of "boxes and arrows", where boxes or other screen objects are treated as entities, connected by arrows, lines or arcs which represent relations.
In computer network research, network simulation is a technique whereby a software program replicates the behavior of a real network. This is achieved by calculating the interactions between the different network entities such as routers, switches, nodes, access points, links, etc. Most simulators use discrete event simulation in which the modeling of systems in which state variables change at discrete points in time. The behavior of the network and the various applications and services it supports can then be observed in a test lab; various attributes of the environment can also be modified in a controlled manner to assess how the network/protocols would behave under different conditions.
A discrete-event simulation (DES) models the operation of a system as a (discrete) sequence of events in time. Each event occurs at a particular instant in time and marks a change of state in the system. Between consecutive events, no change in the system is assumed to occur; thus the simulation time can directly jump to the occurrence time of the next event, which is called next-event time progression.
Simulation software is based on the process of modeling a real phenomenon with a set of mathematical formulas. It is, essentially, a program that allows the user to observe an operation through simulation without actually performing that operation. Simulation software is used widely to design equipment so that the final product will be as close to design specs as possible without expensive in process modification. Simulation software with real-time response is often used in gaming, but it also has important industrial applications. When the penalty for improper operation is costly, such as airplane pilots, nuclear power plant operators, or chemical plant operators, a mock up of the actual control panel is connected to a real-time simulation of the physical response, giving valuable training experience without fear of a disastrous outcome.
Psi-theory, developed by Dietrich Dörner at the University of Bamberg, is a systemic psychological theory covering human action regulation, intention selection and emotion. It models the human mind as an information processing agent, controlled by a set of basic physiological, social and cognitive drives. Perceptual and cognitive processing are directed and modulated by these drives, which allow the autonomous establishment and pursuit of goals in an open environment.
OverSim is an OMNeT++-based open-source simulation framework for overlay and peer-to-peer networks, developed at the Institute of Telematics, Karlsruhe Institute of Technology, Germany.
AnyLogic is a multimethod simulation modeling tool developed by The AnyLogic Company. It supports agent-based, discrete event, and system dynamics simulation methodologies. AnyLogic is cross-platform simulation software that works on Windows, macOS and Linux. AnyLogic is used to simulate:markets and competition, healthcare, manufacturing, supply chains and logistics, retail, business processes, social and ecosystem dynamics, defense, project and asset management, pedestrian dynamics and road traffic, IT, aerospace.
JACK Intelligent Agents is a framework in Java for multi-agent system development. JACK Intelligent Agents was built by Agent Oriented Software Pty. Ltd. (AOS) and is a third generation agent platform building on the experiences of the Procedural Reasoning System (PRS) and Distributed Multi-Agent Reasoning System (dMARS). JACK is one of the few multi-agent systems that uses the BDI software model and provides its own Java-based plan language and graphical planning tools.
Continuous Simulation refers to a computer model of a physical system that continuously tracks system response according to a set of equations typically involving differential equations.
FlexSim is a discrete-event simulation software package developed by FlexSim Software Products, Inc. The FlexSim product family currently includes the general purpose FlexSim product and healthcare systems modeling environment.
OpenComRTOS is a commercial network-centric, formally developed real-time operating system, aimed primarily at the embedded systems market.
In mathematical modeling, deterministic simulations contain no random variables and no degree of randomness, and consist mostly of equations, for example difference equations. These simulations have known inputs and they result in a unique set of outputs. Contrast stochastic (probability) simulation, which includes random variables.
Human performance modeling (HPM) is a method of quantifying human behavior, cognition, and processes. It is a tool used by human factors researchers and practitioners for both the analysis of human function and for the development of systems designed for optimal user experience and interaction. It is a complementary approach to other usability testing methods for evaluating the impact of interface features on operator performance.
The Improved Performance Research Integration Tool (IMPRINT) is a discrete-event simulation and human performance modeling software tool developed by the Army Research Laboratory and Micro Analysis and Design. It is developed using the .NET Framework. IMPRINT allows users to create discrete-event simulations as visual task networks with logic defined using the C# programming language. IMPRINT is primarily used by the United States Department of Defense to simulate the cognitive workload of its personnel when interacting with new and existing technology to determine manpower requirements and evaluate human performance.
This glossary of computer science is a list of definitions of terms and concepts used in computer science, its sub-disciplines, and related fields, including terms relevant to software, data science, and computer programming.
Protocol engineering is the application of systematic methods to the development of communication protocols. It uses many of the principles of software engineering, but it is specific to the development of distributed systems.