  Satellites and other complex systems now become more and more software
dependent. Even nanosatellites have complexity that can be compared to
scientific instruments launched to Mars. COTS components and subsystems may now
be purchased to support payload development. On the contrary, the software has
to be adapted to the new payload and, consequently, hardware architecture
selected for the satellite. There is not a rigorous and robust way to design
software for CubeSats or small satellites yet. In this paper, we will briefly
review some existing systems and present our approach, which based on
Behaviour-Interaction-Priority (BIP) framework. We will describe our experience
in implementing fight software simulation and testing in the Swiss CubETH
CubeSat project. We will conclude with lessons learned and future utilization
of BIP for hardware testing and simulation.
