Package sim.engine

Interface Summary
Asynchronous Asynchronous objects can be started, stopped, paused, and resumed.
MakesSimState An interface for classes capable of creating SimState subclasses.
Steppable Something that can be stepped
Stoppable Stoppable objects can be prevented from being stepped any further by calling their stop() method.
 

Class Summary
AsynchronousSteppable Fires up a separate thread which runs until the simulation model requests it be halted.
MultiStep MultiStep takes an integer N, a boolean called countdown, and a steppable.
ParallelSequence Spawns all the sequence elements in parallel on separate threads.
RandomSequence RandomSequence is a Sequence which executes its Steppable objects in random order each time.
Schedule Schedule defines a threadsafe scheduling queue in which events can be scheduled to occur at future time.
Sequence Sequence is a Steppable which, on being stepped, in turn stepps several other Steppable objects in turn.
SimState SimState represents the simulation proper.
TentativeStep A Steppable wrapper which can be stopped.
WeakStep WeakStep is a wrapper for steppable objects in the situation where we only want the schedule to tenuously hold onto the steppable object -- that is, if everyone else has forgotten about the object, the schedule should as well.