JPL Ground Data System
Java telemetry processing for NASA's Jet Propulsion Laboratory — part of the ground data system that flew with the Curiosity Mars rover.
Software Engineer at NASA's Jet Propulsion Laboratory in Pasadena, on the Ground Data System — the software on the Earth end of a spacecraft mission, which takes the telemetry a spacecraft sends home and turns it into something the people running the mission can act on.
The GDS I worked on went on to be used for the Curiosity Mars rover.
The system
The GDS was a set of software components interfaced over JMS, which gave the mission a telemetry processing pipeline that could be reconfigured rather than rewritten as needs changed. I worked within the team adding features and fixing bugs across it.
My own contributions were three:
- The SWT front end for the telemetry testing monitor — the desktop interface used to watch the pipeline behave while it was being exercised.
- A Jython-based test automation toolkit for automated testing of the GDS. Scripting the tests in Jython meant test authors could work against the Java system without writing Java, which mattered because the people who best understood what correct telemetry behavior looked like were not always the people most fluent in the implementation language.
- An AJAX data accountability web application, giving a dynamic view into the telemetry accountability database. Accountability, in this context, is the question of whether every packet the spacecraft sent actually arrived — a question with real operational consequences, and one that had been easier to ask of a database than to see.
That last piece was novel enough at the time that I gave a presentation on using AJAX to build cross-platform dynamic user interfaces inside the browser. In 2007 that was still an argument that had to be made.
A note on this entry
Unlike most of what is written up here, no artifacts from this work survive in my own archives, and none would be appropriate to publish if they did. This account is deliberately kept to the level of detail that has always been on my résumé.
What I took from it was a sense of proportion. Telemetry from another planet arrives on a schedule set by orbital mechanics; there is no retry, and the interface you build is how someone finds out whether it all got here.