Checklist for completion - JudeNiroshan/ns-3-dev-git GitHub Wiki

Trust-based routing will eventually be a contributed module available in the ns-3 App Store. What this means is that all of the new code should be located in a new module directory, that we will eventually locate in the contrib/ directory.

During our current development, however, having it in the src/ directory is fine.

src/trust-based-routing/ folder will contain these elements:

  • model (the model files)
  • helper (the helper files)
  • test (unit tests)
  • examples (the blackhole example and any others)
  • doc (the sphinx documentation)

In addition, it may be the case that some other modules such as 'aodv' need to be slightly modified to accommodate this new module (such as making a method virtual). The final product will therefore contain a small patch to the ns-3 mainline code, plus this new module.

The module should conform to these items:

  1. ns-3 naming and coding style
  2. unit tests that cover the main functionality
  3. example(s) that demonstrates the main functionality
  4. Sphinx documentation that describes to users what the model does and does not do
  5. a class architecture that can be extended to other MANET routing protocols beyond AODV
  6. complete Doxygen (./waf --doxygen does not emit warnings on the new classes)
  7. no memory errors (running programs through valgrind does not find issues)