|
|
(5 intermediate revisions by 2 users not shown) |
Line 10: |
Line 10: |
| == ns-3's GCI 2018 == | | == ns-3's GCI 2018 == |
|
| |
|
| This webpage highlights project ideas for ns-3's Google Code-In 2018 effort. | | This webpage highlights ns-3's Google Code-In 2018 effort. [https://codein.withgoogle.com/ Google Code-In] is an annual contest sponsored by Google to introduce pre-university students to open source software projects. |
|
| |
|
| 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 | | 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 === | | === About the ns-3 project === |
Line 31: |
Line 29: |
| * Read [https://codein.withgoogle.com/archive/howitworks/ how GCI works]. | | * Read [https://codein.withgoogle.com/archive/howitworks/ how GCI works]. |
| * Read the official [https://developers.google.com/open-source/gci/resources/getting-started Getting Started Guide]. | | * Read the official [https://developers.google.com/open-source/gci/resources/getting-started 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. | | * Look through our List of tasks which 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. | | * Select appropriate tasks from the following categories: coding, documentation, training, outreach, research, quality assurance, and design. |
| * Glance through the [http://www.nsnam.org/ns-3-26/documentation/ns-3 ns-3 tutorial], if you have not already done so. | | * Glance through the [https://www.nsnam.org/documentation/latest/ ns-3 tutorial], if you have not already done so. |
| * Proceed to get in touch with the mentors: [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers mailing list] | Chat https://ns-3.zulipchat.com/ | | * Proceed to get in touch with the mentors: [http://mailman.isi.edu/mailman/listinfo/ns-developers ns-developers mailing list] | Chat https://ns-3.zulipchat.com/ |
|
| |
|
Line 68: |
Line 66: |
| *[mailto:charitha29193@gmail.com Charitha Sangaraju] | | *[mailto:charitha29193@gmail.com Charitha Sangaraju] |
| *[mailto:gm.nandita@gmail.com Nandita G] | | *[mailto:gm.nandita@gmail.com Nandita G] |
| | *[mailto:15it241.salman@nitk.edu.in Salman Shah] |
| | *[mailto:pgaur1411@gmail.com Padmini Gaur] |
|
| |
|
| == List of tasks == | | == ns-3's GCI program outcome == |
| | |
| '''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.
| |
| | |
| * ''Component:'' [https://apps.nsnam.org/ ns-3 app store]
| |
| * ''Category:'' Documentation
| |
| * ''Level:'' Easy
| |
| * ''References:''
| |
| ** [https://github.com/abhijithanilkumar/ns-3-AppStore/blob/master/README.md About ns-3 app store]
| |
| ** [https://github.com/abhijithanilkumar/ns-3-AppStore/wiki ns-3 app store documentation]
| |
| ** [https://github.com/abhijithanilkumar/ns-3-AppStore/wiki/User-Guide ns-3 app store User Guide]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://apps.nsnam.org/ ns-3 app store]
| |
| * ''Category:'' Coding
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [https://github.com/abhijithanilkumar/ns-3-AppStore/blob/master/README.md About ns-3 app store]
| |
| ** [https://github.com/abhijithanilkumar/ns-3-AppStore/wiki ns-3 app store documentation]
| |
| ** [https://github.com/abhijithanilkumar/ns-3-AppStore/blob/master/src/util/parse_bake.py parse_bake.py]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://apps.nsnam.org/ ns-3 app store]
| |
| * ''Category:'' Coding
| |
| * ''Level:'' Hard
| |
| * ''References:''
| |
| ** [https://github.com/abhijithanilkumar/ns-3-AppStore/blob/master/README.md About ns-3 app store]
| |
| ** [https://github.com/abhijithanilkumar/ns-3-AppStore/wiki ns-3 app store documentation]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point-layout/model Implementation of Point to Point Dumbbell topology helper]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point/doc/point-to-point.rst Sample documentation of Point to Point Network Device]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point-layout/model Implementation of Point to Point Grid topology helper]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point/doc/point-to-point.rst Sample documentation of Point to Point Network Device]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point-layout/model Implementation of Point to Point Star topology helper]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point/doc/point-to-point.rst Sample documentation of Point to Point Network Device]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://www.nsnam.org/wiki ns-3 wiki]
| |
| * ''Category:'' Coding
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [https://www.nsnam.org/wiki ns-3 wiki]
| |
| ** [https://mailman.isi.edu/pipermail/ns-developers/ ns-developers archives]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://www.nsnam.org/wiki ns-3 wiki]
| |
| * ''Category:'' Design, Outreach
| |
| * ''Level:'' Easy
| |
| * ''References:''
| |
| ** [https://www.nsnam.org/wiki ns-3 wiki]
| |
| ** [https://vimeo.com/user29108190 ns-3 training videos]
| |
| | |
| ==== Improve the Quality and 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.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Coding, Quality Assurance, Documentation
| |
| * ''Level:'' Easy
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/examples/tutorial Source code of first.cc]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/examples/tutorial Source code of first.py]
| |
| | |
| ==== Improve the Quality and 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.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Coding, Quality Assurance, Documentation
| |
| * ''Level:'' Easy
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/examples/tutorial Source code of second.cc]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/examples/tutorial Source code of second.py]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Research, Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/applications/model Source code of Bulk Send Application]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point/doc/point-to-point.rst Sample documentation of Point to Point Network Device]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Research, Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/applications/model Source code of On-Off Application]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point/doc/point-to-point.rst Sample documentation of Point to Point Network Device]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/applications/model Source code of Packet Sink Application]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point/doc/point-to-point.rst Sample documentation of Point to Point Network Device]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Research, Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/applications/model Source code of UDP Echo Client Application]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point/doc/point-to-point.rst Sample documentation of Point to Point Network Device]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Design
| |
| * ''Level:'' Easy
| |
| * ''References:''
| |
| ** [https://www.nsnam.org/docs/tutorial/html/building-topologies.html Building Topologies in ns-3 ]
| |
| | |
| ==== Prepare a DCE Installation Guide ====
| |
| | |
| Direct Code Execution (DCE) is a framework for ns-3 that provides facilities to execute, within ns-3, existing implementations of userspace and kernel space network protocols or applications without source code changes. The task is to Design a webpage which acts as a DCE Installation Guide.
| |
| | |
| * ''Component:'' [https://github.com/direct-code-execution/ns-3-dce ns-3-dce]
| |
| * ''Category:'' Design, Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [https://ns-3-dce.readthedocs.io/en/latest/getting-started.html ns-3 DCE Getting Started Guide]
| |
| | |
| ==== Improve the Quality and Readability of tbf-example.cc ====
| |
| | |
| tbf-example.cc is the example code provided by ns-3 under traffic-control module. We need to improve the code readability.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Coding, Quality Assurance, Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/examples/traffic-control Source code of tbf-example.cc]
| |
| | |
| ==== Improve the Quality and Readability of codel-vs-pfifo-asymmetric.cc ====
| |
| | |
| codel-vs-pfifo-asymmetric.cc is the example code provided by ns-3 under traffic-control module. We need to improve the code readability.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Coding, Quality Assurance, Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/examples/traffic-control Source code of codel-vs-pfifo-asymmetric.cc]
| |
| | |
| ==== 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.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Research, Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/applications/model Source code of UDP Echo Server Application]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point/doc/point-to-point.rst Sample documentation of Point to Point Network Device]
| |
| | |
| ==== Add documentation for Auto Rate Fallback model ====
| |
| | |
| Add the documentation for Auto Rate Fallback model in ns-3-dev. This model is implemented in the wifi module in ns-3-dev, but lacks documentation.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Research, Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/wifi/model Implementation of Auto Rate Fallback models]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point/doc/point-to-point.rst Sample documentation of Point to Point Network Device]
| |
| | |
| ==== Add documentation for Adaptive Auto Rate Fallback model ====
| |
| | |
| Add the documentation for Adaptive Auto Rate Fallback model in ns-3-dev. This model is implemented in the wifi module in ns-3-dev, but lacks documentation.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Research, Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/wifi/model Implementation of Auto Rate Fallback models]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point/doc/point-to-point.rst Sample documentation of Point to Point Network Device]
| |
| | |
| ==== Add documentation for Packet Filter model ====
| |
| | |
| Add the documentation for Packet Filter model in ns-3-dev. This model is implemented in the traffic-control module in ns-3-dev, but lacks documentation.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Research, Documentation
| |
| * ''Level:'' Hard
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/traffic-control/model Implementation of Packet Filter model]
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/point-to-point/doc/point-to-point.rst Sample documentation of Point to Point Network Device]
| |
| | |
| ==== Add documentation for extraction of network metrics ====
| |
| | |
| Add an aggregate documentation for extraction of various network metrics like congestion window, queue stats, etc.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Research, Documentation, Outreach
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/examples/tutorial Sample programs where metrics are extracted]
| |
| | |
| ==== Improve the Quality and Readability of tcp-variants-comparison.cc ====
| |
| | |
| tcp-variants-comparison.cc is the example code provided by ns-3 under traffic-control module. We need to improve the code readability.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Coding, Quality Assurance, Documentation
| |
| * ''Level:'' Hard
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/examples/tcp Implementation of tcp-variants-comparison.cc]
| |
| | |
| ==== Improve the Quality and Readability of tcp-pacing.cc ====
| |
| | |
| tcp-pacing.cc is the example code provided by ns-3 under traffic-control module. We need to improve the code readability.
| |
| | |
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| |
| * ''Category:'' Coding, Quality Assurance, Documentation
| |
| * ''Level:'' Medium
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/examples/tcp Implementation of tcp-pacing.cc]
| |
|
| |
|
| ==== Configuring parameter of Linux network stack in ns-3 DCE using sysctl interface ====
| | 380 tasks were successfully completed by 46 students. |
|
| |
|
| sysctl provides an interface that allows you to examine and change several hundred kernel parameters in Linux or BSD. ns-3 Direct Code Execution (DCE) provide this interface inside the simulator to configure linux kernel parameters. The task will be to set various parameters in linux kernel using sysctl command.
| | List of tasks for GCI 2018 is available at: https://codein.withgoogle.com/archive/2018/organization/5152211763986432/task/ |
|
| |
|
| * ''Component:'' [https://github.com/direct-code-execution/ns-3-dce ns-3-dce]
| | GCI 2018 winners from ns-3 organization: Parth Pratim and bartekche |
| * ''Category:'' Coding
| |
| * ''Level:'' Hard
| |
| * ''References:''
| |
| ** [https://www.nsnam.org/docs/dce/doxygen/classns3_1_1_linux_stack_helper.html LinuxStackHelper Class]
| |
|
| |
|
| ==== Improve the Quality and Readability of wifi-manager.cc ====
| | GCI 2018 finalists from ns-3 organization: Parth Pandya, Asanali, Victor Hu and sikfeng |
|
| |
|
| wifi-manager.cc is an example code provided by ns-3 under wifi module. We need to improve the code readability.
| | GCI 2018 winners and finalists are listed here: https://codein.withgoogle.com/archive/2018/ |
|
| |
|
| * ''Component:'' [https://code.nsnam.org/index.cgi/ns-3-dev/ ns-3-dev]
| | Most of the tasks have been very useful for ns-3, and we have started merging these tasks into the mainline. |
| * ''Category:'' Coding, Quality Assurance, Documentation
| |
| * ''Level:'' Hard
| |
| * ''References:''
| |
| ** [http://code.nsnam.org/ns-3-dev/file/6ee403611443/src/wifi/examples Implementation of wifi-manager.cc]
| |