The term Discrete Event Simulation (DES) has been established as an umbrella term subsuming various kinds of computer simulation approaches, all based on the general idea of making a computational model of real-world system conceived as a discrete dynamic system by representing its state with the help of state variables, and modeling its dynamics by modeling the events that are responsible for its state changes.
There is, however, no generally accepted definition of DES. Rather, there are a number of different DES formalisms (like Petri Nets, State Charts, Event Graphs or DEVS) and there are different DES simulation tools/frameworks. Many of them (like Arena, Simio and AnyLogic) are based on the Processing Network (PN) paradigm where "work objects" enter a system (at an entry node), and are then subject to a number of processing actvities performed at corresponding processing nodes using certain resources, before they leave the system (at an exit node). In many textbooks and tutorials, DES is is confused with the PN paradigm. However, the PN paradigm is not a general DES approach, because it is limited to problems that can be modeled as processing networks such as production lines or service provision networks. But many other discrete event systems, such as inventory systems, business enterprises, consumer markets or socio-technical systems like elevators or road traffic, do not correspond to processing networks.
Examples of DES Models with Next-Event Time Progression
The following example models are based on Object-Event Simulation (OES).
- Inventory Management: An inventory management system for a single product shop with a continuous replenishment policy based on a reorder point.
- ServiceDesk-1: A queueing system model (one service and one queue) with two statistics: maximum queue length and service utilization. The model includes one object type: ServiceDesk, and two event types: CustomerArrival and CustomerDeparture, abstracting away from individual customers and from the composition of the queue, which is only represented in terms of its length.
- ServiceDesk-2: A queueing system model (one service and one queue) with one statistic: the average length of time a customer spends in the system from arrival to departure. For recording their waiting times, individual customers need to be represented as entities/objects. The model includes two object types: ServiceDesk and Customer, and two event types: CustomerArrival and CustomerDeparture.
- ServiceDesk-3: A queueing system model that models the service as an activity with the service desk as its resource, such that the service desk utilization statistics is computed automatically. The model includes one object type: ServiceDesk, one event type: CustomerArrival and one activity type: PerformService.
- ConsecutiveServices: An activity-based model of two consecutive service desks with waiting lines. Both types of services are modeled as activity types, such that utilization statistics are computed automatically. The model includes one object type: ServiceDesk, one event type: CustomerArrival, and two activity types: Reception and CaseHandling.
- DriveThru: A model of a drive through restaurant based on Introduction to Simulation by R.G. Ingalls, a tutorial given at the 2008 Winter Simulation Conference. The drive thru is modeled as a system with three order processing activities performed at service nodes with queues: the order taking at the menu board, the order preparation at the kitchen and the order pickup at the pickup window. The model includes four object types: MenuBoard, Kitchen, PickupWindow and Customer, one event type: CustomerArrival, and three activity types: OrderTaking, OrderPreparation and OrderPickup.
- The MIT Beer Game (coming soon)
- The Lemonade Stand Game (coming soon)