Difference between revisions of "Roadmap"

From Nsnam
Jump to: navigation, search
(update roadmap)
(summary of code under review; updated roadmap)
Line 5: Line 5:
 
__FORCETOC__
 
__FORCETOC__
  
 +
== Code proposals under review ==
 +
 +
# '''Generalized socket address'''
 +
#* ''summary'': The existing sockets code is too Ipv4-centric.
 +
#* ''ns-developers post'':  http://mailman.isi.edu/pipermail/ns-developers/2007-July/003204.html
 +
#* ''code location'': http://code.nsnam.org/mathieu/ns-3-address.
 +
#* ''status'':  Posted for review on July 27.
 +
#:
 +
#:
 +
# '''OLSR support'''
 +
#* ''summary'': This contains a set of core changes needed to support Gustavo's OLSR code.
 +
#* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2007-July/003190.html
 +
#* ''code location'': http://code.nsnam.org/gjc/ns-3-olsr-support/
 +
#* ''status'':  About to be merged
 +
#:
 +
#:
 +
# '''OLSR'''
 +
#* ''summary'': This is a clone of ns-3-olsr-support with an additional commit with the OLSR code itself.
 +
#* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2007-July/003190.html
 +
#* ''code location'': http://code.nsnam.org/gjc/ns-3-olsr/
 +
#* ''status'':  Under review
 +
#:
 +
#:
 +
# '''A Timer Class'''
 +
#* ''summary'': This is a simple timer class
 +
#* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2007-July/003168.html
 +
#* ''code location'': http://code.nsnam.org/gjc/ns-3-olsr/file/519cabaa269a/src/simulator/timer.h; http://code.nsnam.org/gjc/ns-3-olsr/file/519cabaa269a/src/simulator/timer.cc
 +
#* ''status'':  Under review
 +
#:
 +
#:
 +
# '''Single Event and Event Collector'''
 +
#* ''summary'': Proposed for better event tracking
 +
#* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2007-July/003206.html
 +
#* ''code location'': http://code.nsnam.org/gjc/ns-3-olsr-support/
 +
#* ''status'':  Under review
 +
#:
 +
#:
 +
# '''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'':  Under review
 +
#:
 +
#:
 +
# '''Global routing manager'''
 +
#* ''summary'': Object that builds/populates global static routes
 +
#* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2007-July/003173.html
 +
#* ''code location'': http://code.nsnam.org/tomh/ns-3-routing/
 +
#* ''status'':  Under revision
 +
#:
 +
#:
  
 
== Release 3.0.5 (August 15, 2007) ==
 
== Release 3.0.5 (August 15, 2007) ==
 +
 +
=== Ethernet:  CSMA/CD ===
 +
 +
Emmanuelle Laprise (emmanuelle.laprise@bluekazoo.ca) and George Riley (riley@ece.gatech.edu) are working on an Ethernet NetDevice and Ethernet bridge node.  See http://code.nsnam.org/laprisee/ns-3-mp
 +
 +
=== Global routing ===
 +
 +
Tom Henderson (tomh@tomh.org) and Craig Dowell are working on a global routing object that can compute static routes for the topology prior to the simulation execution.  See http://code.nsnam.org/tomh/ns-3-routing.  For August, we hope to have point-to-point and shared (Ethernet) links supported, and static multicast routing.
 +
 +
 +
== Future releases ==
 +
 +
=== Python bindings ===
 +
 +
Gustavo Carneiro (gjcarneiro@gmail.com) and Craig Dowell (craigdo@ee.washington.edu) are working on the architecture and implementation for adding Python bindings to ns-3.
 +
 +
The goal is to allow full or nearly-full access to the C++ APIs from Python, and to allow components to be created in Python as well.  Initially, we will try to wrap the higher-level C++ API.
 +
 +
The following options are being considered:
 +
* SWIG: functionally similar to boost::python but supports more languages; also may be difficult to extend:  http://code.nsnam.org/craigdo/ns-3-swig/
 +
* Gustavo's Python bindings prototype:  http://code.nsnam.org/gjc/ns-3-pybindgen/
 +
Here are more details from [http://gjcarneiro.blogspot.com/2007/05/python-bindings-generator.html Gustavo's blog]
  
 
=== Statistics ===
 
=== Statistics ===
Line 32: Line 105:
  
 
Mathieu Lacage (mathieu.lacage@sophia.inria.fr) is leading this port from [http://code.nsnam.org/mathieu/ns-3-yans ns-3-yans].
 
Mathieu Lacage (mathieu.lacage@sophia.inria.fr) is leading this port from [http://code.nsnam.org/mathieu/ns-3-yans ns-3-yans].
 
=== Global, static routing ===
 
 
[http://www.nsnam.org/docs/architecture/node41.html The software architecture document] has a routing roadmap.  For July, we hope to enable static point-to-point routing.
 
 
=== Python bindings ===
 
 
Gustavo Carneiro (gjcarneiro@gmail.com) and Craig Dowell (craigdo@ee.washington.edu) are working on the architecture and implementation for adding Python bindings to ns-3.
 
 
The goal is to allow full or nearly-full access to the C++ APIs from Python, and to allow components to be created in Python as well.  Initially, we will try to wrap the higher-level C++ API.
 
 
The following options are being considered:
 
* Py++ (boost::python):  This seems to be difficult to extend and provides cryptic compilation error messages
 
* SWIG: functionally similar to boost::python but supports more languages; also may be difficult to extend
 
* PyBus:  Python LHC Computing Grid Dictionary).  This is a home-brew solution for the LHC Computing Grid project based on GCC-XML (http://seal.web.cern.ch/seal/) to read LGCDict info that adds reflection to C++.
 
* an IDispatch-like technique, such as in PythonCOM (http://sourceforge.net/projects/pywin32/)
 
 
Here are more details from [http://gjcarneiro.blogspot.com/2007/05/python-bindings-generator.html Gustavo's blog]
 
 
=== Ethernet:  CSMA/CD ===
 
 
Emmanuelle Laprise (emmanuelle.laprise@bluekazoo.ca) and George Riley (riley@ece.gatech.edu) are working on an Ethernet NetDevice and Ethernet bridge node.
 
 
== Release 3.0.6 (September 15, 2007) ==
 
  
 
=== TCP ===  
 
=== TCP ===  

Revision as of 20:50, 29 July 2007

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

This page supplements the main project roadmap page with more detail. If you want to participate in any early stages of the below development activities, please email the contacts listed below. Otherwise, later stages of the development will be posted to ns-developers mailing list for review and comment.


Code proposals under review

  1. Generalized socket address
  2. OLSR support
  3. OLSR
  4. A Timer Class
  5. Single Event and Event Collector
  6. Removing traffic generation from applications class
  7. Global routing manager

Release 3.0.5 (August 15, 2007)

Ethernet: CSMA/CD

Emmanuelle Laprise (emmanuelle.laprise@bluekazoo.ca) and George Riley (riley@ece.gatech.edu) are working on an Ethernet NetDevice and Ethernet bridge node. See http://code.nsnam.org/laprisee/ns-3-mp

Global routing

Tom Henderson (tomh@tomh.org) and Craig Dowell are working on a global routing object that can compute static routes for the topology prior to the simulation execution. See http://code.nsnam.org/tomh/ns-3-routing. For August, we hope to have point-to-point and shared (Ethernet) links supported, and static multicast routing.


Future releases

Python bindings

Gustavo Carneiro (gjcarneiro@gmail.com) and Craig Dowell (craigdo@ee.washington.edu) are working on the architecture and implementation for adding Python bindings to ns-3.

The goal is to allow full or nearly-full access to the C++ APIs from Python, and to allow components to be created in Python as well. Initially, we will try to wrap the higher-level C++ API.

The following options are being considered:

Here are more details from Gustavo's blog

Statistics

George Riley(riley@ece.gatech.edu) and Mathieu Lacage (mathieu.lacage@sophia.inria.fr) are the contacts for this development.

One of the important design goals of the ns-3 tracing framework was to allow users to hook their own online statistic analysis code into trace hooks to avoid having to spew gigabytes of trace files only to post-process them later.

We thus need a framework to make it easy and safe for users to calculate basic network-specific values in the system such as:

  • RTT
  • Throughput
  • inter-arrival time
  • ...

Furthermore, it should be trivial to efficiently calculate basic statistical properties on these collected measurements:

  • Average with standard deviation. Arbitrary confidence interval ?
  • Cumulative distribution of a variable. i.e., the EDCF.
  • ...

A serious Statistics project should thus first refine the list of variables we want to measure. It should also attempt to define as precisely as possible the type of statistical tools which should be made available for these variable measurements or other types of measurements.

Once this initial discussion has take place, we should be able to design an API for these features and implement it for a specific ns-3 release. If you believe that you can contribute useful input to this discussion, do not hesitate to join ns-developers to talk about it.

802.11 MAC and PHY code ported from ns-3-yans

Mathieu Lacage (mathieu.lacage@sophia.inria.fr) is leading this port from ns-3-yans.

TCP

Raj Bhattacharjea (raj.b@gatech.edu) is working on a port of the GTNetS TCP module to ns-3.

Traffic generation applications

George Riley (riley@ece.gatech.edu) is overseeing the porting of application models from GTNetS to ns-3.

802.11 PHY cleanup

Mathieu Lacage (mathieu.lacage@sophia.inria.fr) is working on 802.11 PHY cleanup to simplify addition of other 802.11 PHY models.

Wireless routing protocol infrastructure

Wireless routing protocol infrastructure for mobile wireless networks. Contact: Mathieu Lacage (mathieu.lacage@sophia.inria.fr)