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

More information ...

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

More information ...

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.

User login