# Simulation and the need for simulation tools

The classical definition of simulation is “the imitation of the operation of a real-world process or system over time.” This definition gives a general description of simulation and it applies even to physical processes. For example, automobile simulators are used to train drivers. In computer simulation, the basic idea is to use a simplified model to study the behaviour of a real world system, which might otherwise not be feasible to model. For example, weather forecasting often involves simplified simulation models. Some of the tools used for computer based simulation are used in areas like computer networking, cloud computing, parallel computing, etc. The most important simulators are those used for simulating computer networks, and the question that should be answered is regarding the need for network simulation. Even though hardware has become cheaper, it is still a luxury for researchers in countries like ours where getting funds for research is a herculean task. So instead of relying on hardware in the initial stages of research we can use simulation tools for data, and if the results are promising, we can use the actual hardware based implementation for verification.

Computer simulators can be classified into continuous simulators and discrete event simulators. Continuous simulators continuously track the systems’ response based on a set of predefined conditions. Most of the time, continuous simulators work on a mathematical model developed by using differential equations. Commercial flight simulators use a continuous simulation model. Discrete event simulators model the working of a system as a discrete sequence of events in time. So the overall working of an event-driven system is based on an event/response model. A discrete event simulator changes its internal state by responding to some event happening in the simulation universe. One common assumption made by every discrete event simulator is that nothing happens between two events. Pseudo-random