Ns-3.22

From Nsnam
Revision as of 00:39, 7 November 2014 by Tomh (talk | contribs) (→‎New features)
Jump to navigation Jump to search

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

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

This page summarizes the release planning for ns-3.22. The ns-3 release process is listed here and here.

The release manager is Tom Henderson. Please contact him if you would like to participate in any way in preparing the ns-3.22 release.

Release goals

1) make a major dent in the bug tracker. Can we clean out most issues on our actively maintained modules, including closing out feature requests for which we do not have anyone working on them?

2) continue the transition to a more modular build system. While a major change to the build system is not planned for ns-3.22, one goal is to start to allow modules outside the core of ns-3 to be maintained in separate places, and integrated using the 'bake' tool (rather than merge everything into ns-3-dev).

3) merge (into ns-3-dev or to a bake-enabled repository) as many new features as we can get ready, including all remaining features from 2013 and 2014 GSOC and SOCIS projects, and 2014 summer projects

Release and development schedule

ns-3.22 is planned for mid-January, 2015. ns-3 makes roughly three releases per year (Dec/Jan, Apr/May, and Aug/Sept timeframes).

This means that we ought to get most new features and major changes into the simulator by early December.

Some scheduled events are listed below.

week of Sept. 29, 2014

  • Implementation for documenting TracedValue and TracedCallback signatures.
  • patches from 938 Doxygen sprint

week of October 6, 2014

  • UdpSocketImpl patch; bug 1957
  • HOWTO documentation update 1343

week of October 13, 2014

  • 802.11n patches from Sebastien Derrone

week of October 20, 2014

  • upgrade waf from 1.7.13 to 1.7.16

week of October 27 (or later)

  • bug 1791, Tcp socket never deallocates when closing
  • 802.11n patches from Sebastien Derrone

week of Nov 1 (or later)

Packaging

ns-3.22 will be packaged as a source tarball as before: ns-allinone-3.22.tar.bz2.

The tarball will contain:

  • Latest version of pybindgen
  • Latest version of netanim
  • ns-3.22
  • bake

where bake is used to fetch optional ns-3 components, including DCE.

A patch from ns-3.21 to ns-3.22 will also be posted.

Whether ns-3.22 is prepared in other packaging (e.g. Debian) is to be determined.

Whether ns-3.22 will be distributed also as a Docker container is to be determined.

Release platforms

We usually try to keep pace with the latest popular versions of Linux, OS X, and FreeBSD. For the ns-3.22 release, we plan to support the following systems and compilers:

  • OS X 10.10 Yosemite with latest Xcode
  • Ubuntu 14.04 and 14.10 (gcc-4.8, 4.9)
  • Fedora 20 and 21 (gcc-4.8, 4.9)
  • Debian 7 (gcc-4.9)
  • FreeBSD 10.1 (clang 3)
  • some legacy platforms (to be determined); likely older Ubuntu LTS and CentOS systems, and OS X 10.9

New features

Developers are working or planning to work on the following new features for ns-3.22. Note: there is no guarantee that the features will be finished by the end of the year, so check back for progress/status.

Changes to the simulation core

Higher priority:

Lower priority:

Others to be determined

Statistics

  • Add a basic statistics collector, and convert some existing stats helpers in LTE and WiFi to use the statistics framework (Tom Henderson and Li Li)

Internet module

A number of changes relate to supporting AQM and ECN. This code may end up in the internet module or a new 'internet-queues' module.

TCP

The following were mentioned in the past but don't seem to be actively worked at the moment:

WiFi

Vehicular networks

Delay-tolerant networking

DSR

CSMA improvements =

Epidemic Routing

UAN WOSS

Satellite models

Software maintenance issues

Documentation improvements

others to be determined

Bugs or issues in ns-3 core

Bugs in models to fix

To be determined