Improvements of original JiST/SWANS
On this page, we gather changes on the original distribution of JiST/SWANS, which we thought to be useful. The code is based on the latest available version 1.0.6.
What has been done in JiST?
- Java 1.5 support: updated BCEL library
- Achieved rigorous repeatability by applying the usage of StrictMath instead of Math library and by introducing a distinct event order
- Allow for unlimited number of commandline parameters in swans.bat
- Introduced compatibility code for DUCKS (particularly regarding the execution of simulations on remote JiST servers)
- Recursive search for interfaces in rewriter
What are the changes in SWANS?
- Revised node location handling: Location objects were modified with node movement, which resulted in problems when other objects refered to that object, assuming a stable value. In the Field class, a listener mechanism to get notified about node movements has been introduced
- Completed RandomWaypoint class initialization
- Completed Mac802_11 to notify network entity about dropped packets
- Included packet header size calculations for various network entities
- Network layer gets information whether packet was received as broadcast from MAC
- Let protocol handlers grow dynamically instead of assigning a static number in NetIP class
- Revised IP entitiy to support IP option headers, and changed the source routing protocols to use them
- Bugfix in routing table management of AODV: "self-entry" must not be removed, causes NullPointerException otherwise
- Consolidated usage of random to use only one global random number generator (e.g. in RouteDsr)
- Integrated statistics collection in RouteDsr
- Bugfix and overhaul of MAC 802.11 behavior when packets are received
How to integrate the changes?
We provide our changes to the core distribution of JiST/SWANS using a unified diff file. This file can easily be integrated into the original version 1.0.6 e.g. by using the patch command in Linux or by applying the patch in Eclipse. A more detailed description is available in the package installation instructions
Do you have other/additional improvements or bugfixes?
Since we have not tested the whole code, particularly not all SWANS components, there might be more things to improve.