written 8.5 years ago by | • modified 4.6 years ago |
written 8.5 years ago by |
Event scheduling simulation is modelling over time of a system whose state changes at discrete points in time.
A discrete event simulation proceeds by producing a sequence of system snapshots that represent the evolution of the system through time. A given snapshot at a given time includes system state at time t and future event list (FEL).
The FEL contains all previously scheduled future events and their associated event times. Events in FEL are arranged according to chronological order- that is, the event times must satisfy t<=$t_1$<=$t_2$<=$t_3$<=…$t_n$.
Time t is the value of CLOCK, the current value of simulated time. The event associated with time t1 is called imminent event i.e$t_1$ is the next event that will occur.
After the system snapshot at simulation time CLOCK=t has been updated , the CLOCK is advanced to simulation time CLOCK=$t_1$.The sequence of actions that a simulator must perform to advance the clock and build a new system snapshot is called the event-scheduling/ time –advance algorithm, whose steps are listed in figure below.
Event Scheduling/ time advance algorithm
Step 1. Remove the event notice for the imminent event (event 3, time t1) from FEL.
Step 2. Advance CLOCK to imminent event time (i.e. advance CLOCK from t to$t_1$)
Step 3. Execute imminent event: update system state, change entity attributes, and set membership as needed.
Step 4. Generate future events (if necessary) and place their event notice on FEL, ranked by event time. (Example: Event 4 to occur at time $t^{+}$, where $t_2$<$t^{+}$<$t_3$ )
Step 5. Update cumulative statistics and counters.