Code

We strive to produce code that can be reused by other researchers.

ns-3

  • CIDRarchy: a CIDR-based ns-3 routing protocol for large-scale network simulation. CIDRarchy is designed for hierarchical network topologies so that routing table lookups can be performed in constant time no matter the number of nodes.

    • Paper: P. Moreira da Silva, J. Dias, M. Ricardo, "CIDRarchy: CIDR-based ns-3 routing protocol for large-scale network simulation", SIMUTools 2015, 8th EAI International Conference on Simulation Tools and Techniques, August, 2015.

  • Flow Monitor: a NS-3 module that allows one to automatically measure all flows that are simulated in NS-3. This code has already been merged into NS-3, starting with NS version 3.6.

    • Paper: G. Carneiro, P. Fortuna, M. Ricardo, "FlowMonitor -- a network monitoring framework for the Network Simulator 3 (NS-3)", International Workshop on Network Simulation Tools, 2009.

  • NS-3 PyViz is a live simulation visualizer, meaning that it uses no trace files. It can be most useful for debugging purposes, i.e. to figure out if mobility models are what you expect, where packets are being dropped, etc. This code has already been merged into NS-3, starting with NS version 3.10. Instructions for integrating and using NS-3 PyViz with older NS-3 versions can be found here;

  • We have ported to NS-3 the NS-2 OLSR code from Universidad de Murcia. This OLSR code was the first routing protocol to be included in NS-3;

  • We have developed an IEEE 802.1D Learning Bridge algorithm, included in NS-3 as a NetDevice (src/bridge);

  • We developed and maintain the current NS-3 Python bindings;
  • We developed and maintain the current (WAF based) NS-3 build system;

Other

  • PyBindGen is a Python module that can be used to generate Python Bindings for C++ APIs. It has been used as basis for the official NS-3 Python bindings, and is also a successful Open Source project on its own.

  • Spanning Trees Simulator (STS) is a command-line simulator written in C++ that allows the simulation of spanning tree algorithms.