The following ML fragment demonstrates the main code for an EDS kernel.
»Toy EDS ML fragment
This reference implementation of an event-driven simulation (EDS) kernel maintains an ordered queue of events commonly called the event list . An event is a change in value of a net at some time in the future. Operation takes the next event from the head of the queue and executes it. Execution means changing the net to that value. All component models that are sensitive to changes on that net then run, potentially generating new events that are inserted into the event queue.
The current simulation time, tnow, is defined as the time of the event at the head of the queue.