From Nsnam
Revision as of 21:24, 3 May 2010 by Jpelkey (Talk | contribs)

Jump to: navigation, search

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 summarizes the ongoing release planning for ns-3.8. The release manager is Josh Pelkey <jpelkey@gatech.edu>.

Tentative ns-3.8 Release Schedule

  1. January 27 -- ns-3.7 posted
  2. January 27 -- ns-3.8 Open phase begins
  3. March 8 -- Deadline for new feature merge
  4. March 8 -- Begin the phase of small feature development and bug fixing
  5. March 27 -- Small feature development and bug fixing ends
  6. March 27 -- Open phase ends
  7. March 27 -- Maintenance phase begins
  8. April 21 -- Maintenance phase ends
  9. April 21 -- Code freeze phase begins
  10. April 21 -- ns-3.8-RC1
  11. April 25 -- ns-3.8-RC2
  12. April 28 -- ns-3.8-RC3
  13. May 1 -- ns-3.8-RC4
  14. May 3 -- ns-3.8 posted
  15. May 3 -- Code freeze phase ends
  16. May 3 -- ns-3.9 Open phase begins

As described in the Roadmap there are three broad sections in the release schedule. During the open phase, people wanting to include a new feature in ns-3.8 should contact Josh and arrange to have their features merged into ns-3-dev. You will be expected to provide the following:

  • A mercurial patch, bundle or repo against the current version of ns-3-dev that contains your proposed feature addition. You need to make sure that we can apply this patch and build and run (debug and optimized as appropriate) all unit and regression tests successfully on all of our target machines
  • A summary of the additions you are proposing and an explanation of any changes to existing code that had to be done in order to support your feature (this will be used to generate release notes and will be provided to maintainers if a code review is indicated)
  • Some kind of unit or system test that can be used to determine if your feature is actually working at each stage of the integration

One of us will take a quick look at your proposed addition and determine if a code review is required. According to the book of instructions a code review requiring positive acknowledgment by maintainers is indicated if:

  • Your proposed feature does not work with all models or on all platforms
  • Your feature changes pre-existing APIs
  • Your feature crosses maintainer boundaries

Just to be safe, we will probably run a feature submission by at least one maintainer according to the general area of applicability of the feature. For example, if you submit an entirely new device driver model, as a courtesy we will run this submission by the maintainers of the current devices. The maintainers won't have any responsibility to positively ack the submission, but we will take some time to allow a reasonable review.

The open phase is divided into two parts: new feature merge period and small feature development and bug fixing.

During the new feature merge period we can:

  • Review the code that might be merged
  • Clean up the bug tracker: solve as much bugs as possible
  • Merge the new features that has +1 and from maintainers

After March 8th, the new feature merge period ends and small feature development and bug fixes begins. During the latter, no more merges are accepted and we can:

  • Accept limited, small, self contained changes/features to ns-3-dev and to merged new features. As specified before, no more merges are accepted
  • Review the code to be merged for next releases
  • Cleanup the ns-3-dev bug tracker, solve as much bugs as possible

The end of the small feature development and bug fixes coincides (March 27th) with the beginning of the maintenance phase. No new features may be added, but the maintainers may check in fixes to bugs; and people with new features that have been accepted and previously merged may fix bugs in existing features. Please don't try to sneak in more new features or you may have your whole feature set removed at the release manager's discretion. You can ask if you want to add small, self-contained features, but there are no guarantees that we will okay them.

On April 19th, 2010, we are going to enter the code freeze phase. This indicates that we are in the final stages of the release and our primary goal is stability. During the code freeze phase, only P1 bugfixes will be allowed to be checked in. Our goal will be to reduce the number of P1 bugs to zero before the release of ns-3.8.

We will reserve the right to veto (and remove) any new feature addition if it begins to cause problems and looks like it threatens the stability of the release at any time in the release process.

ns-3.8 Features Merged

Topology read system (Inet/Orbis)

Matrix propagation loss model

MPI-based parallelization


Redo ASCII and pcap Traces

Gauss-Markov Mobility Model

Steady state random waypoint mobility model

802.11n block ack

Enhancements to src/core/random-variable.cc/h

Two ray ground radio propagation model

Move propagation models to src/common

Pareto rng constructors using scale and shape instead of mean and shape