GCI2018Details

From Nsnam
Revision as of 15:45, 17 September 2018 by Mohit (Talk | contribs) (List of tasks)

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

Contents

ns-3's GCI 2018

This webpage highlights project ideas for ns-3's Google Code-In 2018 effort.

The seven week coding period for projects runs from 23 October to 12 December, 2018. The full project timeline is here: https://developers.google.com/open-source/gci/timeline

Important note: ns-3 is applying to Google Code-In as a project but will not learn about acceptance until September 18.

About the ns-3 project

ns-3 is a discrete-event network simulator, with a particular emphasis on network research and education.

Users of ns-3 can construct simulations of computer networks using models of traffic generators, protocols such as TCP/IP, and devices and channels such as WiFi, and analyze or visualize the results. Simulation plays a vital role in the research and education process, because of the ability for simulations to obtain reproducible results (particularly for wireless protocol design), scale to large networks, and study systems that have not yet been implemented. A particular emphasis in ns-3 is the high degree of realism in the models (including frameworks for real application and kernel code) and integration of the tool with virtual machine environments and testbeds; we view that researchers need to move more effortlessly between simulation, testbeds, and live experiments, and ns-3 is designed to facilitate that.

Our GSoC organizational admin is Mohit P. Tahiliani and our backup org admin is Tom Henderson.

Mentors will keep track of the students work and provide them constructive feedback. Mentors from companies are welcome, if the employer will permit the mentor sufficient time to perform the mentoring. Prospective mentors should notify Mohit P. Tahiliani or Tom Henderson of interest. Mentors familiar with ns-3 development practices will be preferred, to improve the chances of student code merge.

Students: how to participate

For students interested in applying to ns-3 for GCI, first wait to see if ns-3 will be selected. If so, then go through the following list to get started:

  • Read how GCI works.
  • Read the official Getting Started Guide.
  • Look through our List of tasks below (to be extended) to see if you find a task that interests you. If ns-3 is selected, these tasks will be visible through the GCI dashboard once the program starts on Oct 23.
  • Select appropriate tasks from the following categories: coding, documentation, training, outreach, research, quality assurance, and design.
  • Glance through the ns-3 tutorial, if you have not already done so.
  • Proceed to get in touch with the mentors: ns-developers mailing list | Chat https://ns-3.zulipchat.com/

Mentors: how to participate

The ns-3 project is open to the proposal of new tasks by developers interested in being a GCI mentor. For mentors who're adding tasks to the list below, please ensure that:

  • The tasks must be sized such that they can be completed in 3 - 5 hours by students. Students have 3 days to complete the tasks.
  • The tasks must belong to any one of the following categories: coding, documentation, training, outreach, research, quality assurance, and design, and the respective category must be specified clearly in the description of the task. Note that tasks must not be related to language translation of the project documentation.
  • The task must be sufficiently described i.e., the main aim of the task, complexity of the task, reference links and other relevant information.
  • The tasks must be related to any of the following: ns-3-dev, ns-3-dce, ns-3 app store, ns-3 wiki and bake.

List of mentors

The list of mentors for GCI 2018 (more to be added):

List of tasks

Note to students: These ideas are not listed in any priority order.

Update the documentation of ns-3 app store

Update the User Guide in ns-3 app store wiki with latest screenshots and workflow, and the current documentation where necessary.

Update parse_bake.py in ns-3 app store

Modify ns-3-AppStore/src/util/parse_bake.py to make sure that a bakefile is properly parsed and an app can be edited/created using the data. Make sure creation works, this will be useful when the App Creation process is automated.

Create a Deploy Script for ns-3 app store

Create a deploy script (shell script) that needs to be run each time a redeployment happens. Preferably, the deploy script should cover everything from pulling from GitHub to restarting the server. This will be useful to setup GitHub webhooks and automate the deployment process.

Add documentation for Point to Point Dumbbell Topology Helper

Add the documentation for Point to Point Dumbbell topology helper in ns-3-dev. This helper is implemented in the point to point layout module in ns-3-dev, but lacks documentation.

Add documentation for Point to Point Grid Topology Helper

Add the documentation for Point to Point Grid topology helper in ns-3-dev. This helper is implemented in the point to point layout module in ns-3-dev, but lacks documentation.

Add documentation for Point to Point Star Topology Helper

Add the documentation for Point to Point Star topology helper in ns-3-dev. This helper is implemented in the point to point layout module in ns-3-dev, but lacks documentation.

Create a Script to detect dead links on ns-3 wiki

When ns-developers archives were recently rebuilt, the URLs to old posts have changed, and this can't be easily fixed. Consequently, hyperlinks to ns-developer mails in ns-3 wiki are broken. Write a script to crawl ns-3 wiki and find all dead links, and sort them so we can find all of the ns-developer dead links. Once detected, fix them either manually or automate the script to fix all dead links.

Add a new ‘ns-3 training videos’ page in ns-3 wiki

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.

Improve the Readability of first.cc and first.py

first.cc and first.py are basic examples provided in the tutorial of ns-3 for the beginners to simulate a point to point network. We need to improve the code readability.

Improve the Readability of second.cc and second.py

second.cc and second.py are basic examples provided in the tutorial of ns-3 for the beginners. We need to improve the code readability.

Add documentation for Bulk Send Application

Add the documentation for Bulk Send Application in ns-3-dev. This application is implemented in the application module in ns-3-dev, but lacks documentation.

Add documentation for On-Off Application

Add the documentation for On-Off Send Application in ns-3-dev. This application is implemented in the application module in ns-3-dev, but lacks documentation.

Add documentation for Packet Sink Application

Add the documentation for Packet Sink Application in ns-3-dev. This application is implemented in the application module in ns-3-dev, but lacks documentation.

Add documentation for UDP Echo Client Application

Add the documentation for Udp Echo Client Application in ns-3-dev. This application is implemented in the application module in ns-3-dev, but lacks documentation.

Design a Flow Diagram for implementing a basic network topology

We need to make a simple flow diagram which shows the basic steps in simulating a network topology in ns-3.

Prepare a DCE Installation Guide

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.

Improve the Readability of tbf-example.cc

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.

Improve the Readability of codel-vs-pfifo-asymmetric.cc

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.

Add documentation for UDP Echo Server Application

Add the documentation for Udp Echo Server Application in ns-3-dev. This application is implemented in the application module in ns-3-dev, but lacks documentation.

Add documentation for Auto Rate Fallback model

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.

Add documentation for Adaptive Auto Rate Fallback model

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.

Add documentation for Packet Filter model

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.

Add documentation for extraction of network metrics

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.

Improve the Readability of tcp-variants-comparison.cc

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.

Improve the Readability of tcp-pacing.cc

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.

Configuring parameter of linux network stack in ns-3 DCE using sysctl interface

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.

Improve the Readability of wifi-manager.cc

ns-3 Consortium holds an annual meeting every year which comprises of ns-3 training, Workshop on ns-3 and developers meeting. ns-3 training sessions are video recorded and made available to all the users. This task is about creating a new ‘ns-3 training videos’ page on ns-3 wiki. This new page should contain links to all the ns-3 training videos arranged in reverse chronological order. Mention briefly about the video contents along with the link to the video.