A simulation is an imitation of some real device or state of affairs. Simulation attempts to represent certain features of the behavior of a physical or abstract system by the behavior of another system.
Simulation is used in many contexts, including the modeling of natural systems, and human systems to gain insight into the operation of those systems; and simulation in technology and safety engineering where the goal is to test some real-world practical scenario. Simulation, using a simulator or otherwise experimenting with a fictitious situation can show the eventual real effects of some possible conditions.
Physical and interactive simulation
Physical simulation refers to simulation in which physical objects are substituted for the real thing, these physical objects are often chosen because they are smaller or cheaper, than the actual object or system.
Interactive simulation, which is a special kind of physical simulation, and often referred to as human in the loop simulations, are physical simulations that include humans, such as the model used in a flight simulator.
Simulation in training
Simulation is often used in the training of civilian and military personnel. This usually occurs when it is prohibitively expensive or simply too dangerous to allow trainees to use the real equipment in the real world. In such situations they will spend time learning valuable lessons in a "safe" virtual environment. Often the convenience is to permit mistakes during training for a safety-critical system.
Training simulations typically come in one of three categories:
- "live" simulation (where real people use simulated (or "dummy") equipment in the real world);
- "virtual" simulation (where real people use simulated equipment in a simulated world (or "virtual environment")), or
- "constructive" simulation (where simulated people use simulated equipment in a simulated environment). Constructive simulation is often referred to as "wargaming" since it bears some resemblance to table-top war games in which players command armies of soldiers and equipment which move around a board.
Main article: Flight simulator
A flight simulator is used to train pilots on the ground. It permits a pilot to crash his simulated "aircraft" without being hurt. Flight simulators are often used to train pilots to operate aircraft in extremely hazardous situations, such as landings with no engines, or complete electrical or hydraulic failures. The simulator is normally cheaper to operate than a real trainer aircraft.
Simulation is an important feature when engineering systems. For example in electrical engineering, delay lines may be used to simulate propagation delay and phase shift caused by an actual transmission line. Similarly, dummy loads may be used to simulate impedance without simulating propagation, and is used in situations where propagation is unwanted. A simulator may imitate only a few of the operations and functions of the unit it simulates. Contrast with: emulate. (Source: Federal Standard 1037C)
Most engineering simulations entail mathematical modeling and computer assisted investigation. There are many cases, however, where mathematical modeling is not reliable. Simulation of fluid dynamics problems often require both mathematical and physical simulations. In these cases the physical models require dynamic similitude.
Main article: Computer simulation
Related article: Model
Computer simulation, has become a useful part of modeling many natural systems in physics, chemistry and biology, and human systems in economics and social science (the computational sociology) as well as in engineering to gain insight into the operation of those systems. In such simulations the model behaviour will change according to a set of initial parameters such as a meteorological model. Computer simulations are often considered human out of the loop simulations.
Traditionally, the formal modeling of systems has been via a mathematical model, which attempts to find analytical solutions to problems which enables the prediction of the behaviour of the system from a set of parameters and initial conditions. Computer simulation is often used an adjunct to, or substitution for, modeling systems for which simple closed form analytic solutions are not possible. There are many different types of computer simulation, the common feature they all share is the attempt to generate a sample of representative scenarios for a model in which a complete enumeration of all possible states of the model would be prohibitive or impossible.
It is increasingly common to hear simulations of many kinds referred to as "synthetic environments". This label has been adopted to broaden the definition of "simulation" to encompass virtually any computer-based representation.
Simulation in computer science
In computer science, simulation has an even more a specialized meaning: Alan Turing uses the term "simulation" to refer to what happens when a digital computer runs a state transition table (runs a program) that describes the state transitions, inputs and outputs of a subject discrete-state machine. The computer simulates the subject machine.
In computer programming, a simulator is often used to execute a program that has to run on some inconvenient type of computer. For example, simulators are usually used to debug a microprogram. Since the operation of the computer is simulated, all of the information about the computer's operation is directly available to the programmer, and the speed and execution of the simulation can be varied at will.
Simulators may also be used to interpret fault trees, or test VLSI logic designs before they are constructed. Many video games are also simulators, implemented inexpensively. These are sometimes called "sim games".
In theoretical computer science the term simulation represents a relation between state transition systems. This is useful in the study of operational semantics.