JBotSim is a simulation library for distributed algorithms in dynamic networks. The style of programming is mainly event-driven: your code can react to various events (pulse of a clock, appearance/disappearance of a link, arrival of a message, movement of the node, etc.). Node movements can be controlled by program (e.g. mobile robots or mobility models), or by means of mouse-based interactions during the execution. Beyond its features, the main asset of JBotSim is its simplicity of use.
Note: Java 8 (or later) is now required
JBotSim comes as a JAR file (current version: alpha25, last mod. 2017-11-07 ) to be used as follows:
Project structure > Modules (select your module) > Dependencies > "+" > jbotsim-xx.jar
Project properties > Java Build Path > Librairies > external JAR > jbotsim-xx.jar
compilation: javac -cp .:jbotsim-xx.jar YourProgram.java
execution: java -cp .:jbotsim-xx.jar YourProgram
You can try this HelloWorld example. Execution will show an empty surface where you can add nodes and play with them.
Arnaud Casteigts. JBotSim: a Tool for Fast Prototyping of Distributed
Algorithms in Dynamic Networks. In Proc of SIMUTools 2015 (bibtex)