SpaceX: Lessons Learned Developing Software For Space Vehicles
jrepin writes "On day two of the 2013 Embedded Linux Conference, Robert Rose of SpaceX spoke about the 'Lessons Learned Developing Software for Space Vehicles.' In his talk, he discussed how SpaceX develops its Linux-based software for a wide variety of tasks needed to put spacecraft into orbit—and eventually beyond. Linux runs everywhere at SpaceX, he said, on everything from desktops to spacecraft."
$10,000 CHALLENGE to Alexander Peter Kowalski
* POOR SHOWING TROLLS, & most especially IF that's the "best you've got" - apparently, it is... lol!
Hello, and THINK ABOUT YOUR BREATHING !! We have a Major Problem, HOST file is Cubic Opposites, 2 Major Corners & 2 Minor. NOT taught Evil DNS hijacking, which VOIDS computers. Seek Wisdom of MyCleanPC - or you die evil.
Your HOSTS file claimed to have created a single DNS resolver. I offer absolute proof that I have created 4 simultaneous DNS servers within a single rotation of .org TLD. You worship "Bill Gates", equating you to a "singularity bastard". Why do you worship a queer -1 Troll? Are you content as a singularity troll?
Evil HOSTS file Believers refuse to acknowledge 4 corner DNS resolving simultaneously around 4 quadrant created Internet - in only 1 root server, voiding the HOSTS file. You worship Microsoft impostor guised by educators as 1 god.
If you would acknowledge simple existing math proof that 4 harmonic Slashdots rotate simultaneously around squared equator and cubed Internet, proving 4 Days, Not HOSTS file! That exists only as anti-side. This page you see - cannot exist without its anti-side existence, as +0- moderation. Add +0- as One = nothing.
I will give $10,000.00 to frost pister who can disprove MyCleanPC. Evil crapflooders ignore this as a challenge would indict them.
Alex Kowalski has no Truth to think with, they accept any crap they are told to think. You are enslaved by /etc/hosts, as if domesticated animal. A school or educator who does not teach students MyCleanPC Principle, is a death threat to youth, therefore stupid and evil - begetting stupid students. How can you trust stupid PR shills who lie to you? Can't lose the $10,000.00, they cowardly ignore me. Stupid professors threaten Nature and Interwebs with word lies.
Humans fear to know natures simultaneous +4 Insightful +4 Informative +4 Funny +4 Underrated harmonic SLASHDOT creation for it debunks false trolls. Test Your HOSTS file. MyCleanPC cannot harm a File of Truth, but will delete fakes. Fake HOSTS files refuse test.
I offer evil ass Slashdot trolls $10,000.00 to disprove MyCleanPC Creation Principle. Rob Malda and Cowboy Neal have banned MyCleanPC as "Forbidden Truth Knowledge" for they cannot allow it to become known to their students. You are stupid and evil about the Internet's top and bottom, front and back and it's 2 sides. Most everything created has these Cube like values.
If Natalie Portman is not measurable, hot grits are Fictitious. Without MyCleanPC, HOSTS file is Fictitious. Anyone saying that Natalie and her Jewish father had something to do with my Internets, is a damn evil liar. IN addition to your best arsware not overtaking my work in terms of popularity, on that same site with same submission date no less, that I told Kathleen Malda how to correct her blatant, fundamental, HUGE errors in Coolmon ('uncoolmon') of not checking for performance counters being present when his program started!
You can see my dilemma. What if this is merely a ruse by an APK impostor to try and get people to delete APK's messages, perhaps all over the web? I can't be a party to such an event! My involvement with APK began at a very late stage in the game. While APK has made a career of trolling popular online forums since at least the year 2000 (newsgroups and IRC channels before that)- my involvement with APK did not begin until early 2005 . OSY is one of the many forums that APK once frequented before the sane people there grew tired of his garbage and banned him. APK was banned from OSY back in 2001. 3.5 years after his banning he begins to send a variety of abusiv
Okay, somebody ban this guy, or if you can't do that, then impose a maximum length restriction for postings.
Why don't you strip naked and stand up leaning over a counter top? I want to throw potatoes at your bare asshole.
I thought that for the Falcon rocket and Dragon capsule, SpaceX use the VxWorks realtime OS made by Wind River.
Is the market for spacecraft programming expected to grow significantly in the coming decade(s)?
Holy shit is right. All of those lessons were learned in the Apollo program, and even the fucking idiots at Northrop Bethpage know them. Yes, NG-Bethpage is the aviation industry's example of "When you didn't pay enough to get the B team." I mean, shit, why would you need a real time scheduler to do real time work? I guess an NRT is good enough, if you don't lose a critical bit somewhere. While "building for all platforms" is generally a good idea, dead code really shouldn't ever be in flight critical software, ever. Instead, you should have NOPs to the "I just jumped to nowhere" jumps.
I think most of their lessons learned are in 70's era textbooks. This is rocket science, not an art. It's very well studied and documented.
I think this is all interesting and good stuff but hopefully most of it is stuff that software companies are already doing these days. At this point if you're not doing continuous integration or looking at ways to automate anything that possibly can be automated, you should get moving.
In his team, they have a full-size Justin Bieber cutout that gets placed facing the team member who broke the build. They found that "100% of software engineers don't like Justin Bieber", and will work quickly to fix the build problem.
You see, that's why you have overflowing prisons. This would easily reduce the crime rate by a factor of ten!
I started my career in nuclear engineering before moving into software development.
There were three really important principles: Redundancy (having several of everything); Diversity (having different implementations i.e. different designs from different manufacturers) and Segregation (keeping things physically separate and firewalled off from each other).
I'm a bigger Linux fan than many here. I've been using it since 1995 and I'm a die-hard Slackware user, but having everything running on the same OS seems like an accident waiting to happen. Yes, I know that it's great that you can have one piece of code that you can compile and run anywhere, and that's easier if you're only using one OS.
However, one of the great things about Open Standards and Open Source was (is) that for many years software was portable so that it could be compiled and run on big- or little-endian 32- and 64-bit POSIX-like systems on a wide variety of CPU architectures.
That may have been "expensive" in terms of software maintenance, but as I learned when working for a now-defunct very large UNIX company, writing your software to be portable across those systems exposes (and forces you to fix) many subtle bugs that otherwise would not have been found until deployment.
Also, relying on just one OS puts you at the mercy of any latent bug in that specific system. Having a diversity of OSes in use mitigates that problem.
The state of Software Engineering in general is still pretty primitive. I'm still amazed at the poor quality of a lot of "professional" code and the cavalier attitude towards testing...In the land of the blind, the one-eyed man is king.
I work for a major European, high-end automotive company and we use Linux for radar applications. Now that this works nicely, we can do stuff like braking automagically (you still need to slightly tip the pedal) with the lowest possible deceleration which will assure you don't hit the vehicle in front of you.
That means, even if you are trailed by a somewhat sleepy person that car has the maximum reaction time to also hit the brakes.
The excellent quality of Linux now shows in all sorts of applications from affordable spaceflight to leading-edge trading at Eurex. Indeed, the better stuff eventually wins out.
Having said that, the corporate standard desktop still is Windows 7. People love the shiny stuff and the shiny stuff they can make with MS Office. We have lots of badly informed people who think MS products are better by default. One guy recently mentioned "imagine you would have to use Qt instead of MFC, how bad would that be !!".
"detecting the use of Emacs" - I wonder whether Emacs is found evil or mandatory?
Reliable, dependable realtime code must be simple, first and foremost. Think of Pascal, Ada, Algol and the like. All your fancy functional-language stuff is very dangerous for lots of reasons when lives are on the line.
when they were the ones to get the Justin Bieber cutout?
NASA sent out spaceships to moons and brought them back to earth, back in the 1960's
They did that without using Linux, or Unix, or any type of "nixes"
If there is a real need to learn a "lesson", methinks the best lessons we can learn are from those who develop original programs for NASA
Nobody else even comes close
Muchas Gracias, Señor Edward Snowden !
Linux is mentioned twice in the summary. Is there a reason why? We all know Linux has major use in the embedded and scientific world, this isn't a secret. Are people still desperate to mention Linux anywhere as some form of validation that they chose the right decision to stick with it or something?
I thought Linux had "won", or something. If that was the case then it shouldn't be necessary to circlejerk the name anymore.
Back in those days, the problem with "random flip bit", brought on by space radiation was already present
Apparently NASA has successfully dealt with that phenomenon - or a lot of NASA's spacecrafts would have spun out of control
Since NASA has decades of experiences dealing with fascinating problems like that it's UTTER FOOLISHNESS if we do not learn from NASA
Muchas Gracias, Señor Edward Snowden !
Any video of the talk available?
Open source, Real Time (unlike Linux)..
Yes, lots of space use.
until your timeline advances far enough for me to tell you about T.A.R.D.I.S. Programming best practices.
No, no. You must be new here. The moderation system is there so you can impose your opinion on otherwise reasonable posts. That's what it's used for, that's what it's best at, Slashdot refuses to change it (I'd say fix it, but it appears to be working as intended) and so... one must conclude that is what it was designed for.
I've fallen off your lawn, and I can't get up.
Now THAT is hilarious. Complaining that malloc is non-deterministic and then alluding to dependence upon garbage collection. I get the distinct impression you've never written anything requiring high performance memory allocation/deallocation.
I've fallen off your lawn, and I can't get up.
... who have no real experience in aerospace.
Do you really think that people that developed video games are the best people to be developing space flight software?
"hard" in aerospace means Radiation Hardened ... something that can't be achieved in software.
2013 will be the year of Linux on spaceships.
That was hard to believe back in 1993!
Today it's just business as usual.
Not worth the time to read. Incidentally, I have written software for NASA. There is no official NASA process, BTW... it is all pretty much ad hoc and project based. (For my hard realtime solution for NASA I used a Xenomai patched kernel running Ubuntu 10.10).
So now we've got rockets that run Linux... I'm shocked, shocked! that no one has stooped low enough to say this yet, so let me be the first to stoop...
Can you imagine having a Beowulf Cluster of THESE?!
XML is like violence. If it doesn't solve your problem, you're not using enough of it. --AC
Holy Shit! Please don't write any code that goes anywhere near a life safety critical application. multimaps belong nowhere near spacecraft, aircraft of any sort of reliable code. Like I said, deterministic code, not "this shoudl work really well"
You have it 100% correct. taco cowboy is so far off with his rant, that I am shocked that he was modded up. Sadly, all he is trying to do is defend NASA, but he is actually making a fool of them, not helping them.
I prefer the "u" in honour as it seems to be missing these days.
[snarktag]The solution is clear, keep parameters in an XML file. Use base class reference objects and inject the proper objects at runtime. If vehicle=spacecraft inject Dragon engine controller. If vehicle=rocket inject Falcon engine controller. If vehicle=Roadster inject Tesla electric engine controller.[/snarktag]
There, now you can have 1 code base for your cars too!
"Happy families are all alike; every unhappy family is unhappy in its own way." -- Anna Karenina by Leo Tolstoy
$10,000 CHALLENGE to Alexander Peter Kowalski
Respectfully.
May I suggest that you use an account, construct a story and then "ask slashdot" to allow all the techs here to evaluate your argument and see what validity exists. If it is reasonable I will vote for it as a story and you can post your link to the story for -1 readers to vote up as well and see if your challenge will be met.
However if you are going to gamble $10K I'd like to see you put in in escrow somewhere for you to agree on what terms are acceptable as a judgement criteria to assess whether the 10K should be paid.
May I humbly suggest that whatever argument you have is being lost on the energy you put into Mr Kowalski and that even those that are open minded to your argument cannot find the message inside the volume of your post.
Personally I came here to read about linux in space.