NSF Frameworks

From Nsnam
Revision as of 14:51, 5 February 2013 by Tomh (Talk | contribs) (Prototype)

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

The U.S. National Science Foundation (NSF) is funding the University of Washington (Tom Henderson), Georgia Institute of Technology (George Riley), and Bucknell University (Felipe Perrone) to develop extensions to ns-3 to support the creation of more rigorous simulation studies and to support the ongoing maintenance of the ns-3 project. The project is scheduled to run between 2010 and 2014. Below are listed some near- and long-term plans in each area.

Overview

Automation framework

This work is led by Felipe Perrone.

Project goal: The automation framework will consist of user interfaces, description languages, and tools that will help users of varying levels of expertise to produce more credible simulation experiments with ns-3. The functionality offered will enable the user to define, deploy, and control ns-3 simulation experiments that are methodologically valid and easy to reproduce by third parties. The framework will include tools for: model composition; structural validation of the model; configuration of model components; description, deployment, and control of experiments; output data processing and storage; and reporting of experimental setup. Although the framework will offer graphical user interfaces, more experienced users will be able to access automation functionality via the command-line.

Additional information is located here. Much of the code under development is available in the SAFE repository.

A number of efforts are being worked in parallel:

  • A Data Collection Framework (DCF) is being developed to make it easier to get data out of the simulator and into plots and databases.
  • Output data analyzers are being constructed to detect steady-state and termination criteria in the output data stream.
  • An Experiment Execution Manager is being developed to manage multiple independent replications of simulation experiments across single or multiple machines.
  • Web-based simulation configuration and data visualization APIs are under construction.

Scenario generation

This work is led by George Riley

Project goal: Random topology generation based on empirical observations of the Internet (e.g. BRITE), recreated topologies based on empirical data (e.g. Routeviews, Rocketfuel), and synthetic topology generation based on graph structures.

Recent work: BRITE integration with ns-3 was completed for the ns-3.16 release. Work on the use of

Near term plans: BRITE integration with ns-3 was completed for the ns-3.16 release.

Educational framework

Project goal: Develop an on-line library of educational programs and laboratory experiments, and the supporting web-based framework to solicit additional contributions from the educational community.

Recent work: The NetAnim animator continues to be used to support courseware in a networking course at Georgia Tech.

Near term plans: Enhance the Education page and available scripts.

Prototype of automation framework

The project is working on a prototype that will integrate initial pieces of the automation framework, including the following:

  1. a data collection framework to extract the data of interest, perhaps requiring some additions to how this data is accessed from the routing protocol implementations
  2. support to easily plot the data points using confidence intervals using a plotting program such as gnuplot or matplotlib
  3. ability to archive the complete state of the experiment so that it can be reproduced many years later
  4. a steady-state detector to look for reaching the time to start data collection (and data deletion prior to that time)
  5. a termination detector to terminate the program once the desired number of samples
  6. an experiment execution manager (outside of ns-3) to manage the serial or parallel execution of simulation runs to obtain data points for each configuration
  7. a basic wireless/mobility artificial scenario generator allowing the user to rerun the experiment with different numbers of nodes, node densities, and rate of link connectivity changes

A stretch goal is to allow users to plot characteristics of the scenario according to a "god-like" view of the topology, using certain assumptions, such as:

  1. true shortest paths available to each application packet originated over all scenarios
  2. counts on the number of link connectivity changes

Some elements of the above support are expected to be merged with ns-3, and some will live in an outside framework that can be downloaded as an extension via download.py or equivalent.

A concrete example to work is based on the program examples/wireless/manet-routing-compare.cc, which is based on the scenario described in the 1998 Mobicom paper by Broch et al. "A Performance Comparison of Multi-Hop Wireless Ad Hoc Network Routing Protocols". In particular, we would like the prototype to be able to generate plots such as figures 2 and 3 of that paper, and (for stretch goals) figure 1 and table V.

Code will be maintained at: