Components and Organization of Discrete-event Simulation Model System state: The collection of state variables necessary to describe the system at a particular time. Simulation clock: A variable giving the current value of simulated time. Event list: A list containing all information about all scheduled events like time when each type of event will occur. Initialization routine: A subprogram to initialize the simulation model at time zero. Statistical counters: Variables used for storing statistical information about system performance.
Examples of Statistical counters The number of parts produced so far The total of the waiting times in queue so far The number of parts that have passed through the queue so far. The longest time spent in queue we’ve seen so far The total of the time spent in the system by all parts that have departed so far The longest time in system we’ve seen so far The area so far under the queue-length curve Q(t) The highest level that Q(t) has so far attained The area so far under the server-busy function B(t)
Timing routine: A subprogram that determines the next event from the event list and then advances the simulation clock to the time when that event is to occur. Event routine: A subprogram that updates the system state when a particular type of event occurs (there is one event routine for each event type). Library routines: A set of subprograms used to generate random observations from probability distributions that were determined as part of the simulation model.
Report generator: A subprogram that computes estimates (from the statistical counters) of the desired measures of performance produces a report when the simulation ends. Main program: A subprogram that invokes the timing routine to determine the next event transfers control to the corresponding event routine to update the system state appropriately. check for termination and invoke the report generator when the simulation is over.
Initializing Timing routine Start Initializing routine Timing routine Main Program 1 i 2 1.Update the system state 2.Update statistics counters 3.Generate future events and Add to event list Generate Random numbers Event routine i Is Simulation over No Yes Report routine Stop
Some other Pieces of Simulation Model Entities: these are dynamic objects in the simulation model. They are created, move around for a while, then disposed. Examples: parts in a manufacture, customers in a bank, jobs in a processors, messages … etc. Attributes: A common characteristics of all entities but with a specific value that can differ from entity to another. They can be thought as a tag or label attached to each entity. Or local variables Example: priority of an entity, due date, arrival time of an entity, … etc.
Resources: Things that provide service for entities like personnel, equipments, or a space in a storage. They can represent a group of several individual servers each is called a unit of that resource Queues: When an entity cannot move on because the resource is used by another entity, this entity will be placed in a waiting line (Queue).