Package jasi.sim.basic.event

Management of simulation events.


Interface Summary
CalendarListener Listener for state changes of a calendar.
Event Basic interface of any simulation event.
EventListener Interface of event listener / simulation model.

Class Summary
AbstractEventBean Basic implementation of any simulation event.
AbstractRepeatingEvent Basic implementation for all events, that can be repeated.
Calendar The event calendar.
EventAdapter Basic implementation of methods and behavior for all simulation events.

Exception Summary
EmptyCalendarException A calendar is empty.
EventAlreadyInitializedException An event was already initialized.
EventAlreadyPoppedException An event was already popped.
EventAlreadyPushedException An event has already been pushed.
EventException Exception whenever something went wrong with a simulation event.
EventNotCreatedException An event has not been created before.
EventNotPoppedException An event has not been popped before.
EventNotPushedException An event has not been pushed before.
EventToEarlyException An event was pushed to an calendar with a current greater than the event's time.

Package jasi.sim.basic.event Description

Management of simulation events.

Simulation events are transient simulation objects, whose life cycle is strongly contolled by the simulation time. Their state usually does not change after creation. They contain an event time, when they are sheduled for execution by a simulation model. The simulation calendar represents a priority queue for events, and it controls the advancement of the simulation time. After pushing an event to the calendar the events are sorted according their sheduling time and a priority. Events are popped from the calendar when simulation times advanced to the event's sheduling time. After its execution by a simulation model an event usually ceases to exist.

Simulation models are responsible for the dynamic evolution of simulation elements. During execution of a simulation event a simulation model might induce state changes of simulation elements. While the action of simulation models is invoked by use of events, they may create future events themselves. Models have to provide interfaces that can be implemented by simulation elements, so that models will be able to change their state.