FedSat
From RTEMSWiki
This information is taken from a post by A E Brain in the thread http://developers.slashdot.org/article.pl?sid02/09/06/2110209&tid156 and reworked for the Wiki. Information on the project is fairly easy to find on the web with these obvious links in Google:
- http://www.crcss.csiro.au/fedsat/FedSatsBirthday.htm
- http://www.auspace.com.au/projects/fedsat.htm
- http://www.abc.net.au/science/news/stories/s793520.htm
The first link is of partiucular interest since it is a birthday page with project milestones.
FedSat is a Scientific R&D microsatellite that launched in 2002 on a H-2A from Tanegashima.
Firstly, the on-board software is in Ada95, using the GNAT 3.13p 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 was 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 good software principles. 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.
