On this page, we will try to maintain pointers to current ns-3 development work, and post some suggested project ideas.
If you are interested in collaborating on one of these projects, please do not hesitate to contact the individuals identified.
For newcomers: Contributing to ns-3
Note: Several ns-3 developers hang out on IRC at #ns-3 at irc.freenode.net. A typically active time is around 1500 to 1900 UTC, Mondays through Fridays.
- 1 Developer home pages
- 2 Code contributions under review for main tree
- 3 Public development projects
- 3.1 Google Summer of Code projects
- 3.2 802.11 model extensions
- 3.3 IPv6 for ns-3
- 3.4 Flow monitor module
- 3.5 Spectrum modeling support
- 3.6 Multi-threaded simulation implementation for multicore
- 3.7 MPI-based distributed simulation
- 3.8 Synchronized emulation
- 3.9 Nix-vector routing
- 3.10 WiMAX module
- 3.11 Underwater acoustic model
- 3.12 Verification, Validation and Testing
- 3.13 Visualization for ns-3
- 3.14 Synchronous posix/sockets API
- 3.15 real-world application integration
- 3.16 L2 Ethernet switch module
- 3.17 Parallel simulations (2008)
- 3.18 Delay Box for ns-3
- 3.19 802.21 media independent handover
- 4 Suggested Projects
Developer home pages
Here are some developer pages, to see what people are currently working on:
Code contributions under review for main tree
This section is devoted to code that is being reviewed or considered for merge to ns-3-dev. Some small patches are not included here and can be found in the tracker instead, often with the keyword PATCH
- code location: http://code.nsnam.org/iamine/ns-3-wimax-release/
- reviewers: Amine Ismail, Faker Moatamri, Mathieu Lacage
- status: http://mailman.isi.edu/pipermail/ns-developers/2009-August/006329.html
- code location: https://forge.wenos.ru/hgprojects/ns3aodv/
- reviewers: TBD
- status: Request for review at: http://codereview.appspot.com/115075/show
underwater acoustic network device
- code location: http://codereview.appspot.com/87043
- reviewer(s): Craig Dowell
- status: reviewed again here on July 10
- background: http://mailman.isi.edu/pipermail/ns-developers/2009-June/006148.html
ns-3-simu sockopt patches
- code location: Four patches listed in http://mailman.isi.edu/pipermail/ns-developers/2009-June/006144.html
- reviewer(s): TBD
- status: review requested on June 22
- background: http://mailman.isi.edu/pipermail/ns-developers/2009-June/006144.html
Miscellaneous wifi enhancements
- code location: http://codereview.appspot.com/65051
- reviewer(s): Mathieu Lacage
- status: Some of these pieces made it into ns-3.5-- others are pending
- background: http://groups.google.com/group/ns-3-reviews/browse_thread/thread/f0b36d7373421a7d#
Patch to pause and resume an interface
- code location: http://codereview.appspot.com/62054
- reviewer(s): TBD
Public development projects
This section describes projects that are being worked on and have been publicly announced. Please add your project to the below so interested contributors can coordinate with you.
Google Summer of Code projects
These projects each have their own separate wiki pages:
Network Address Translation
Minstrel Rate Adaptation
802.11 model extensions
There are several efforts ongoing to extend the ns-3 Wifi model.
Harmonization with ns-2 802.11 Ext models
- summary: ns-2.33 added a new 802.11 model with much more detailed channel modeling. An effort has been started to port over reusable components from that implementation to ns-3's wifi model, while reusing already implemented basic components. The goal is a harmonization of the 802.11 models of ns-2 and ns-3. Leading aim is to support research on vehicular networks. Planned near-term features:
- Equalizing PHY models including capture effects, user-definable coding rates (e.g. 5.9 GHz from 802.11p)
- EDCA QoS extensions of 802.11e
- Already finished features:
- Nakagami/Rayleigh propagation loss model
- ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2008-November/004936.html
- code location: http://idlebox.net/2008/ns-3-wifi/code/ns-3-wifiex/
- status: under current active development. Time frame till this is completed: 4-5 month.
- summary: University of Florence (LART lab) has begun work on an 802.11n model for ns3. The main goal is to simulate the frame aggregation feature. In the future, they aim to implement the High Throughput terminal behaviour with MIMO technology. They plan to add, to ns-3's 802.11 model, the following 802.11n features:
- Frame Aggregation
- Block ACK
- HCF (EDCA and support for HCCA)
- HT terminal (also with protection modes)
Also interested to verify the 11n terminal throughput when are associated terminal of a/b/g standards.
- Already finished features (in ns-3.5):
- HCF, TXOP, Frame Aggregation
- code location: http://code.nsnam.org/mirko/ns-3-80211n
- status: see http://mailman.isi.edu/pipermail/ns-developers/2009-July/006216.html
- summary: Wireless Software Research & Development Group of Institute of Information Transmission Problems of the Russian Academy of Sciences is aiming to make a complete model of IEEE802.11s D3.0 Draft Standard.
- ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2008-November/004931.html
- code location: http://forge.wenos.ru/hgprojects/ns3dev/
- status: merged for ns-3.6
IPv6 for ns-3
- summary: Ipv6 support for ns-3
- ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2008-June/004283.html
- code location: hg clone https://svnet.u-strasbg.fr/hg/ns-3-ipv6-2nd/
- status: ns-3.3 contains the first merge (Ipv6Address) of this code. ns-3.6 will continue to add features, including Ipv6Interface class. Here is a tentative roadmap: http://mailman.isi.edu/pipermail/ns-developers/2009-July/006211.html
Flow monitor module
- ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2009-May/005875.html
- code location: http://code.nsnam.org/gjc/ns-3-flowmon/
- status: merged for ns-3.6
Spectrum modeling support
- ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2009-April/005759.html
- code location: http://code.nsnam.org/nbaldo/ns-3-dev-spectrum
- status: Seeking feedback; possible merge candidate for ns-3.6.
Multi-threaded simulation implementation for multicore
- ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2009-July/006197.html
- code location: http://code.nsnam.org/guillaume/ns-3-multithreading/
- status: recently announced; still under development
MPI-based distributed simulation
- code location: http://codereview.appspot.com/109068/show
- status: under development for ns-3.6
- code location: None posted yet
- background: http://mailman.isi.edu/pipermail/ns-developers/2009-July/006198.html
- review location: http://codereview.appspot.com/117046/show
- code location: http://code.nsnam.org/jpelkey3/ns-3-nix-vector-routing
- status: merged for ns-3.6
- ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2008-September/004789.html
- code location: http://code.nsnam.org/iamine/ns-3-wimax
- status: Under review for ns-3.7
Underwater acoustic model
- ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2008-October/004826.html
- code location: http://code.nsnam.org/ltracy/ns-3-dev-uan
- status: Under review for ns-3.7. http://mailman.isi.edu/pipermail/ns-developers/2009-June/006148.html
Verification, Validation and Testing
Verification is the process of making sure that a given computer program you have built implements your conceptual model correctly. Validation means the ability to determine that a given model has some connection to some reality -- that a model is an accurate representation of a real system. Testing means the ability to exercise a given model to determine that it behaves as expected given various good (and perhaps bad) inputs (and does not change unexpectedly over time). Note the perhaps subtle differences.
- summary: Add support for model verification, validation and testing.
- wiki pages: See VerificationValidationAndTesting
- status: merged for ns-3.6
Visualization for ns-3
Jeremy Norman and the iNSpect team have posted some plans for a visualization library for ns-3:
Gustavo Carneiro is working on a Python visualization tool (http://code.nsnam.org/gjc/ns-3-pyviz)
George Riley has made a prototype animator for PointToPoint links.
Joe Kopena is working on what he calls a "decorator" http://code.nsnam.org/tjkopena/
Hagen Paul Pfeifer is working on a MANET visualizer http://nv.dev.jauu.net/
Synchronous posix/sockets API
- summary: An ns-3 "process" environment
- ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2008-April/003912.html
- code location: http://code.nsnam.org/mathieu/ns-3-simu
- status: still in development
real-world application integration
- summary: port of quagga routing to ns-3
- wiki page: http://www.nsnam.org/wiki/index.php/Real_World_Application_Integration
- code location: http://code.nsnam.org/lj/quagga-porting/
- status: Was developed by Liu Jian, Google Summer of Code. Portions of this code are planned for a future release (ns-3.6 or later) when ns-3-simu is merged.
L2 Ethernet switch module
- ns-developers post: http://groups.google.com/group/ns-3-users/browse_thread/thread/0091ac611dde1928#
- status: No code yet, starting development.
Parallel simulations (2008)
- summary: ns-3 extensions for parallelization
- wiki page: http://www.nsnam.org/wiki/index.php/Parallel_Simulations
- code location: http://code.nsnam.org/pfeifer/ns-3-para/
- status: dormant since 2008 Google Summer of Code
Delay Box for ns-3
Matt Crinklaw is working on a port of ns-2 DelayBox to ns-3.
- summary: http://www.isi.edu/nsnam/ns/doc/node247.html (from ns-2 documentation)
- code location: http://freehg.org/u/mlaw
- status: No status update recently. Dormant.
802.21 media independent handover
- wiki page: http://www.nsnam.org/wiki/index.php/NS-3_MIH_implementation
- code location: http://code.nsnam.org/salumu/ns-3-mih/
- status: Dormant-- no merge plans announced.
2009 Google Summer of Code Project Ideas
We have posted some project ideas for Google Summer of Code. However, these ideas are not limited to the Google program.
Ns3 Wireless PHY
This project aims at building a high-quality set of PHY-level models for wireless networks: Ns3WirelessPhy
Mathieu Lacage is coordinating this work and has a workshop session at wns3 in March 2009.
Traffic generation applications
George Riley (firstname.lastname@example.org) is overseeing the porting of application models from GTNetS to ns-3.
Removing traffic generation from applications class
- summary: Proposed decoupling to generalize applications
- ns-developers post: http://mailman.isi.edu/pipermail/ns-developers/2007-July/003136.html
- code location: http://code.nsnam.org/laprisee/ns-3-mp/
- status: Was under discussion in the summer.
Craigdo 23:57, 27 March 2009 (UTC)