6.6 Summary
This chapter introduced how to model discrete event dynamic systems using the JSL. The JSL 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.
ModelElement
: Used as an abstract base class for creating new model elements for a
simulation.
SchedulingElement
: Used as an abstract base class for creating new model elements for a simulation that need to be able to schedule events.
RandomVariable
: A sub-class of ModelElement used to model randomness within a
simulation.
ResponseVariable
: A sub-class of ModelElement used to collect statistics on
observation-based variables.
TimeWeighted
: A sub-class of ModelElement used to collect statistics on
time-weighted variables in the model.
Counter
: A sub-class of ModelElement used to count occurrences and collect
statistics.
Simulation
: Used to create and control a simulation model.
SimulationReporter
: Used to gather and report statistics on a simulation model.
JSLEvent
: 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.
The JSL has many other facets that have yet to be touched upon. Not only does the JSL 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 JSL to model discrete-event oriented simulation situations.