All work

NASA Marshall Space Flight Center · 2026

Artemis Flight Software Tooling

I implemented C++ simulation fixes and Python verification tools for the real-time Linux SLS hardware-in-the-loop environment.

Expanded technical stack

  • C++
  • Python
  • Linux
  • Real-time systems
  • Hardware-in-the-loop
  • Flight software
  • Verification & validation
  • Unit / integration testing
  • Endianness
  • Checksum validation
  • MIL-STD-1553B
  • MIL-STD-1750A
  • Sherlock
  • Mission simulation
  • Quaternion analysis
NASA Space Launch System rocket lifting off from the launch pad
Artemis II launch

Overview

NASA's ARTEMIS Space Launch System simulation environment reproduces mission behavior before flight. I addressed a cross-endian mismatch that prevented parameter checksum validation and built repeatable analysis for simulation data after flight-software changes.

My contribution

I reconstructed a byte-swapped auxiliary parameter structure from generated metadata before hashing, restoring checksum comparison without corrupting live flight-software data. I also built Sherlock analysis modules for MIL-STD-1553B and MIL-STD-1750A validity, launch sequencing, attitude hold, generated-file verification, and caution, warning, and abort behavior.

Challenge

The emulated ground and flight computers used different byte orders, so hashes over raw parameter bytes disagreed even when an I-Load was transmitted and applied correctly. I needed to restore the comparison without changing the parameter values used by flight software.

Technical approach

I implemented the C++ fix inside the real-time Linux SLS HIL environment, then developed Python modules that query simulation data and validate bus formats, launch-command acknowledgement and timing, planned windows, separation events, and quaternion-based attitude drift.

Result / outcome

By correcting the cross-endian checksum failure in the operational ARTEMIS simulation, I restored the ability to compare transmitted I-Load checksums and distinguish a data-transmission problem from other unexpected system behavior. The fix completed the relevant regression and testing process before integration, restoring a validation and fault-isolation capability within NASA's real-time SLS HIL environment. I also developed Sherlock modules that automatically query simulation data and check MIL-STD-1553B and MIL-STD-1750A validity, launch acknowledgement and sequencing, launch-mode timing and planned windows, separation events, quaternion-based attitude drift, autogenerated-file versions, and caution, warning, and abort behavior. Together, these capabilities support the repeatable preflight verification and fault isolation NASA uses to reduce mission risk before SLS flight software is placed on the launch vehicle; more than 100 unit and integration tests provide supporting verification rigor.

Gallery / media

Selected artifacts

Rocket ascending against a clear blue sky
Artemis II launch
Standing at a NASA podium
At a NASA podium
Marshall interns gathered with Crew-11 astronauts for a group photograph
Marshall intern cohort with Crew-11 astronauts
Standing with two Crew-11 astronauts at a NASA event
With Crew-11 astronauts Zena Cardman and Kimiya Yui at a NASA event