A simulation is a representation of the real world on a computer. Software is programs and routines designed to run on computers. Simulation software is the name given to computer software that represents real-world situations and experiences in a computer environment for study, entertainment, projections, increasing efficiency, modeling possible alternatives in advance of a strategic choice, and other reasons.
One way of categorizing the different types of simulation software is by the application area of the simulation. In academic settings, simulation software is used in application areas such as agriculture, business, communications, defense, health, manufacturing, oil terminals, service, traffic, and waste processing. In industrial settings, the application areas include business processes, communications, compiler networks, customer service, distribution, manufacturing, packing halls, repair, statistical sampling in surveys, and stock control. Simulations made for entertainment would form another category in this hierarchy.
APES™ (Agricultural Production and Externalities Simulator) is an example of an application used in determining how weather and management techniques will impact agricultural production. StarLogo™ is modeling software used to analyze how decentralized systems work and can be used to analyze traffic jams, for example. SimCity® by Electronic Arts® is a product line of a number of simulation games. There are also electronics hardware simulations, mechanical and chemical system simulations,
A second way of categorizing the different types of simulation software is by the functionality of the software. For example, agent simulation can include people in environments and can be used to simulate the behaviors and interactions of large numbers of people in real world settings, such as airports or malls. Alternatively, it can be used in entertainment when the user moves an avatar through an environment. Network simulation creates a model of network behavior for testing purposes. E-learning simulation can duplicate an environment so that the user can learn how to operate equipment or work in a hazardous environment with minimal consequences in a failure, or simply sharpen their skills.
A third way to categorize simulation software is by its overarching capabilities. On the broadest scale, some simulation software can model a discrete event, while others can model continuous time or dynamic systems. There are also hybrid simulators that can model both continuous time and discrete events.