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."
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.
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
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?
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.
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.
Example:
... 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...
why not just use Windows ME? It'll work.... hehehe, bastards.
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!
That article seems to cover usage of open-source software being used by a structured team.
/. audience has always pulled for is open-structure teams, i.e. a thousand geeks looking at code and output to find flaws.
I think the
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
I really believe this is a great idea.
I would love to see big, important, public projects utilizing open source.
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.
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.
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:"?
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!
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
You should consider a career as a preacher.
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/
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
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
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.
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.
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.
A.Brain, Rocket Scientist
Zoe Brain - Rocket Scientist