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."

86 comments

  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 Anonymous Coward · · Score: 0

      ... and just what terminal were you tring to send that '\n' to?

      p.s. trollmeister, do you know anyone who sells any satellite control software? didn't think so. You can only get commercial satellite control software if you buy the entire end-to-end package, or you subcontract the task out (which is really just hiring someone to do your job for you, it's not commercial software). Eventually, the buck has to stop somewhere, and if you give a damn, it'll be you. (even if you don't write the code)

    2. 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.
    3. 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?

    4. Re:Reliability? by Anonymous Coward · · Score: 0

      By the looks of things, CMM has already gone down in flames:
      The graphical user interface (GUI) itself was nearly a disaster ...SNIP - SNIP... Only last-minute heroism and a remarkably potent design were able to rescue the operators' displays from severe delays.

      Last time I checked, heroism isn't a part of CMM Level 5. Just a thought... b.j.m.
    5. Re:Reliability? by Anonymous Coward · · Score: 0

      Insightful??? I don't usually complain about the moderation, but this is the most crack-addled score I've seen in a long time.

      The "who do you blame" "problem" has been a bullshit argument for a long time. Not even MS trundles out that old chestnut any more. If you want to blame somebody, hire one of the many large corporations that support open source software.

      BTW, can you name even ONE case where someone actually WON a lawsuit against a software company over a bug? I thought not.

      Get back under the bridge, Mr. Troll.

    6. Re:Reliability? by Anonymous Coward · · Score: 0


      You can only get commercial satellite control software if you buy the entire end-to-end package, or you subcontract the task out


      Integral Systems will be happy to sell its satellite control software to anyone who'll pay money for it.

    7. Re:Reliability? by Stephen+Samuel · · Score: 1
      But, when "one wrong move can cost you millions", can you afford a kernel oops because someone forgot a \n?

      Like Microsoft "We don't know why all Windows boxes are being hacked" has never had one-off and buffer overflow problems?? A proprietary programmer is no more infallible than an OS one. The big difference with OS is that if the software blows up, you don't have to wait on the pleasure of your supplier to get it fixed.

      With Open Source, you can also check the source code yourself and make sure that the really critical stuff isn't missing a \n in a critical place.

      Open source doesn't make software perfect -- It just makes it easier to fix.

      --
      Free Software: Like love, it grows best when given away.
    8. Re:Reliability? by Anonymous Coward · · Score: 0

      i'm sure that u've never read an EULA

    9. Re:Reliability? by inode_buddha · · Score: 1

      May I please snarf a portion of your sig? I just wish I'd thought of saying that...
      (re: ...easier to fix...)

      --
      C|N>K
    10. Re:Reliability? by Anonymous Coward · · Score: 0

      Thanks for the link... I hadn't seen them before (and I used to be in the industry, writing satellite and ground code). It looks like a good toolkit, but despite the number of times that they use the term 'integrated' in thier propganda, it still requires programming. Documentation includes Programmer's references manuals for "stream services", "EDL", and "STOL". Satellites are still just too unique to be serviced with one ground stations solution. Even if you use T&C standards, people use different radios, tracking systems (I made a custom one and interfaced another one), and... above all... different missions requiring vastly different interfaces. We did a simple LEO message repeater... essentially not a lot of software there (it didn't even have an attitide control system!!) and we did a LEO camera (scheduling of passes relative to earth targets, scheduling maximum camera turn rate, rebuilding 1d 'pushbroom' images into 2d, etc.) and we did serval multiple-access repeaters (where there were dozens to thousands of ground terminals - we did the software for those). I still think the only place you'll get fully-integrated packages is from people who sell you the whole package (like the GE big GEO birds).

    11. 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. This is lame...... by Anonymous Coward · · Score: 0
    Bullshit. This has nothing to do with open source. The key is good communications. Whether you use your open source, M$, or some other custom solution is besides the point.

    This is a typical lame "filler" story. Move on.

  3. what if.. by Anonymous Coward · · Score: 0

    what if you had a beowulf cluster of satelites?

    oh, that would be gps! :)

  4. Is it really "Open"? by Anonymous Coward · · Score: 0

    If you take a look at screenshot in Figure 4 of the document, you'll notice that the Open Source Satellite control is running on a closed proprietary operating system owned by Microsoft...

    The start button is insidious.

  5. But what if... by MBCook · · Score: 1, Offtopic
    • ... I want my satalite to go down in flames?
    • ... I want to have to hard reboot it every 10 days even though missions must be planned 6 months in advance?
    • ... I don't WANT other people to be able to use the software. As one of my professors says: "Job security!"
    • ... I planned to write a bunch of these and am now drawing a blank?
    • ... I regret posting this because I'm a karma whore and it gets modded down?
    • ... this post is completely off topic by now?
    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:But what if... by Anonymous Coward · · Score: 0

      congrats. you are a moron.

    2. Re:But what if... by L1nUx+h4x0r · · Score: 0

      What if you had a clue that TC&C software is not running the satellite? What if you realized there was a seperate program running on the satellite that did attitude control, etc?

      --
      The GPL makes software more like your mom. Free and open to all.
  6. Bad advice by Anonymous Coward · · Score: 0

    Guineau epitomizes the control he keeps over platform-specific coding with his slogan, "If you feel the need to call a WIN32 API, come talk to me."

    Don't do it! Its a trap! If you go to his office because you want to program a WIN32 API, there will be two "nice men" in his office waiting for you who will take you to a "better place", where you will be "safe"...

  7. 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?

    1. Re:Open source everything by moonbender · · Score: 1, Redundant

      Woah! Imagine a Beowulf cluster of those!

      --
      Switch back to Slashdot's D1 system.
  8. NASA by joyoflinux · · Score: 0, Offtopic

    Well, we all know who might have trouble converting such things--NASA! ;-)

  9. great idea by SHEENmaster · · Score: 1

    We all know that Windows was "found" in the startwars sattelite system after a "memory protection fault" required astranauts, including Bill G., had to fly to orbit to reboot it.

    What only I know is that Windows crashes for a purpose. That purpose is to sell upgrades. Consumers are conned into believing this "progress". NASA has been conned into thinking that this ISN'T "extortion" or "blackmail".

    --
    You can't judge a book by the way it wears its hair.
    1. Re:great idea by Anonymous Coward · · Score: 0

      after a "memory protection fault" required astranauts, including Bill G., had to fly to orbit to reboot it.

      No, they faked it all on a sound stage. I have a friend who met a guy who had an uncle that knew the proof, but NASA came to visit and he hasn't been seen since!

  10. 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.

  11. I know something... by Anonymous Coward · · Score: 0

    I know how to take over a satellite's control system.. talk about taking security thru obscurity to a whole new level... AND.. if the interfaces are protected, they are very easily overflowable..

  12. 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!

  13. Re:Open source? by Anonymous Coward · · Score: 0

    Really? Man with sound reasoning like that, you've convinced me!

  14. Re:Beowulf Cluster Has Run Its Course by Spruce+Moose · · Score: 0, Offtopic

    I disagree - the running gags only get funnier as time goes on!

  15. 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...
    1. Re:Scripting Wars by Anonymous Coward · · Score: 1, Informative

      Both are in use in different parts of at least one satellite control system I am all too familiar with. Python is doing some telemetry crunching while perl is used extensively for ground control command scripting.

  16. Why not just... by Anonymous Coward · · Score: 1, Funny

    why not just use Windows ME? It'll work.... hehehe, bastards.

    1. Re:Why not just... by Anonymous Coward · · Score: 0

      I'd rather use Windows ME than a dying OS (*BSD) or a butt-pirate's OS (GNU/Linux).

  17. contract? by Unordained · · Score: 0, Redundant

    seems most EULA's basically say it's not their fault if you use the software, and because of this, you screw something up, expensive or not. among other things, software makers, even commercial, can't always account for all possible uses of their software ... if they've missed something (like, say, interfacing with thing X will cause it to crash once in a million times) ... well, you didn't ask for custom software, now did you? with OSS, you can check it yourself ... possibly tweak it yourself, if you know that something else you're interfacing with might be quirky. and that's probably more to their taste than having the ability to take another company to court -after- something goes down ... yeah, satellites should be replaceable, given enough time ... but for, say, launch windows to other planets, you don't get another chance for a -long- time ... money's nice ... but getting it right the first time, and having the ability to fix stuff yourself, and feel confident in your own work, may be worthwhile.

  18. Perl and Mars Probes by QuantumWeasel · · Score: 1, Funny

    Speaking of the benefits of Open Source for high-risk missions, perhaps that Mars probe would have fared better if only management had chosen to use Perl with the freely available Math::Units module!

  19. What about open development? by Netdoctor · · Score: 1

    That article seems to cover usage of open-source software being used by a structured team.

    I think the /. audience has always pulled for is open-structure teams, i.e. a thousand geeks looking at code and output to find flaws.

    I know I for one am geeky enough to sit and stare for hours at sat telemetry and uplink commands for weird anomolies...nothing more exciting.

    Amateur radio sats have been leaning that way, I hope someone gets around to it.

    -Dan N7NMD/9W2DU

  20. Great idea! by gnuDaruma · · Score: 1

    I really believe this is a great idea.

    I would love to see big, important, public projects utilizing open source.

  21. 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 L1nUx+h4x0r · · Score: 0

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

      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?

      By that statement I could say, "It's not GPLed open source, but within Microsoft, Windows is open source."

      Shesh....

      --
      The GPL makes software more like your mom. Free and open to all.
    3. 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
  22. You are 100% right, Klerck! by Anonymous Coward · · Score: 0
    Osama has attacked us by the ground in Tanzania, by the sea in Yemen, and by the air on 9/11/2001.

    The final frontier for bin Laden is space terrorism, and his army of elite Al-Qaeda hackers (like Junis) will read this article on slashdot and exploit open source code to attack us from the stars.

    When will America finally wake up the threat of open source?

    Rock on, Klerck!

    -SexyKellyOsbourne

    1. Re:You are 100% right, Klerck! by Anonymous Coward · · Score: 0

      Moderators!?

  23. 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.

    1. Re:You're beggin flamebait partner........ by Anonymous Coward · · Score: 0

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

      Guess again. I work for Integral Systems (see above post), which makes "satellite ground systems", and our code is closed. People buy it like crazy. In this case, the fact that it is COTS software with a proven track record in the field is enough assurance for our customers, I guess.

      The code is a couple hundred thousand lines long (and few of those lines are comments!); I doubt it would really be practical for an outsider to "check the code".

    2. Re:You're beggin flamebait partner........ by Anonymous Coward · · Score: 0

      Only a few hundred thousand lines of (very?) lightly commented C? I envy you.

      Suffice to say that many programmers in the real world would find understanding that a joy compared to their normal job.

      Just ask anyone who has ever worked with SABRE.

  24. "mission critical" is more than just a buzzword by jasonditz · · Score: 1
    Good thing its a nice buzzword too or IBM wouldn't have bothered with this story in the first place.

    They could've made it a little less obviously a commercial though. Seriously, "Migrate your VisualCafé applications to WebSphere Studio by following this three-part series of articles:"?

  25. Re:HELP!! by Anonymous Coward · · Score: 0

    testing editor moderation.
    editors will be the only "user" to be mod this down.
    stop slashdot censorship!

  26. how about some peer review on the spelling? by tantalus · · Score: 1

    Last time i checked maneuver was spelled maneuver, not manuver.

    I suppose this is how open source should behave... Working our way to an error free slashdot! ;)

  27. +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
  28. Re:Open source? by Anonymous Coward · · Score: 0

    as opposed to the usual meaningless drivel pouring fourth from the mouths of the typical linux advocate like a fountain?

    heaps different when youre on the recieving end of the same thing isnt it?

  29. 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.

  30. Dr. Jiang Mianheng: why don't you block Slashdot? by Anonymous Coward · · Score: 0
  31. Sat manouvers by IAR80 · · Score: 1

    Beeing involved with TT&C I can tell you it is quite hard to loose a satellite once it is in position. Besides having a lot of redundancy and beeing fool proof in case something very wrong happends and he is about to crash into atmoshphere he will manouver itself out and place itself in a high orbit waiting slot. There is a funny storry about Telespazio Italia "loosing" a satellite. It was a scientific satelite. Periodicaly you had do do checks and orbit corections but when the checks were scheduled there was a technical problem and the guys that were supposed to fix it (the shift) were sleeping. As a consequence the satellite did get the telemetry controls at the right time and in 2 hours thought something verry wrong is happening and flew away in a safe position. It took them 4 months to get it back where it was supposed to be and shorten its life a lot doe to fuel consumtions. As for the software it was just about the time because 90% of the comercial and verry expensive software is full of crap.

    --
    http://ebgp.net/ccc/
  32. 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
  33. Open Source personal satellite warez! by wilec · · Score: 1

    I know it's a bit off topic, but not too much so. The only thing that has kept me from buying a DirectPC set is that I would have to buy a new MS XP system to act a a gateway. Talk about security issues. Anyone know if it will run in a XP VM under Linux? Firewall issues? Matti

  34. Re:Reliability - not a problem by Anonymous Coward · · Score: 0

    Keep in mind that this is for the ground control segment, not the onboard software. So what if it crashes? Just reboot it and try again. As long as no incorrect commands are sent to the spacecraft there is no problem.

    Ground control segments are huge systems, and the number of problems in them is correspondingly high. Onboard software is much smaller, much much more mission-critical, and (hopefully) better written.

    I work for a company doing ground control systems (but not really onboard software), so I do know what I am talking about...

  35. How is this open source? by Anonymous Coward · · Score: 0

    Can I download the satellite control system source somewhere? Or did they just use a few open libraries?

  36. 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.

    1. Re:This says it all. by Anonymous Coward · · Score: 0

      Of course, neither JVMs nor Windows NT are actually open source.

      If you have an Open Source JVM, it'd be a "Java (tm) compatible virtual machine"

  37. Amateur balloonists need command and control by Katz_is_a_moron · · Score: 1, Insightful

    It's not just the government funded agencies or commercial satellite companies that use command and control systems. There are many amateur high altitude ballonists that need a way to send commands and receive data from payloads attached to balloons. Here in Colorado, Edge of Space Sciences is a group of enthusiasts that launch and recover high altitude balloons with a variety of payloads. They are always looking for volunteers to help with launch and recovery. There are similar groups thoughout the U.S.

  38. Re:HELP!! by Anonymous Coward · · Score: 0

    Could someone who speaks English elaborate a little on what this is about?

  39. Re:Just wait by Anonymous Coward · · Score: 0

    you got the fp! now you just need to get a life

  40. 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
  41. satellite control for pvr? by Anonymous Coward · · Score: 0

    I was hoping this article would be about open source software to control dish network and directtv satellite receivers for use with PVR software!