Live data from Hacker News

What computer and software is used by the Falcon 9? (2015)

space.stackexchange.com

81–90 of 160 posts

Re: What computer and software is used by the Falcon 9? (2015)

#81
Fascinating. The increased complexity in the flight control software and user interface probably makes the job of being an astronaut easier in the “happy path” - less cognitive load interpreting metrics and raw telemetry when you have the computer doing that for you.

My wonder then is how to effectively manage when things go wrong. The Apollo spacecraft were able to be essentially hot patched directly in the cockpit via the dsky. Can you do that with a fancy touch screen interface now? Perhaps up/down links to the capsule from earth are good/reliable enough to send patches from ground control, if need be? I wonder how the astronauts feel about a potential “loss” of control in case something goes wrong?

Re: What computer and software is used by the Falcon 9? (2015)

#83
post #72
post #53

Earlier quoted context omitted.

On the ground side, yes, there are many databases for different purposes. But not on the actual flight software.

Very curious, how is state persisted where non-volatile storage is needed, and how is that persistence structured?

It is never persisted outside of RAM. The flight computers are never powered off during a mission. You rely on two flight computers to always be functioning, that’s why the system is one-fault redundant.

You can think as each string being “functional“: given the same set of inputs you expect the same set of outputs.

Re: What computer and software is used by the Falcon 9? (2015)

#84

I’ve read a bit about how strict the space shuttle coders were. I wonder what they think about the code running this spacecraft. https://www.fastcompany.com/28121/they-write-right-stuff https://history.nasa.gov/computers/Ch4-5.html https://www.nasa.gov/mission_pages/shuttle/flyout/flyfeature...

COTS software is nowhere near what I'd call "spaceworthy". They either determined the UI was not life-critical or ignored that fact.

Re: What computer and software is used by the Falcon 9? (2015)

#85
post #8

Interesting that it’s three identical processors running he same software. I remember just the automated Vienna central train station used a pair of machines, x86 and SPARC, one running the logic in a procedural language (Chill) and the other running in a logic language (Prolog). They didn’t want both processors to share any code, and therefore potentially the same bug.

That hasn't been the case in Vienna for some years, so you must have seen that setup a decade or so, ago. These days its THALES-built systems running SIL-4 rated code in a best 2-of-3 or 3-of-5 voting system, and each of the nodes can be either PPC, Arm or x86 - but not all the same, for architecture reasons. These systems produce a vote that has to match, or else the system shuts itself down. Chill and Prolog haven'…

Yeah, I was involved in the Alcatel system in the 90s.

Still, the basic point is interesting: the Thales system also uses a separation of architecture.

Re: What computer and software is used by the Falcon 9? (2015)

#86
post #8

Interesting that it’s three identical processors running he same software. I remember just the automated Vienna central train station used a pair of machines, x86 and SPARC, one running the logic in a procedural language (Chill) and the other running in a logic language (Prolog). They didn’t want both processors to share any code, and therefore potentially the same bug.

> They didn’t want both processors to share any code, and therefore potentially the same bug. They're not worried about bugs, they're worried about electromagnetic radiation (which is way more present when you get outside the atmosphere) flipping bits.

> They're not worried about bugs, they're worried about electromagnetic radiation

I'm aware of that; I commented because I'm surprised by it.

I'm sure the issue was discussed so I'm not implying that they are idiots. But it does seem odd to me.

Re: What computer and software is used by the Falcon 9? (2015)

#87
post #36

Earlier quoted context omitted.

In this case, C++ code is written in a different style than regular applications: exceptions are not allowed, allocations are not allowed past a certain point in program initialization, raw pointers are frowned upon, etc. This is common in this type of software and when you pair it with the right development culture it really makes a difference in the robustness of the result.

Any idea if there's a database layer (eg SQLite, PG, etc) on the systems?

None if possible. In the safety critical parts you want to use software that

- don't do dynamic any memory allocation, has bounded memory usage, never runs out of memory.

- has bounded execution times

- has low interrupt latency

- can do checksum on data and internal state an option. (if need to load into memory)

- is tested using the most rigorous standards, 100% verification and code coverage.

If you write great relatively general but customizable database system like this with good indexing, you need only 5-10 customers and you are set. Safety-critical systems are growing in size and there is real need for software that can get easily certified.

SQLite could probably get certified as a part a system at least as read only database. It's relatively solid code. But it will cost big money and I don't think anyone has done it.

Re: What computer and software is used by the Falcon 9? (2015)

#88
post #8

Interesting that it’s three identical processors running he same software. I remember just the automated Vienna central train station used a pair of machines, x86 and SPARC, one running the logic in a procedural language (Chill) and the other running in a logic language (Prolog). They didn’t want both processors to share any code, and therefore potentially the same bug.

This is exactly how the Airbus fly-by-wire system works as well. Two software stacks running on two separate hardware configs get bundled together in a single box. Then they take three of those systems and feed them from different redundant sensors together with pilot input and have the system vote on the output. If one computer returns a different result than the other two, it’s assumed to be faulty (or fed by faulty sensors) and no longer considered for input. On top of that there are actually separate redundant computer systems that run different parts of the plane with some overlap in case one system completely fails.

Re: What computer and software is used by the Falcon 9? (2015)

#90
The Flight Software team is about 35 people. We write all the code for Falcon 9, Grasshopper, and Dragon applications; and do the core platform work, also on those vehicles; we also write simulation software; test the flight code; write the communications and analysis software, deployed in our ground stations. We also work in Mission Control to support active missions.
Post reply on HN