Would you develop a satellite application the same way you develop a «classic» application ?
Of course not!
When developing an application embedded in a satellite, a software engineer has to deal with many additional constraints:
1. The software platform is constrained by so many factors (energy consumption, temperature, scarce computational power and memory size, etc) that general purpose methodologies are not always applicable.
2. Computation time and duration must be highly predictable in order to satisfy the complex orchestration of actions performed by the satellite.
3. As failures may lead to loss of mission, catastrophic damages or loss of lives, the quality of the software drives the development process
In order to support these constraints, the European Space Agency
(ESA) has initiated an investigation for the realization of a software reference architecture (SRA) for on-board software. Based on solid scientific foundations and industrial feedback, the SRA aims at providing a common framework which can be reused for multiple missions in the space domain.
Marco Panunzio at the University of Padova
(Italy) contributed to the investigation on the SRA during is PhD and later his post-doc. In his work, he defined the key principles, formulated a component model compliant with these principles, and developed a graphical modeling tool based on Eclipse and Obeo Designer
for the development of on-board software compliant with the SRA.