It is useful to classify the system being simulated into two separate categories depending upon the degree of randomness associated with the behaviour of the system in its simulated environment. For example, consider a simulated system consisting of a series of bank tellers who must provide transaction services to incoming customers. The length of time required for a teller to process a customer's transaction cannot usually be predetermined before the simulation is started. Consequently such a simulation system must introduce random behaviour to simulate the duration of each transaction. During the analysis of a real world banking system it may be discovered that the time required for a transaction occurs over some well known probability distribution. Hence the duration of each transaction may be generated from this distribution. A similar strategy may be adopted for the rate at which customers enter a bank. Through the introduction of this randomness, the results of a simulation may never be the same as a previous simulation. A system, such as this one, that relies heavily upon random behaviour is referred to as a stochastic system . The results generated from a stochastic system are typically analyzed statistically in order to make conclusions regarding the behaviour of the system.
Conversely, a deterministic simulation system incorporates absolutely no random behaviour whatsoever. As such, the simulation results for a given set of inputs will always be identical. Simulations involving circuit behaviour are examples of deterministic systems. Supplying high signals to both inputs of a 2-input NAND gate will always produce a low signal on the gate's output, regardless of where the gate is located in the circuit's design hierarchy or when the inputs are received by the gate. In the context of circuit simulation, deterministic simulation is used to verify that a particular circuit design is behaving as expected -- when the circuit is supplied with a given set of inputs, the circuit produces the expected outputs at the correct time. Although this report will focus primarily upon deterministic simulation systems, stochastic systems can also be simulated with modest modifications to the implementation.