Catherine is from Hilo, born and raised, homeschooled until 16 then began attending HCC as a dual-credit enrollment student, transferred to UH at 17. She graduated in Spring of 2024 from University of Hawaii at Hilo with her BS in Computer Science. If she’s able to find a suitable job she’d like to go for her master’s of CS, but doesn’t have much interest in anything further except for teaching purposes. She can usually be found on her computer working on personal projects or playing games. She also dabbles in various types of crafting, making jewelry, water colors, digital art and the like, but a good book will hold her attention for hours.
Home Island: Hawai’i Island
High School: Home Schooled
Institution when accepted: University of Hawaii at Hilo
Project Title: Build Better: Prototyping Maven Build Tools for DKIST Software Systems
Project Site: Daniel K. Inouye Solar Telescope, Maui HI
Mentors: Andrew Ferayorni & Andy Beard
Project Abstract:
The National Solar Observatory Daniel K. Inouye Solar Telescope (DKIST) has a diverse codebase responsible for controlling and monitoring the telescope and its instruments. This codebase is quite large, consisting of ~1.3 million lines of Python, C++ and Java source code. The current Java build system does not allow for modularized output, or easy addition of dependencies. Thus, many hours are needed to perform error prone updates to the build system. The goal of this project is to create a prototype of the Maven build tool for the Java code in this codebase. Maven has grown to be an industry standard due to its regularity and customizability, allowing automated dependency tracking and modular output products. Maven also scales well to larger systems, making it an ideal candidate for DKIST systems. The Maven prototype was built and tested on DKIST Java code. This process used tools such as Ubuntu, git and BitBucket for development, and Confluence and JIRA for project management. The main task of this project was to create the prototype, in the form of a configuration file for a Maven build. This was done by gradually compiling more subsystems at the same time, and adding to the configuration file as errors arise. After this configuration file was shown to be functional, various sections of it were re-examined and reworked to better suit DKIST systems and Maven design principles. After any reworking and time allowing, the main configuration file will be changed to allow for modular output based on subsystems. The next and final step, following verification, will be the resulting prototype’s integration into the DKIST build pipeline.