Goddard Space Flight Center
January 11, 2021- April 30, 2021
Goals of your project/s:
The main goal of this project was to raise the classification level of the Checksum Application, an application at the top layer of NASA’s core Flight System (cFS), in support of the Lunar Gateway Mission.
Describe what you did during the internship.
NASA’s core Flight System (cFS) is a platform and project independent reusable software framework and set of reusable software applications. Within cFS, Goddard Space Flight Center manages twelve applications. In order to raise the classification level of the Checksum Application for the Lunar Gateway mission, updates needed to be made to the software framework. Along with updates to the code base, unit and functional tests needed to be developed to verify the integrity of the code. After researching and gaining a further understanding of cFS functionality, software tickets were assigned to be completed. To complete these tickets, a methodical solution to the specific ticket needed to be devised. Once the ticket was complete, the review process began which consisted of presenting changes and receiving feedback. Following a successful review process, the ticket was submitted to the final code base and progress to raise the classification level of the software was made. Unit testing within a file class of the Checksum application began in order to test each individual component of the software worked as intended. Unit tests were tediously written to test specific lines of code and then ran to verify each test successfully passed. Completion of unit testing resulted in verification that there were no defects or flaws made in the development process of the software. Functional tests were developed to validate each function of the software worked in conformance with the software-specific requirements and specifications. Core Flight Software Test Framework (CTF) provided the capability to develop and run automated tests and verification scripts for the functional testing requirements. Successful execution of functional test scripts confirmed the software requirements worked as intended.
Did you achieve your goals? What were the results and conclusions?
Completion of software tickets, unit tests, and functional tests resulted in the successful achievement of internship goals.
Describe positive lessons learned from this experience:
There were a variety of positive lessons learned during this experience. For starters, I quickly learned that thoroughly understanding one programming language allows for a quick transition period to learning another. During my internship, I primarily programmed in C, which was a language I had hardly used before my time at NASA and I was able to quickly adjust and become confident in my C programming abilities. I also learned the value of taking every opportunity that is offered during an internship period. By willing to learn how NASA’s software testing process works, I was able to excel and gain a further understanding of functional and unit testing. Lastly, I gained further confidence in my programming abilities and technical skills from the guidance of many brilliant minds, including that of my mentor.
Describe negative lessons learned from this experience:
Negative lessons throughout this experience were few and far. The virtual experience posed its own difficulties with different time zones and the rare technology malfunction. However, the internship was able to provide a lot of flexibility with managing school and other activities. Overall, this was the experience of a lifetime and I am extremely grateful!