In a discrete event simulation (DES), an event happens at a time point rather than during a period. In other words, it takes “zero time” for the event to happen. Between two events, nothing happens. Therefore, all the DES simulators adopt a special timing mechanism called Simulation Time.
Unlike our traditional concept about time, the simulation time is neither continuous, nor does it flow at a constant rate. The simulation time is always set to the timestamp of the current event.
In order to better understand the concept of simulation time, let’s begin with the mechanism of event organisation adopted by DES simulators.
In every DES simulator, there are a number of modules. Modules can exchange messages/parameters by sending events to each other. In order to send an event, a module has to submit the event to the simulation system. The destination module of the event, as well as when to deliver it have to be specified at the time of submission. Upon receiving an event submission, the simulation system puts it in a Future Event Set (FES) which organises events in the order of scheduled delivery time (not submission time).
A event dispatcher removes the first event from the FES, delivers it to the destination module, and sets the current simulation time to the scheduled delivery time of that event. With this mechanism, the simulation time is always BEING SET to the next moment. It can jump from second 30 to second 35, or jump from 127 to second 26341.