  Miniaturized satellites are currently not considered suitable for critical,
high-priority, and complex multi-phased missions, due to their low reliability.
As hardware-side fault tolerance (FT) solutions designed for larger spacecraft
can not be adopted aboard very small satellites due to budget, energy, and size
constraints, we developed a hybrid FT-approach based upon only COTS components,
commodity processor cores, library IP, and standard software. This approach
facilitates fault detection, isolation, and recovery in software, and utilizes
fault-coverage techniques across the embedded stack within an multiprocessor
system-on-chip (MPSoC). This allows our FPGA-based proof-of-concept
implementation to deliver strong fault-coverage even for missions with a long
duration, but also to adapt to varying performance requirements during the
mission. The operator of a spacecraft utilizing this approach can define
performance profiles, which allow an on-board computer (OBC) to trade between
processing capacity, fault coverage, and energy consumption using simple
heuristics. The software-side FT approach developed also offers advantages if
deployed aboard larger spacecraft through spare resource pooling, enabling an
OBC to more efficiently handle permanent faults. This FT approach in part
mimics a critical biological systems's way of tolerating and adjusting to
failures, enabling graceful ageing of an MPSoC.
