|
|
|
|
|
by firebacon
2870 days ago
|
|
The part that I find the most intriguing is "corrections can be made on the fly". I can see how you would ensure reliability through proper requirements specification, a good software development process, separate independent implementations and extensive verification. However, every time I read a popsci article about space flight software, they talk about this capability to push new code to the spacecraft while it is in flight. I'm really curious to learn what this looks like in practice (technical details). Do they really have the ability to do an "ad-hoc" upload and execution of arbitrary code on these systems? If so, how are the ad-hoc programs tested and verified? |
|
My understanding is that some spacecraft launch with beta/alpha equivalent software. Correct me if I'm wrong, but I believe that the rovers do this, with simple software installed first, then more complicated versions installed once they know everything is working.
It's somewhat similar to updating your iphone, but instead you use a huge dish to do the transmission and the bitrate is pretty horrendous.
I'm going to need a definition of "ad-hoc" here; no-one "deploys straight to production" on a spacecraft. Any patches have to be thoroughly tested on simulators and models of the spacecraft on earth before they are transmitted.