GSOC20235GUsabilityFinalReport

From Nsnam
Revision as of 15:14, 9 September 2023 by Ggrieco (Talk | contribs) (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]...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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 [todo link]
2 !51 nr-helper: Drop undefined method Merged [todo link]
3 !52 Example Usability Improvements In review [todo link]
4 !53 examples: Fix CommandLine declaration for doxygen Merged [todo link]
5 !54 gitlab-ci-gcc: Fix and upgrade build pipeline Merged [todo 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 [todo 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 [todo link]
11 !60 nr-radio-environment-map-helper: Remove unused variable Refused [todo link]
12 !61 cttc-nr-demo: Clarify GridScenarioHelper usage In review [todo link]
13 !62 grid-scenario-helper: Add documentation In review [todo link]
14 !63 gitlab-ci: Fix SSL errors on git clone Merged [todo link]
15 !65 cttc-nr-demo: Usability improvements over Packet Tracing In review [todo link]
16 !67 cttc-nr-demo: Add references to standards and ns-3 docs In review [todo link]
17 !68 logs: Demote Informational logs messages to Function trace messages In review [todo link]
18 !71 cttc-nr-demo Tutorial In review [todo 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)