Difference between revisions of "GSOC2013Projects"

From Nsnam
Jump to: navigation, search
(About the ns-3 project)
Line 88: Line 88:
  
 
= Medium Priority Projects =
 
= Medium Priority Projects =
 +
 +
=== Vehicular Ad-hoc Networks ===
 +
 +
Mentors: [mailto:guillaume.remy@ieee.org Guillaume Rémy]
 +
 +
* '''Wireless Access in Vehicular Environments (WAVE)''' The IEEE 1609 Family of Standards for Wireless Access in Vehicular Environments (WAVE) defines the architecture, communications model, management structure, security mechanisms, and physical access for wireless communications in the vehicular environment. Some components of this specification has already been implemented for ns-3. However, we are still far from the simulation of WAVE on ns-3. The current status is as follows and it is up to the student to decide how much he/she wants to implement:
 +
# The PHY is ready as-is: the 5 MHz and 10 Mhz channel options (i.e., 802.11p) are already implemented, with a corresponding error model. However, there is an alternative solution that implements 802.11 layers: PhySim [4], that does a more accurate job and is more appropriate for vehicular network simulations. Depending on the skills of the student, it could be possible to properly integrate PhySim in the latest NS-3 version, and start WAVE implementation on top of it.
 +
# The MAC needs to be modified. First, some trivial reworking is needed [1], and the rest depends on what the student wishes to implement. One possible approach is to use [2] as a guideline for implementing what is discussed in [3]. The most complex piece to implement are the channel switch logic (the execution of the channel switch command is already implemented)
 +
# higher layers: nothing specific to WAVE is currently available.
 +
# mobility models: no mobility model specific for vehicular scenarios is included in ns-3. But given that ns-3 can work with ns-2 mobility traces, it should be possible to find a mobility trace generator for vehicular scenarios that can be reused with ns-3 (e.g. SUMO).
 +
** ''Required experience:'' C++.
 +
** ''Bonus experience:'' Wireless networking, WAVE.
 +
** ''Interests:'' Wireless networking, VANETs.
 +
** ''Difficulty:'' medium to hard, depending on what the student proposes to implement.
 +
** ''Recommended reading''
 +
*** [0] http://www.nsnam.org/bugzilla/show_bug.cgi?id=700#c11
 +
*** [1] http://www.nsnam.org/bugzilla/show_bug.cgi?id=945
 +
*** [2] http://www.nsnam.org/bugzilla/show_bug.cgi?id=978#c16
 +
*** [3] http://www.nsnam.org/bugzilla/attachment.cgi?id=968
 +
*** [4] http://dsn.tm.kit.edu/english/ns3-physim.php
  
 
= Low Priority Projects =
 
= Low Priority Projects =

Revision as of 13:04, 12 March 2013

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

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

GSoC 2013 Ideas

This webpage highlights project ideas for ns-3's Google Summer of Code 2013 effort.

GSOC 2012 Timeline is:

  • March 18 - 19:00 UTC: Mentoring organizations can begin submitting applications to Google.
  • March 29 - 19:00 UTC: Mentoring organization application deadline.
  • April 8 - 19:00 UTC: List of accepted mentoring organizations published on the Google Summer of Code 2013 site.
  • April 9-21: Would-be student participants discuss application ideas with mentoring organizations.
  • April 22 - 19:00 UTC: Student application period opens.
  • May 3 - 19:00 UTC: Student application deadline.

Full timeline is here: http://www.google-melange.com/gsoc/events/google/gsoc2013

While discussions about ideas can be done earlier, please note that ns-3 will not receive an answer to its GSOC application before April 8.

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.

ns-3 has been in development since 2005 and has been making quarterly releases since June 2008 (our last release was ns-3.10 in January 2011). ns-3 is replacing the popular ns-2 tool which was developed in the 1997-2000 timeframe but became out of date and unmaintained. The tool is coming into wide use; our web server logged almost 51,000 successful downloads of our released software between January 2011 and January 2012, and we have a users mailing list of about 2392 members now averaging 574 posts per month. The code base has a total of 113 authors and 25 maintainers.

Our GSoC organizational admin is Lalith Suresh and our backup org admin is Tom Henderson.

Our mentor pool for this year:

Getting started

For students interested in applying to ns-3 for GSOC, go through the following list to get started:


Project Ideas

The following are a list of project proposals from the ns-3 team for Google Summer of Code 2013. Applicants are however free to propose their own ideas. In addition, please note that these ideas are not limited to GSoC, anyone is welcome to work on them. Please email the ns-developers list if you have an idea that you'd like to work on. Applicants are encouraged to look over this list, pick one that especially interests them, think about it, and discuss potential approaches on the ns-developers list. Previous experience with the Google Summer of Code programmes suggest that the more you discuss and refine your proposal on the mailing list beforehand, the more stronger a proposal it will develop into, and the higher your chances of being accepted into the programme.

Each project idea within a particular priority has been tagged with the following properties:

  • Required Experience: Languages, concepts, or packages with which applicants must be familiar.
  • Bonus Experience: Other experience or familiarity which would be greatly helpful to applicants for this project.
  • Interests: Areas of particular relevance to this project, and an indicator of where successful students might apply their experiences coming out of this project.
  • Difficulty: easy, medium or difficult
  • Recommended reading: pointers to documentation, papers, specific bugs, etc.

Note that all of the projects require some experience and comfort with C++. Project ideas for which C++ is noted as a required experience will require more and deeper familiarity with the language. A similar notion applies to computer networking, BSD sockets, etc: Familiarity is strongly preferred, but is not required except where explicitly noted due to the topic being more advanced in that regard.

High Priority Projects

Project Idea Example

Mentors: Mentor Person

  • Project description: High level description of project.
    • Required Experience: C++, Linux kernel hacking, something.
    • Interests: Emulation, Foo, Bar.
    • Difficulty: easy/medium/hard.
    • Recommended reading:
      • Reference 1
      • Reference 2

Medium Priority Projects

Vehicular Ad-hoc Networks

Mentors: Guillaume Rémy

  • Wireless Access in Vehicular Environments (WAVE) The IEEE 1609 Family of Standards for Wireless Access in Vehicular Environments (WAVE) defines the architecture, communications model, management structure, security mechanisms, and physical access for wireless communications in the vehicular environment. Some components of this specification has already been implemented for ns-3. However, we are still far from the simulation of WAVE on ns-3. The current status is as follows and it is up to the student to decide how much he/she wants to implement:
  1. The PHY is ready as-is: the 5 MHz and 10 Mhz channel options (i.e., 802.11p) are already implemented, with a corresponding error model. However, there is an alternative solution that implements 802.11 layers: PhySim [4], that does a more accurate job and is more appropriate for vehicular network simulations. Depending on the skills of the student, it could be possible to properly integrate PhySim in the latest NS-3 version, and start WAVE implementation on top of it.
  2. The MAC needs to be modified. First, some trivial reworking is needed [1], and the rest depends on what the student wishes to implement. One possible approach is to use [2] as a guideline for implementing what is discussed in [3]. The most complex piece to implement are the channel switch logic (the execution of the channel switch command is already implemented)
  3. higher layers: nothing specific to WAVE is currently available.
  4. mobility models: no mobility model specific for vehicular scenarios is included in ns-3. But given that ns-3 can work with ns-2 mobility traces, it should be possible to find a mobility trace generator for vehicular scenarios that can be reused with ns-3 (e.g. SUMO).

Low Priority Projects