The java version of SimNet followed the outline of the original pascal where 'record' structures and their corresponding 'with' clauses identified objects. Pascal's hierarchal structure has been imitated by inheriting one class, simulator, into other pascal objects.
Simulator
This implements a event-oriented discrete simulator.
Simulator. Holds global state. Manages the event queue. Defines utility functions like debugging trace and random number generators. github ![]()
EventBlock. Linked together to make the event queue. Includes the event dispatcher. github ![]()
SimNet Initialize and run the legacy simulator. Reads network topology and initial routing tables from a text file. github ![]()
Network
This implements the network nodes, the messages they pass, and a model of the radio channels that carry them.
Station. Queues messages until they can be routed to neighbors. Exchanges load information used to update routes. github ![]()
Message. Represents a message in transit through the network. Links with other messages queued at a station. A data object. github ![]()
Plots
This is the legacy batch line printer plotting package.
Graph. A time series. Reports count, max, mean and standard deviation. github ![]()
Scatter. A correlation of two attributes of events. Reports mean for each attribute. github ![]()
Interactive
SimView. Creates an interactive map view, shows traffic and queuing, drag to explore routing tables.
SimTestPoint. Creates a web server that provides live access to simulator and interactive state.