Roadmap: Difference between revisions

From Nsnam
Jump to navigation Jump to search
(update current code proposals)
 
(81 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{TOC}}
{{TOC}}


This page is a brief summary of current development activities for ns-3If you want to participate in any stages of the below development activities, please email the contacts listed below, or the ns-developers list.
ns-3 is a community-driven project, and as such, we cannot typically make guarantees about the availability of new or improved code; our maintainers work largely on a best-effort basisHowever, we use this page to describe our goals (time-permitting) for each release, and where we broadly are trying to steer the project for the future.


__FORCETOC__
== ns-3.44 plans ==


== Release process ==  
The most up-to-date listing of items being worked on in this release cycle can be seen by browsing [https://gitlab.com/nsnam/ns-3-dev/-/merge_requests?scope=all&state=opened&milestone_title=ns-3.44 Merge requests] and [https://gitlab.com/nsnam/ns-3-dev/-/issues?scope=all&state=opened&milestone_title=ns-3.44 Issues] in the GitLab.com tracker that are tagged with the 'Milestone ns-3.44' tag.


ns-3 releases are based on date-driven schedules: rather than target a set of features for a specific version number, we aim instead for a release date and ship whatever is ready by that date. If a cool new feature misses that date, it is not a big deal because the next release is never too far away. Because the project is currently still under some heavy flux where a lot of APIs still change, the current interval between releases is expected to be roughly one month. We expect that interval to increase to 3 or 4 months once the core of the simulator has stabilized sufficiently.
Besides this, the following [https://www.nsnam.org/about/governance/maintainers/ ns-3 maintainers] announced plans to work on the following topics:


The roadmap below is tentative. That is, the goal is to document what we would like to see in a number of releases, but, of course, since this is an Open Source project, contributors are free to work on anything they are interested in and try to merge it in earlier than stated. If we feel a specific feature targeted to a specific release just won't make it in time, we will move that feature to the next release.
* Stefano Avallone plans to finally finalize the EMLSR support and possibly to introduce the (legacy) PowerSave mode support.


Some of the items in this roadmap do not have anyone signed up to get work done on them. So, there is something you are interested in, ask on ns-developers.
* Sebastien Deronne plans to work on Wi-Fi module extensions for GCR (UR & BA), improved support for P2P/adhoc, and 802.11be extensions (CCA, RAAs, 320 MHz BW, …)


Detailed steps for doing the source code release are found in the [http://code.nsnam.org/ns-3-dev/file/1e8249c58fda/doc/release_steps.txt doc/release_steps.txt] file in the ns-3-dev repository.
* Alberto Gallegos is working on merging a new [https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/1004 Zigbee model], improving documentation of the lr-wpan and energy modules, revise [https://www.nsnam.org/docs/doxygen/de/de5/_trace_source_list.html TraceSources] of the lr-wpan module, and convert many constants specified in the IEEE 802.15.4 standard into changeable [https://www.nsnam.org/docs/doxygen/d3/d79/_attribute_list.html Attributes].


=== Deadlines ===
* Tom Henderson is prioritizing
** Merging Muyuan Shen's [https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2009 Wi-Fi Mac TX stats helper]
** Merging IIIT-D's [https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2004 Wi-Fi channel occupancy helper]
** Supporting wifi transition to [https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/2085 strongly typed units]
** Working with Nihar Kapasi to fix Wi-Fi [https://gitlab.com/nsnam/ns-3-dev/-/issues/1138 MinstrelHt issues


There are a few deadlines and steps for incorporating code into a scheduled ns-3 release:
== Long term ==


* '''Nov. 1 (15 days prior)''' deadline for posting any patches or private repos that are solicited for review/comment, for possible check in to the upcoming release.  These are for patches or repos that can be considered as extensions to the simulator.  Post a summary to the list, allow 7 days (minimum) for comments, and if all comments and issues can be resolved in that time window, it can go into the next release; otherwise it slides until when things are resolved.
== Historical information ==
* '''Nov. 8 (7 days prior)''' deadline for being in a "ready-to-merge" state, which means that there is agreement that comments from the previous stage have been resolved and that the change can go in.  Perhaps a "last-call" announcement by the release manager on the list will help.
* '''Nov. 12 (3 days prior)''' deadline for merging any extensions or new modules that change the API, or any miscellaneous changes by maintainers.  Exceptions: critical bug fixes, doxygen and documentation, and coding style alignment nits.


Finally, it is good practice to announce among the active committers when you are doing a major merge, to avoid bad merge collisions.
see the [[Current_Development]] page for some older Roadmap items (many have been abandoned)
 
== Release schedule ==
 
ns-3 is still in a pre-alpha state, with monthly development releases.  Releases are occurring on the 15th of each month, and are source releases only.
 
=== November 15, 2007 (ns-3.0.8) ===
 
The following items are candidates for merge into this release, although merge is dependent on resolving outstanding comments during the release process.
 
# Ptr<Packet>; bring Packet object into overall ns-3 object framework (not yet posted for review)
# Error model (not yet posted for review)
# Watchdog (see below)
# Bug closure (79,85,93,94)
# better Global Routing defaults
# support for tutorial scripts
 
In addition, initial repositories for wifi and TCP are expected to be posted for comments.
 
== Code proposals under review ==
 
This section is intended to summarize code proposals under active discussion on the mailing list.
 
# '''Watchdog'''
#* ''summary'': A simple [http://en.wikipedia.org/wiki/Watchdog_timer watchdog] class
#* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2007-October/003420.html
#* ''code location'': http://code.nsnam.org/mathieu/ns-3-timer/
#* ''status'':  No feedback yet.
#:
# '''Ptr<Packet>'''
#* ''summary'': Use class Ptr to manage Packet objects
#* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2007-October/003460.html
#* ''code location'': http://code.nsnam.org/craigdo/ns-3-packet
#* ''status'':  Proposed for inclusion in November release; comments solicited.
#:
# '''wifi model for ns-3'''
#* ''summary'': Mathieu's port of the yans 802.11 model.
#* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2007-October/003452.html
#* ''code location'': http://code.nsnam.org/mathieu/ns-3-wifi
#* ''status'':  Candidate for December release; comments solicited now
#:
# '''error model'''
#* ''summary'': Port of some of the ns-2 ErrorModel code
#* ''ns-developers post'': http://mailman.isi.edu/pipermail/ns-developers/2007-October/003462.html
#* ''code location'': http://code.nsnam.org/tomh/ns-3-error
#* ''status'':  Proposed for possible inclusion in November release; comments solicited.
#:
 
== Future releases ==
 
The following are additional things that various developers are working on, plan to work on, or have brought to a prototype state.  (Please keep this brief and add pointers to other pages if there is a lengthy description).
 
=== 802.11 MAC and PHY code ported from 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].
 
=== TCP ===
 
Raj Bhattacharjea (raj.b@gatech.edu) is working on a port of the [http://www.ece.gatech.edu/research/labs/MANIACS/GTNetS/ GTNetS] TCP module to ns-3.
 
=== 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/
** ''ns-developers post'':  http://mailman.isi.edu/pipermail/ns-developers/2007-August/003256.html
* 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]
** ''ns-developers post'':  http://mailman.isi.edu/pipermail/ns-developers/2007-June/003039.html
 
=== 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.
 
=== Traffic generation applications ===
 
George Riley (riley@ece.gatech.edu) is overseeing the porting of application models from [http://www.ece.gatech.edu/research/labs/MANIACS/GTNetS/ 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)
 
=== 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.
#:

Latest revision as of 19:04, 19 October 2024

Main Page - Roadmap - Summer Projects - Project Ideas - Developer FAQ - Tools - Related Projects

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

ns-3 is a community-driven project, and as such, we cannot typically make guarantees about the availability of new or improved code; our maintainers work largely on a best-effort basis. However, we use this page to describe our goals (time-permitting) for each release, and where we broadly are trying to steer the project for the future.

ns-3.44 plans

The most up-to-date listing of items being worked on in this release cycle can be seen by browsing Merge requests and Issues in the GitLab.com tracker that are tagged with the 'Milestone ns-3.44' tag.

Besides this, the following ns-3 maintainers announced plans to work on the following topics:

  • Stefano Avallone plans to finally finalize the EMLSR support and possibly to introduce the (legacy) PowerSave mode support.
  • Sebastien Deronne plans to work on Wi-Fi module extensions for GCR (UR & BA), improved support for P2P/adhoc, and 802.11be extensions (CCA, RAAs, 320 MHz BW, …)
  • Alberto Gallegos is working on merging a new Zigbee model, improving documentation of the lr-wpan and energy modules, revise TraceSources of the lr-wpan module, and convert many constants specified in the IEEE 802.15.4 standard into changeable Attributes.

Long term

Historical information

see the Current_Development page for some older Roadmap items (many have been abandoned)