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

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



