Programming for 35+ years in production
As the news about Voyager 1 leaving solar system passed around me, it got me thinking. This “stuff” is flying for 35+ years. It’s more or less 35+ years in production. How do you design and develop for that?
I know you might think: “Come on, it’s 35 years old. There’s little computers there.". You might be correct, I’m not expert in these things, not particularly interested per se. But it doesn’t matter. Today we’re creating similar spacecrafts that will be flying for probably another decades. You’re not agile here. You can’t stop the session and restart with new system. Sure there’s probably fully automated robotic arm that will press the Reset
button whenever it’s stuck. 😃
Some spacecrafts around Earth, couple thousand kilometers, sure challenge too. But you can eventually send another device there and fix something. Probably very costly (hopefully less costly than leaving couple of millions box flying unused around Earth 😉), but you can. It’s not going to be instantaneous fix and these devices has probably a lot of fail-safe modes to continue working even under very limited conditions, but having something from which just the signal takes 17 hours (as of 2013) to travel here that’s another level. (At least for me. I never programmed something like that nor even read about how it’s done.) Fail-safe mode for fail-safe? And the “compatibility”… After 35 years and the systems here are still running. These are likely easier to maintain and fix 😉, but still.
For me that’s pretty amazing. Well done!