Package sim.engine

Interface Summary
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.
MethodStep A Steppable which calls an underlying method using Java's reflection system.
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.
Repeat Repeat is an abstract Steppable and Stoppable which generalizes the notion of repeated Steppables.
Schedule Schedule defines a threadsafe scheduling queue in which events can be scheduled to occur at future time.
Schedule.Key Timestamps stored as keys in the heap.
Sequence Sequence is Steppable which holds an array of Steppables.
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.