How rs-gty/gty-network-simulator works
GTY Network Simulator is a discrete-event signal-propagation simulator. Its demonstrated workflow constructs a scheduler and medium, attaches a sine-wave generator and listener, generates a signal, runs delayed propagation events, then plots the received samples. The graph also shows the medium/port/device layers and physical-time utilities. The README is empty; connections for unsampled listener and UI behavior are limited to references and wiring visible in the application entry point.
Main entry points: GtyNetSimulatorApplication.java Application entry · Medium.java Signal medium · Scheduler.java Event scheduler · MediumAssembler.java Medium assembler
Components 19
Simulation runtime
- Application entry
src/main/java/com/gty/netsim/GtyNetSimulatorApplication.java - Event scheduler
src/main/java/com/gty/netsim/core/Scheduler.java - Simulation clock
src/main/java/com/gty/netsim/core/SimClock.java - Scheduled event
src/main/java/com/gty/netsim/core/SimEvent.java
Medium and ports
- Medium assembler
src/main/java/com/gty/netsim/topology/MediumAssembler.java - Signal medium
src/main/java/com/gty/netsim/layer/medium/Medium.java - Twisted-pair medium
src/main/java/com/gty/netsim/layer/medium/TwistedPairMedium.java - Medium port
src/main/java/com/gty/netsim/layer/medium/mediumport/MediumPort.java - Signal-port interface
src/main/java/com/gty/netsim/layer/medium/spi/SignalPort.java - Signal-sink interface
src/main/java/com/gty/netsim/layer/medium/spi/SignalSink.java - Signal package
src/main/java/com/gty/netsim/layer/medium/signal/SignalPackage.java
Signal devices
- Signal device
src/main/java/com/gty/netsim/layer/medium/portdevice/SignalDevice.java - Signal generator
src/main/java/com/gty/netsim/layer/medium/portdevice/signalgenerator/SignalGenerator.java - Sine-wave generator
src/main/java/com/gty/netsim/layer/medium/portdevice/signalgenerator/SineWaveGenerator.java - Signal listener
src/main/java/com/gty/netsim/layer/medium/portdevice/listener/SignalListener.java
Results and UI
- Signal plot panel
src/main/java/com/gty/netsim/app/ui/SignalPlotPanel.java
Physical units
- Physical constants
src/main/java/com/gty/netsim/common/Physics.java - Unit constants
src/main/java/com/gty/netsim/common/Units.java
Other components
- Simulator user
Connections 26
- Simulator user → Application entry: starts
src/main/java/com/gty/netsim/GtyNetSimulatorApplication.java - Application entry → Event scheduler: creates
src/main/java/com/gty/netsim/GtyNetSimulatorApplication.java - Application entry → Physical constants: reads constant
src/main/java/com/gty/netsim/GtyNetSimulatorApplication.java - Application entry → Twisted-pair medium: constructs
src/main/java/com/gty/netsim/GtyNetSimulatorApplication.java - Application entry → Medium assembler: attaches devices
src/main/java/com/gty/netsim/GtyNetSimulatorApplication.java - Application entry → Sine-wave generator: generates signal
src/main/java/com/gty/netsim/GtyNetSimulatorApplication.java - Application entry → Signal listener: attaches listener
src/main/java/com/gty/netsim/GtyNetSimulatorApplication.java - Application entry → Event scheduler: runs events
src/main/java/com/gty/netsim/GtyNetSimulatorApplication.java - Application entry → Signal plot panel: displays samples
src/main/java/com/gty/netsim/GtyNetSimulatorApplication.java - Event scheduler → Simulation clock: implements
src/main/java/com/gty/netsim/core/Scheduler.java - Event scheduler → Scheduled event: queues and fires
src/main/java/com/gty/netsim/core/Scheduler.java - Medium assembler → Medium port: creates
src/main/java/com/gty/netsim/topology/MediumAssembler.java - Medium assembler → Signal device: binds sink
src/main/java/com/gty/netsim/topology/MediumAssembler.java - Medium assembler → Signal medium: attaches port
src/main/java/com/gty/netsim/topology/MediumAssembler.java - Twisted-pair medium → Signal medium: extends
src/main/java/com/gty/netsim/layer/medium/TwistedPairMedium.java - Signal medium → Event scheduler: schedules arrival
src/main/java/com/gty/netsim/layer/medium/Medium.java - Signal medium → Signal-port interface: transmits to ports
src/main/java/com/gty/netsim/layer/medium/Medium.java - Signal medium → Signal package: attenuates signal
src/main/java/com/gty/netsim/layer/medium/Medium.java - Medium port → Signal medium: forwards transmission
src/main/java/com/gty/netsim/layer/medium/mediumport/MediumPort.java - Medium port → Signal-sink interface: delivers signal
src/main/java/com/gty/netsim/layer/medium/mediumport/MediumPort.java - Medium port → Signal-port interface: implements
src/main/java/com/gty/netsim/layer/medium/mediumport/MediumPort.java - Signal device → Signal-port interface: sends through
src/main/java/com/gty/netsim/layer/medium/portdevice/SignalDevice.java - Signal generator → Signal device: extends
src/main/java/com/gty/netsim/layer/medium/portdevice/signalgenerator/SignalGenerator.java - Sine-wave generator → Signal generator: implements waveform
src/main/java/com/gty/netsim/layer/medium/portdevice/signalgenerator/SineWaveGenerator.java - Sine-wave generator → Signal package: packages samples
src/main/java/com/gty/netsim/layer/medium/portdevice/signalgenerator/SineWaveGenerator.java - Physical constants → Unit constants: uses time unit
src/main/java/com/gty/netsim/common/Physics.java