4.7 Summary

This chapter introduced how to model discrete event dynamic systems using the KSL. The KSL facilitates the model building process, the model running process, and the output analysis process.

The main model elements covered included:

Model: Used to hold all model elements. Automatically created by the Simulation class. Used to create and control the execution of the model.

ModelElement: Used as an abstract base class for creating new model elements for a simulation.

RandomVariable: A sub-class of ModelElement used to model randomness within a simulation.

Response: A sub-class of ModelElement used to collect statistics on observation-based variables.

TWResponse: A sub-class of Response used to collect statistics on time-weighted variables in the model.

Counter: A sub-class of ModelElement used to count occurrences and collect statistics.

IndicatorResponse: A sub-class of Response used to collect on boolean expressions by observing another response.

AggregateTWResponse: A sub-class of TWResponse used to collect time weighted statistics by observing other TWResponse instances.

SimulationReporter: Used to gather and report statistics on a simulation model.

KSLEvent: Used to model different events scheduled in time during a simulation.

EventActionIfc: An interface used to define an action() method that represents event logic within the simulation.

Queue: A sub-class of ModelElement that holds instances of the class QObject and will automatically collect statistics on the number in the queue and the time spent in the queue.

EventGenerator: A subclass of ModelElement that facilitates the repeated generation of events.

GeneratorActionIfc: An interface used to implement the actions associated with event generators.

SResource: A simple resource that has 1 or more units that represent its capacity. The units can be seized and released. Statistics on the utilization and number of busy units are automatically reported.

SingleQStation: A station that has a single waiting line for customers to wait in when its associated resource does not have available units. Statistics on time spent at the station, number of customers at the station, and number of customers processed are automatically reported.

The KSL has many other facets that have yet to be touched upon. Not only does the KSL allow the modeler to build and analyze simulation models, but it also facilitates data collection, statistical analysis, and experimentation.

The next chapter will dive deeper into how to use the KSL to capture, analyze, and report the data associated with a discrete-event simulation.