Software is making it easier than ever to travel through space, but autonomous technologies could backfire if every glitch and error isn’t removed.
When SpaceX’s Crew Dragon took NASA astronauts to the ISS near the end of May, the launch brought back a familiar sight. For the first time since the space shuttle was retired, American rockets were launching from American soil to take Americans into space.
Inside the vehicle, however, things couldn’t have looked more different. Gone was the sprawling dashboard of lights and switches and knobs that once dominated the space shuttle’s interior. All of it was replaced with a futuristic console of multiple large touch screens that cycle through a variety of displays. Behind those screens, the vehicle is run by software that’s designed to get into space and navigate to the space station completely autonomously.
[...] But over-relying on software and autonomous systems in spaceflight creates new opportunities for problems to arise. That’s especially a concern for many of the space industry’s new contenders, who aren’t necessarily used to the kind of aggressive and comprehensive testing needed to weed out problems in software and are still trying to strike a good balance between automation and manual control.
Nowadays, a few errors in over one million lines of code could spell the difference between mission success and mission failure. We saw that late last year, when Boeing’s Starliner capsule (the other vehicle NASA is counting on to send American astronauts into space) failed to make it to the ISS because of a glitch in its internal timer.
[...] There’s no consensus on how much further the human role in spaceflight will—or should—shrink. Uitenbroek thinks trying to develop software that can account for every possible contingency is simply impractical, especially when you have deadlines to make.
Chang Díaz disagrees, saying the world is shifting “to a point where eventually the human is going to be taken out of the equation.”
Which approach wins out may depend on the level of success achieved by the different parties sending people into space. NASA has no intention of taking humans out of the equation, but if commercial companies find they have an easier time minimising the human pilot’s role and letting the AI take charge, than[sic] touch screens and pilot-less flight to the ISS are only a taste of what’s to come.
Which approach, do you think, is the best way to go forward ??
(Score: 2, Insightful) by khallow on Saturday July 04 2020, @02:59PM (9 children)
The space industry seems much more suited to the concept actually. Especially on the manned side, a lot of quality engineering has come from this. Reality keeps space engineering more honest because nobody will die if your website is crap.
(Score: 2) by ilsa on Friday July 10 2020, @05:56PM (8 children)
Not yet, but the way software is becoming more and more SAAS oriented, that can easily change.
Also, Boeing has done a fantastic job of demonstrating to the world that people dying is an acceptable risk when cutting corners in your engineering.
(Score: 1) by khallow on Saturday July 11 2020, @06:34AM (7 children)
"Move Fast and Break Things" != "Cutting Corners".
(Score: 2) by ilsa on Friday July 17 2020, @07:24PM (6 children)
> "Move Fast and Break Things" == "Cutting Corners".
Corrected your typo. It is a fundamental attitude shift in software development that, at an absolute minimum, implies prioritizing developer velocity above and beyond all other factors including good user experience and reliability or even other developers. It de-emphasizes actually thinking about what you're trying to accomplish and how it relates to other systems. It doesn't matter how badly users and systems down the line are inconvenienced or outright disrupted. Making half-assed, breaking changes is now acceptable and users just have to live with it.
Since this model has become popular, software quality has taken a massive nosedive. Maintenance has skyrocketed because both developers and end users having to continually maintain constantly changing software subcomponents. Either that, or they give up entirely and stop trying to upgrade, even at the cost of security and reliability, because the effort is too great. Everything spanning from Facebook to Windows 10 to Ansible to Boeing, is objectively worse than software that preceded them.
Move Fast and Break Things is the poster child for the rampant irresponsibility that has engulfed the computer industry and all related industries. It has cost us god knows how much money in damage, and even human lives.
(Score: 1) by khallow on Saturday July 18 2020, @11:58AM (2 children)
And my point all along is that you are wrong here. Software development is not rocketry development. The latter can't get away with a shoddy user experience and poor reliability - because people die and things blow up when they try that.
Contrary to your assertions, the people "moving fast and breaking things" in the aerospace world have been making more reliable vehicles than the people who didn't.
(Score: 2) by ilsa on Monday July 20 2020, @03:34PM (1 child)
> because people die and things blow up when they try that.
You mean like the Boeing 737 Max, which _has_ killed people, and Boeing continues to not give two shits about?
(Score: 1) by khallow on Tuesday July 21 2020, @01:34AM
They might not given two shits about that, but they will give plenty of shits about 400 [go.com] undelivered planes.
(Score: 1) by khallow on Sunday July 19 2020, @12:54PM (2 children)
(Score: 2) by ilsa on Monday July 20 2020, @04:38PM (1 child)
> at least has to deliver a product that works well enough that it doesn't break often for the launch tempo they have
And here is where I think _you_ are "wrong". I don't give a rats ass about their launch tempo. I care about having a product that works, and works reliably. Todays software, isn't. Even if some long running software has a bug or aberrant behaviour that lasts for years, as long as it's predictable it can be mitigated against.
But when the software changes at an absurdly rapid pace with zero QA, that all goes out the window. You are literally walking on eggshells, constantly. There is no way to mitigate. There is no defence. You can't trust anything. Even if the software isn't actually broken, your workload has increased exponentially due to constant retooling. You have to retrain people. You have to redesign entire processes from scratch. This is not a sane way to do anything.
You can tell me I'm wrong till you're blue in the face but that won't change reality. How well would math work if tomorrow 1+1 no longer added up to 2? That is literally the way software works now.
Have you ever used Ansible? They will make breaking changes to the fundamental grammar of the system on a regular basis, which may require you to completely rewrite your playbooks. It is so dangerously unstable that people have written entire toolkits just to manage that instability.
Windows 10 Anniversary edition trashed god knows how many computers, and Microsoft continues to destroy computers to this very day with their shitty updates.
My favourite example is Angular, where the idiot that designed the original version didn't like it anymore and completely redesigned it, completely wiping out all the effort god knows how many people spent learning the original version.
I can cite a near endless list of examples of just how god-awful software has become, most of it revolving around endless sloppy changes that makes it feel less like you're using software and more like you're trying to survive another drunken episode with an abusive boyfriend. It's _exhausting_.
Why do you think Apple is doing so damn amazing despite their exorbitant pricing, their obnoxious "do it our way" attitude and their constant missteps with their hardware? It's because Apple's overall UX is overwhelmingly better than anyone else. It's consistent and relatively reliable. Contrast that with Google and their inability to launch _any_ new products at all because nobody trusts them.
(Score: 1) by khallow on Tuesday July 21 2020, @01:45AM
It's not just exhausting, it's completely irrelevant. SpaceX's control software, for example, has no compare in the orbital launch market both in capability and reliability.