I forgot to plug the Iridium Satellite article on Embedded Star yesterday.
Iridium Satellite acquired 66 cross-linked, low-orbit satellites from a bankrupt satellite phone company (also named Iridium) in 2000. However, Iridium Satellite did not receive all of the basic hardware that were used to develop and construct the flight software that operated the satellites. Over time, portions of each satellite became outdated or damaged. The constellation was still working well, but Iridium Satellite needed a cost effective and efficient method to test and debug the flight software before it was uploaded to the satellite system.
So, how do you fix a system that is orbiting 485 miles above you? If you have super/mutant powers like me, you could just fly up there and bring the satellite down. But what if you don’t have any super powers?
In the case of Iridium Satellite, they used Virtutech Simics to debug the system and then uploaded the software to the satellite. Simics allowed Iridium Satellite to modeled the space vehicle multi-processor system for unit testing, eliminating the need for hardware. The company was able to examine how both existing and new flight software operated on the satellite. All code, from application code to real-time operating systems and device drivers, were able to run on Virtutech’s simulation model.