Glossary#

Device#

A device is a user implemented class which defines how the simulated device interacts with the world, including its observation of external state and its resulting influence on world state.

Adapter#

An adapter is a user implemented class which facilitaties interactions between a device and components external to the simulation - e.g. a TCP client.

Component#

A component is a high level simulation object which acts upon ticks from the scheduler, returning changes to its state and requests for wakeup. Components may additionally raise interrupts in response to unpredictable internal changes.

System Simulation#

A system simulation is a component which wraps a nested scheduler and a collection of components, allowing for infinitely nested systems.

Device Simulation#

A device simulation is a component which wraps a device and the corresponding adapters.

Callback#

A callback is a request to update a component after a specified period of simulation time - typically these are generated by a device and handled by the scheduler.

Interrupt#

An interrupt is a request to immediately update a component - typically these are generated by an adapter and handled by the scheduler.

Ticker#

A ticker sequences the update of components during a tick to ensure that all wired component interactions are captured faithfully.

Scheduler#

A scheduler oversees and orchestrates the running of a simulation, and is responsible for initiating ticks to handle callbacks or interrupts.