This is a project I did with Alex Benn for the Wireless Networking class at UT. We were experimenting with Geographic Beacon Vector Routing protocols with moving network topologies.
To this end we created a graphical Java-based event-driven simulator, and implemented different network protocols within it. I wrote the majority of the simulator and graphics code, and Alex wrote most of the networking protocol.
The actual event code is written in Python, and incorporated into the Java simulator via Jython. Accelerated rendering is provided via the Lightweight Java Game Library. The simulator is fairly generic and could easily be adapted to simulate anything event-based, giving you a smooth, 2d-accelerated view at the same time.
Use run.bat on a Windows machine with Java 1.6 or later installed. On a Mac or
Linux machine, use run-mac.sh and run-linux.sh, respectively (we haven't tested
these, but they should work).
The simulation will begin running with our final experiment parameters (defined
mainly in src/experiment.py and src/constants.py)
It will run through all permutations of the possible parameters, and then exit.
Collected data will be written to output.csv after each experiment.
arrow keys - move viewport
- - zoom out
+ - zoom in
< - decrease timestep
> - increase timestep
space - skip to next packet transmission from node zero, enable logging, and slow down
S - Toggle stats display
L - Toggle logging
C - toggle connectivity display
R - cycle transmit range render mode
F - toggle fireball packets
Q - toggle performance profiling mode