It uses three important concepts:
interface SimEvent): an event represents a tuple of a time value
and a corresponding action to be
taken at that time;
interface SimEventAction): an action to be taken when an event is executed;
interface SimEventList): a list of events ordered increasing in time,
with unambiguous de-conflicting of simultaneous events.
The SimTimer class allows convenient scheduling of timer events on an event list.
Example code is available in the example package.
Last javadoc Review: Jan de Jongh, TNO, 20180404, r5.1.0.