Monday, November 2, 2015

Why NASA Needs a Programmer Fluent In 60-Year-Old Languages

Why NASA Needs a Programmer Fluent In 60-Year-Old Languages


Larry Zottarelli, the last original Voyager engineer still on the project, is retiring after a long and storied history at JPL. While there are still a few hands around who worked on the original project, now the job of keeping this now-interstellar spacecraft going will fall to someone else. And that someone needs to have some very specific skills.

Yes, it’s going to require coding, but it won’t be in Ruby on Rails or Python. Not C or C++. Go a little further back, to the assembly languages used in early computing. Know Cobol? Can you breeze through Fortran? Remember your Algol? Those fancy new languages from the late 1950s? Then you might be the person for the job.

“It was state of the art in 1975, but that’s basically 40 years old if you want to think of it that way,” Suzanne Dodd, program manager for the Voyager program, said in a phone interview. “Although, some people can program in assembly language and understand the intricacy of the spacecraft, most younger people can’t or really don’t want to.​”

As the new engineer, you have a few tasks ahead of you and about 64 kilobytes of memory to work with. The Voyager twins sport NASA’s earliest on-board computers, a step away from the sequencers used on projects like ISEE-3. A sequencer uses radio or audio tones to turn on an instrument but with an onboard computer, more functions can be automatic, which is especially helpful if your spacecraft is more than 12 billion miles away—17 hours by radio—and only certain antennas work with it. Voyager 2, now moving downward from the ecliptic of the solar system, can only be reached by the Canberra antenna of the Deep Space Network.

The last true software overhaul was in 1990, after the 1989 Neptune encounter and at the beginning of the interstellar mission. “​The flight software was basically completely re-written in order to have a spacecraft that could be nearly autonomous and continue sending back data to us even if we lost communication with it,” Dodd said. “It has a looping routine of activities that it does automatically on board and then we augment that with sequences that we send up every three months.​”

Both spacecrafts are “very healthy for senior citizens” Dodd says and they have enough power left to run for another decade, though beyond that the future is uncertain. To try and prolong their lives, a new engineer would have to help figure out a way to make a sort of “energy audit” from afar, check to see the energy requirements of remaining instruments, and help institute shutdown procedures that make the most of what’s left of the onboard energy.

“​[The original engineers] said, ‘This subsystem takes 3.2 watts of power.’ Well, it really took 3 watts, but they wanted to be conservative when they built the spacecraft,” Dodd says. “Now, we are at the point in the mission where we are trying to get rid of the margins and get the actual numbers.”

That’s when it’s time to turn back to old documents to figure out the logic behind some of the engineering decisions. Dodd says it’s easy to find the engineering decisions, but harder to find the reasoning. This means combing through secondary documents and correspondence hoping to find the solution, trying to get in another engineer’s head.