Difference between revisions of "GSOC20235GUsabilityFinalReport"

From Nsnam
Jump to: navigation, search
(Created page with "= Project Overview = * '''Project Name''': [https://summerofcode.withgoogle.com/programs/2023/projects/oeDFknbT IUNS-3 5G NR: Improving the Usability of ns-3's 5G NR Module]...")
 
Line 7: Line 7:
 
* '''Useful links''':
 
* '''Useful links''':
 
** [https://www.nsnam.org/mediawiki/index.php?title=GSOC20235GUsability Project wiki page] - used to track the work in progress.
 
** [https://www.nsnam.org/mediawiki/index.php?title=GSOC20235GUsability Project wiki page] - used to track the work in progress.
 +
** [https://gitlab.com/ggrieco/gsoc23-iuns-3 Project patch set repository] - used to archive all the work done for this GSoC
 
** [https://gitlab.com/nsnam/ns-3-dev ns-3-dev Official Repository] - will be referenced in the project.
 
** [https://gitlab.com/nsnam/ns-3-dev ns-3-dev Official Repository] - will be referenced in the project.
 
** [https://gitlab.com/cttc-lena/nr/ nr Official Repository] - used to push MRs in output of this GSoC project.
 
** [https://gitlab.com/cttc-lena/nr/ nr Official Repository] - used to push MRs in output of this GSoC project.
Line 40: Line 41:
 
! No. !! Name !! Status !! Archived Patchset
 
! No. !! Name !! Status !! Archived Patchset
 
|-
 
|-
| 1 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/50 !50 docs: Update sqlite support message] || Merged || [todo link]
+
| 1 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/50 !50 docs: Update sqlite support message] || Merged || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/merged?ref_type=heads link]
 
|-
 
|-
| 2 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/51 !51 nr-helper: Drop undefined method] || Merged || [todo link]
+
| 2 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/51 !51 nr-helper: Drop undefined method] || Merged || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/merged?ref_type=heads link]
 
|-
 
|-
| 3 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/52 !52 Example Usability Improvements] || In review || [todo link]
+
| 3 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/52 !52 Example Usability Improvements] || In review || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/MR52?ref_type=heads link]
 
|-
 
|-
| 4 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/53 !53 examples: Fix CommandLine declaration for doxygen] || Merged || [todo link]
+
| 4 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/53 !53 examples: Fix CommandLine declaration for doxygen] || Merged || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/merged?ref_type=heads link]
 
|-
 
|-
| 5 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/54 !54 gitlab-ci-gcc: Fix and upgrade build pipeline] || Merged || [todo link]
+
| 5 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/54 !54 gitlab-ci-gcc: Fix and upgrade build pipeline] || Merged || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/merged?ref_type=heads link]
 
|-
 
|-
 
| 6 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/55 !55 examples, docs: Update TR 38.900 references to TR 38.901] || Refused || [todo link]
 
| 6 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/55 !55 examples, docs: Update TR 38.900 references to TR 38.901] || Refused || [todo link]
 
|-
 
|-
| 7 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/56 !56 Readme: Reference the Doxygen tutorial to learn how to run examples] || Merged || [todo link]
+
| 7 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/56 !56 Readme: Reference the Doxygen tutorial to learn how to run examples] || Merged || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/merged?ref_type=heads link]
 
|-
 
|-
 
| 8 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/57 !57 cttc-nr-demo: Add reference to TS 38.300] || Refused || [todo link]
 
| 8 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/57 !57 cttc-nr-demo: Add reference to TS 38.300] || Refused || [todo link]
Line 58: Line 59:
 
| 9 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/58 !58 cttc-nr-demo: Add reference to ns-3 logging tutorial] || Refused || [todo link]
 
| 9 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/58 !58 cttc-nr-demo: Add reference to ns-3 logging tutorial] || Refused || [todo link]
 
|-
 
|-
| 10 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/59 !59 cttc-nr-demo: Add lower-bound frequency check as per TR 39.901] || Merged || [todo link]
+
| 10 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/59 !59 cttc-nr-demo: Add lower-bound frequency check as per TR 39.901] || Merged || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/merged?ref_type=heads link]
 
|-
 
|-
 
| 11 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/60 !60 nr-radio-environment-map-helper: Remove unused variable] || Refused || [todo link]
 
| 11 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/60 !60 nr-radio-environment-map-helper: Remove unused variable] || Refused || [todo link]
 
|-
 
|-
| 12 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/61 !61 cttc-nr-demo: Clarify GridScenarioHelper usage] || In review || [todo link]
+
| 12 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/61 !61 cttc-nr-demo: Clarify GridScenarioHelper usage] || In review || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/MR61?ref_type=heads link]
 
|-
 
|-
| 13 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/62 !62 grid-scenario-helper: Add documentation] || In review || [todo link]
+
| 13 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/62 !62 grid-scenario-helper: Add documentation] || In review || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/MR62?ref_type=heads link]
 
|-
 
|-
| 14 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/63 !63 gitlab-ci: Fix SSL errors on git clone] || Merged || [todo link]
+
| 14 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/63 !63 gitlab-ci: Fix SSL errors on git clone] || Merged || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/merged?ref_type=heads link]
 
|-
 
|-
| 15 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/65 !65 cttc-nr-demo: Usability improvements over Packet Tracing] || In review || [todo link]
+
| 15 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/65 !65 cttc-nr-demo: Usability improvements over Packet Tracing] || In review || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/MR65?ref_type=heads link]
 
|-
 
|-
| 16 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/67 !67 cttc-nr-demo: Add references to standards and ns-3 docs] || In review || [todo link]
+
| 16 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/67 !67 cttc-nr-demo: Add references to standards and ns-3 docs] || In review || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/MR67?ref_type=heads link]
 
|-
 
|-
| 17 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/68 !68 logs: Demote Informational logs messages to Function trace messages] || In review || [todo link]
+
| 17 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/68 !68 logs: Demote Informational logs messages to Function trace messages] || In review || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/MR68?ref_type=heads link]
 
|-
 
|-
| 18 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/71 !71 cttc-nr-demo Tutorial] || In review || [todo link]
+
| 18 || [https://gitlab.com/cttc-lena/nr/-/merge_requests/71 !71 cttc-nr-demo Tutorial] || In review || [https://gitlab.com/ggrieco/gsoc23-iuns-3/-/tree/main/nr/MR71?ref_type=heads link]
 
|}
 
|}
  

Revision as of 09:19, 10 September 2023

Project Overview

  • Project Name: IUNS-3 5G NR: Improving the Usability of ns-3's 5G NR Module
  • Contributor: Giovanni Grieco
  • Mentors: Tom Henderson, Katerina Koutlia, and Biljana Bojovic
  • Main Goal: The primary objective of this project was to enhance the user-friendliness of the 5G NR module within ns-3. This was achieved by providing an inviting user experience and a detailed tutorial that is specifically designed to help users understand the inner workings of a simulated 5G Radio Access Network (RAN) during their initial usage.
  • Useful links:

Milestones

  1. Provide a description of how packets flow through the 5G NR RAN. Be able to answer the question "what happens to the traffic between a gNB and a UE?"
  2. Improve or add documentation when necessary, in order to address usability issues in understanding fundamental example scenarios, such as cttc-nr-demo.
  3. Enhance packet/frame tracing capabilities by offering flexible log messages and trace sources.
  4. Review and refactor code to improve clarity on example scenarios.
  5. Be able to measure latency at different layers of the NR stack.

Activities

  • ns-3-dev and NR were forked at their respective versions: 3.39 and 2.5.x, creating the following two personal repositories: ggrieco/ns-3-dev and ggrieco/nr.
  • Analyzed the cttc-nr-demo example for usability issues.
  • Helped mentors in fixing pipeline configuration issues, hindering the correct checking of build and code style.
  • Presented work being done and merged over the NR module at WNS3 2023, gathering interesting feedback from the ns-3 community.
  • Created a tutorial to better understand how the NR module works, based on cttc-nr-demo example.
  • Various documentation and log improvements tracked by MRs.

Deviations

The project focused on milestones different from the ones listed in the starting project idea after internal meetings with mentors and feedback gathered during the Community Bonding Period.

Merge Requests

All the following activities can be easily reviewed on the following MRs:

Merge Requests
No. Name Status Archived Patchset
1 !50 docs: Update sqlite support message Merged link
2 !51 nr-helper: Drop undefined method Merged link
3 !52 Example Usability Improvements In review link
4 !53 examples: Fix CommandLine declaration for doxygen Merged link
5 !54 gitlab-ci-gcc: Fix and upgrade build pipeline Merged link
6 !55 examples, docs: Update TR 38.900 references to TR 38.901 Refused [todo link]
7 !56 Readme: Reference the Doxygen tutorial to learn how to run examples Merged link
8 !57 cttc-nr-demo: Add reference to TS 38.300 Refused [todo link]
9 !58 cttc-nr-demo: Add reference to ns-3 logging tutorial Refused [todo link]
10 !59 cttc-nr-demo: Add lower-bound frequency check as per TR 39.901 Merged link
11 !60 nr-radio-environment-map-helper: Remove unused variable Refused [todo link]
12 !61 cttc-nr-demo: Clarify GridScenarioHelper usage In review link
13 !62 grid-scenario-helper: Add documentation In review link
14 !63 gitlab-ci: Fix SSL errors on git clone Merged link
15 !65 cttc-nr-demo: Usability improvements over Packet Tracing In review link
16 !67 cttc-nr-demo: Add references to standards and ns-3 docs In review link
17 !68 logs: Demote Informational logs messages to Function trace messages In review link
18 !71 cttc-nr-demo Tutorial In review link

Future Works

Since the milestones are flexible and subject to continuous enhancement, future efforts can be directed towards:

  1. Completing the pending MRs that are currently under review.
  2. Enhancing the tutorial to provide clearer explanations for certain aspects of the simulation, particularly those pertaining to the MAC and PHY layers, in order to align more effectively with the stated milestones.
  3. Improving the overall state of documentation and code readability of example scenarios.

Acronyms

  • Centre Tecnològic de Telecomunicacions de Catalunya (CTTC)
  • Google Summer of Code (GSoC)
  • Medium Access Control (MAC)
  • Merge Request (MR)
  • New Radio (NR)
  • Next Generation Node-B (gNB)
  • Radio Access Network (RAN)
  • User Equipment (UE)
  • Workshop on ns-3 (WNS3)