Satellite real-time systems impose constraints on execution memory, processing power and storage space, among others. These constraints and the concern in reducing code complexity have led the Brazilian National Institute for Space Research (INPE, in the Portuguese acronym) to use low-level languages and structured programming to build custom onboard software developed from scratch for each new mission. But this is a costly and laborious approach. To improve maintainability, portability and reusability of onboard software and hence reduce development costs, INPE's Onboard Data Handling Group (SUBORD) is working on an object-oriented onboard software architecture. But object orientation (OO), by itself, does not guarantee the software reuse across missions. In order to improve reusability, SUBORD has been following as reference the ECSS Packet Utilization Standard (PUS), which describes a set of onboard services common to different missions, defined based on previous experience of many space agencies. This paper describes the lessons learned with this architecture, the benefits of using open source off-the-shelf real time operating system and development tools, the studies made concerning the applicability of OO to onboard satellite systems and our implementation of PUS services.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.