Jump to content

Simulation

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Serge~enwiki (talk | contribs) at 16:38, 21 November 2003. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


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.

Simulation in science

Main article: Model

Simulation, more specifically 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 to gain insight into the operation of those systems. 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 was developed hand-in-hand with the rapid growth of the computer, following its first large-scale deployment during the Manhattan Project in World War II to model the process of nuclear detonation. 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.

Examples of types of computer simulations in science, which are derived from an underlying mathematical description:

Another type of simulation which does not rely on a model with an underlying equation, but can nonetheless be represented formally, is agent-based simulation. In agent-based simulation, the individual entities (such as molecules, cells, trees or consumers) in the model are represented directly (rather than by their density or concentration) and possess an internal state and set of behaviors or rules which determine how the agent's state is updated from one time-step to the next. In ecology, this is often called individual based modeling and has been used in situtations for which individual variability in the agents cannot be neglected, such as population dynamics of salmon and trout (most purely mathematical models assume all trout behave identically).

See Types of simulation, below.

Simulation in practical contexts

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.

Flight simulators

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.

Engineering simulation

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

Simulation in computer science

In computer science, simulation has an even more a specialized meaning: 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 descrete-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".

Types of computer simulation

Computer simulations fall into several different types.

  • A discrete simulation manages only events, and time. Most computer, logic-test and fault-tree simulations are this type. In this type of simulation, the simulator maintains a queue of events sorted by the simulated time they should occur. The simulator reads the queue, and triggers new events as each event is processed. It is not important to execute the simulation in real time. It's often more important to be able to access the data produced by the simulation, to discover logic defects in the design, or the sequence of events.
  • An analog simulation uses differential equations (either partial or ordinary), implemented numerically. Periodically, the simulation program recalculates all the equations, and uses the numbers to change the state and output of the simulation. Most flight and racing-car simulations are of this type. This type may also be used to simulate electrical circuits.

In engineering and practical contexts, It's often very important to display the results in real time, to provide a realistic simulation for the trainee or gamer.

See also