SLS software over budget and behind schedule

Please consider donating to Behind the Black, by giving either a one-time contribution or a regular subscription, as outlined in the tip jar to the right. Your support will allow me to continue covering science and culture as I have for the past twenty years, independent and free from any outside influence.

Surprise! The launch control software NASA is writing from scratch for its SLS rocket is way behind schedule and way over budget.

Development of this new launch control software is now projected to exceed $207 million, 77 percent above 2012 projections. The software won’t be ready until fall 2017, instead of this summer as planned, and important capabilities like automatic failure detection, are being deferred, the audit noted. The system is vital, needed to control pumps, motors, valves and other ground equipment during countdowns and launches, and to monitor data before and during liftoff.

NASA decided to write its own computer code to “glue together” existing software products a decade ago — while space shuttles still were flying and commercial shippers had yet to service the space station. Both delivery companies, SpaceX and Orbital ATK, rely on commercial software, the audit noted. [emphasis mine]

In other words, even though NASA could have simply purchased already available software that other launch companies were using successfully, the agency decided to write its own. And that decision really didn’t come before the arrival of these commercial companies, because when it was made a decade ago that was exactly the time that SpaceX was beginning to build its rocket.

This is simply more proof that SLS is nothing more than a pork-laden waste of money designed not to explore space but to generate non-productive jobs in congressional districts.


  • mpthompson

    There must be two major software systems — the software that controls the rocket itself (presumably running on the rocket itself) and the software that monitors the rocket remotely. Given the size of the market is so small, is off-the-shelf commercial software even available that would fulfill either role? Or, can software designed for other aerospace uses be readily adapted to providing control and monitoring of a system as the SLS? Perhaps someone with knowledge of this aspect of space system design can provide some background on what parts readily available and what parts are usually hand rolled for a specific launch system. The article is very vague about this.

  • Dick Eagleson

    Speculation on my part, but I suspect that SpaceX, Orbital-ATK, Blue Origin and other launch providers probably use a customized code skeleton for their ground support software that is then fleshed out with “canned” software modules that are available from the manufacturers of the electromechanical components used in constructing the ground support hardware.

    Things like electrically operated valves typically incorporate on-board microcontrollers to handle the low-level control functions with some kind of higher-level command language defined that allows the developers of customized systems to use those components by issuing commands like “Linear open to 30% of maximum flow over an interval of 1.5 seconds” or some such.

    This would all be somewhat analogous to the G-code language used to program CNC machine tools. CNC programs tell machines what path the cutter should follow based on straight lines and circular sections, and at what speed, but allows the machine’s control software to translate these “do what” commands into “do how” commands that actually drive the motors.

    Automated valve control, to cite just the example used here, is, as a generic function, needed in innumerable places in the chemical, food, beverage, cosmetics, pharmaceutical and many other industries. The infrastructure of a launch facility is just another industrial plant as far as basic functionalities are concerned.

    I suspect SpaceX and most everyone else in the launch business uses existing code libraries whererever possible to both minimize development costs and to benefit from the considerable free debugging already done on canned code as the result of the experiences of prior users.

    If NASA is developing their ground support software by also using canned code wherever possible as appendages to a custom-coded backbone system, then their overruns and schedule slippages simply reflect a lamentable lack of competence in the software development process. The U.S. government, regrettably, has a long and noisome history of bungling big software development projects ( anyone?). This would just be one more such sad, but typical, story.

    If, on the other hand, NASA is really attempting to write all the code in their ground support system from scratch – even down to the microcontroller level – that’s just nuts. It could probably be demonstrated in court to be a matter of actual malfeasance even if it isn’t, technically, corrupt.

  • Local Fluff

    A shuttle derived launch vehicle sounds (must’ve sounded) like a great idea. Most technology is already developed and well proven, it should happen sooner, cheaper and safer than starting from scratch. But hey, everything seems to require redevelopment for SLS! From engines to transportation and ground systems and manufacturing equipment and even buildings. And then maybe the legacy from the shuttle becomes a problem rather than a benefit. I suppose the shuttle flight control software has a legacy spanning almost 40 years. I can imagine that replacing it with contemporary software is even harder than starting from scratch. They do use many sub-systems from the shuttle, they cannot truly start from scratch.

    When starting from scratch one can design stuff from the beginning for modern software architecture, modern electronics and sensors, modern materials, modern manufacturing methods like 3D-printing. Making everything that follows, during some years, easy. Upgrading the old only works up to a limit. I think that the space shuttle is too old to build directly upon.

Leave a Reply

Your email address will not be published. Required fields are marked *