Slashdot Mirror


Open Source Satellite Control

Debra writes "Have you ever wondered how you harness a satellite control system written in three languages, on four development platforms, and deployed to multiple client environments? With open source, naturally. When one wrong move can cost millions, you must rely on teamwork, smart design, and open standards to keep the project -- if not the satellite -- from going down in flames. This article covers software engineering basics, taking advantage of outside solutions, and scripting multi-million-dollar manuvers."

18 of 86 comments (clear)

  1. Reliability? by delta407 · · Score: 4, Insightful

    Open source software is plenty stable -- when it's mature. But, when "one wrong move can cost you millions", can you afford a kernel oops because someone forgot a \n?

    See, in this case, the nice part about commercial software is that you have someone to blame, and you at least stand a chance in court (IANAL, but it would be under contract law), so you have an opportunity to recoup your losses. In this case, an "oh yeah, fixed in CVS" isn't good enough.

    1. Re:Reliability? by delta407 · · Score: 2
      or you subcontract the task out (which is really just hiring someone to do your job for you, it's not commercial software)
      Right, but you can still blame someone else if everything goes up (down?) in flames.
    2. Re:Reliability? by Quixote · · Score: 2
      See, in this case, the nice part about commercial software is that you have someone to blame, and you at least stand a chance in court (IANAL, but it would be under contract law), so you have an opportunity to recoup your losses.

      When was the last time you heard of NASA suing someone successfully to recoup losses due to contractor/vendor negligence?

    3. Re:Reliability? by jmv · · Score: 2

      See, in this case, the nice part about commercial software is that you have someone to blame, and you at least stand a chance in court...

      If that was true, Microsoft would be bankrupt by now...

  2. Open source everything by spedrosa · · Score: 2

    You know... It's too easy to be famous these days... just start any weird project and put an "Open Source" and "Linux Compatible" or "Microsoft Free" on it.

    You mean... Open Source controlled satelites? What is next? Open Source ARM-Controlled inflatable dolls?

  3. BSOD=Blazing Satellite Of Death by Anonymous Coward · · Score: 5, Funny

    Did I see a Windows screenshot? Fer crissakes, people. If you want a decent satellite ops program, use OASIS. CCSDS compliant, multi-mission, multi-terminal, UN*X-based... None of this Java and Windows namby-pamby ops software. Yeesh.

  4. Open source space tools by Waffle+Iron · · Score: 3, Funny
    I highly recommend the excellent and Free (as in love) GNU metric2imperial library if you are planning something ambitious like a Mars mission. It can really reduce the possiblity of a miscommunication with your subcontractors.

    Example:

    met2imp --len=fathoms --vol=pecks --mass=apothecary_oz < trajectory.ps > new_trajectory.ps
    1. Re:Open source space tools by Anonymous Coward · · Score: 2, Informative

      Waffle Iron is trolling. The imerialmetric problem that NASA had with it's subcontractors wasn't an oh, they meant meters, not yards. Oops...

      The problem was that the measurements drifted average hundres of conversations between two systems. The Free (as in love) GNU metric2imperial application introduces exactly those types of errors.

      The best solution is just to just pick a system so that these conversion errors aren't introduced!

  5. Scripting Wars by moertle · · Score: 2, Funny

    ... I wonder if the developers fought over which scripting language to use for those million-dollar manuevers, PERL or Python?

    --
    I hold a patent on sigs...
  6. NASA, Tcl/Tk and Perl by ghostlibrary · · Score: 5, Interesting

    Actually, NASA satellite ops often uses generalized environments (was it called MOPS?) and mix contractor-produced customerware with in-house software or scripting. Then, use Perl to create stuff after launch that was needed, or to make stuff web-accessible (internal network only, sorry).

    Perl and Tcl/Tk are still popular (Tk for GUIs, Tcl or Perl for scripting).

    It's not GPLed open source but, within NASA, it is open source.

    Many missions are trying to move away from the 'custom designed only-works-for-us' software because it becomes rapidly dated.

    --
    A.
    1. Re:NASA, Tcl/Tk and Perl by BlowCat · · Score: 2
      It's not GPLed open source but, within NASA, it is open source.
      I guess it's JPLed.
    2. Re:NASA, Tcl/Tk and Perl by teridon · · Score: 2

      This is the dumbest comment I've ever read. Did you think a company keeps it's software private among its own people as well?

      NASA is not a company, it is a government agency. Software products developed by a contractor are called "GOTS" or "Government-Off-The-Shelf". Any government agency, (or in this case, NASA spacecraft/mission) can use the software.

      --
      I hold it, that a little rebellion, now and then, is a good thing. -- Thomas Jefferson
  7. You're beggin flamebait partner........ by Dr_Marvin_Monroe · · Score: 2, Insightful

    Nobody EVER gets any money from software vendors in lawsuits, contract or EULA. By spreading that myth, you perpetuate the "stupid consumer" model of software.

    I don't know how you grew up, but I've always been taught "Buyer beware" is the the best model, and the most aware buyer is one who can intelligently check out the product he/she is buying.

    If I was paying somebody for a service, I'd want to at least be able to satisfy my own curiosity about how well it works, at least so that I'll sign off on the check. I would want to know, ESPECIALLY if it was controlling my precious satelite.

    In fact, I'd BET that for commercial satelites, the people funding any launch have teams of outsiders checking the code.

    I could also imagine that at NASA, there is a mixture of vendor written and in-house written.

    But don't fall for the "who ya gonna sue" stupidity......there's nobody, they're already gone.

  8. +1 funny by Kredal · · Score: 2

    That's pretty good. (:

    --
    Whoever stated that signature sizes should be limited to one hundred and twenty characters can just go ahead and kiss my
  9. Let us all pray by jukal · · Score: 2
    "When one wrong move can cost millions, you must rely on teamwork, smart design, and open standards to keep the project -- if not the satellite -- from going down in flames"

    You should consider a career as a preacher.

  10. Pull the other one... by Steve+G+Swine · · Score: 2
    From the article:
    Only last-minute heroism and a remarkably potent design were able to rescue the operators' displays from severe delays.
    Um, if you need your last-minute heroism... it wasn't a remarkably potent design, now was it?
    --
    "Consider yourself a member of a virtual corporation with Mr. Torvalds as your Chief Executive Officer." - Linux Advocac
  11. This says it all. by FreeLinux · · Score: 3, Interesting

    Inadequate JVMs forced migration to Windows NT,

    Not a particularly strong endorsement of open souce now, is it? I'm sure we'll see this used in MS literature describing the stability of MS products. Something like:

    NT/2000/XP - So reliable, that the JPL uses it to control their satellites.

  12. Case Study in Satellite Control by aebrain · · Score: 2

    Some data about FedSat, a Scientific R&D microsatellite that's due for launch on the next H-2A from Tanegashima:

    Firstly, the on-board software is in Ada-95, using the 3.13p version of GNAT as the compiler and RTEMS as the Run-time Kernel. Both Open-Source, and the 'p' in "3.13p" means public, free-as-in-beer. The on-board software was developed mostly by Software Improvements, a bunch of software professionals who are heavily into SLCMs, CMM, etc. And lo, it worketh, on-time, under-budget.

    The ground station is another matter. OASIS was tried, but couldn't do all that was required. In a spectacular case of less-than-wonderful-judgement, VB on Windows was used for development. After a while, they got some software pros to work on that one too, rather than the hack'n'slash electronics engineers. Well, it partially works - enough so that a few months or years after launch, it will do most of what's wanted.

    Moral: if it's important, and has to work first time, every time, do it in Ada and open source, and use the principles described in the parent article. If it's not so important, and can be fixed up afterwards, you're still better off using Ada, though Java's a good second choice. The only reason Ada's so good is that it makes it easy to adhere to good software engineering principles, such as teamwork, smart design, and open standards.

    • Separate Public view and private view -> Interfaces between teams made easier
    • High-level (generics, tasks etc) and low-level (address clauses) features ease design task
    • Standardised - Ada-83 was standardised as Mil-Std-1815A in January 1983 and later as ISO/IEC 8652:1987, Ada-95 as ISO/IEC 8652:1995.Copies of the LRM (Language Reference Manual), style manual etc are all freely available on the web.

    A.Brain, Rocket Scientist

    --
    Zoe Brain - Rocket Scientist