Large-scale space projects rely on a thorough Assembly, Integration, and Verification (AIV) process to provide the upmost reliability to spacecraft. While this has not traditionally been the case with CubeSats, their increasing role in space science and technology has led to new verification approaches, including in educational CubeSats. This work describes the integration and verification approach for ISTSat-1, which is an educational CubeSat from the Instituto Superior Técnico in Portugal that partially discards the typical stage-gate approach to spacecraft development in favor of a more iterative approach, allowing for the system-level verification of unfinished prototypes. Early verification included software functional testing on a flatsat model, thermal vacuum and vibration testing on a battery model, ionizing radiation testing on the on-board computer, and non-ionizing radiation (EMC) testing on all subsystems. The testing of functional prototypes at an early development stage led to uncovering system-level errors that would typically require hardware redesign at a later project stage. The team considers the approach to be useful for educational projects that employ a small, co-located team with low non-recurring engineering costs.
This paper proposes the HPIM-DM (Hard-state Protocol Independent Multicast - Dense Mode) multicast routing protocol. HPIM-DM is a hard-state version of PIM-DM that keeps its main characteristics but has faster convergence and better resilience to replay attacks. Like PIM-DM, HPIM-DM is meant for dense networks and supports its operation on a unicast routing protocol and reverse path forwarding checks. However, routers maintain sense of the multicast trees at all times, allowing fast reconfiguration in the presence of network failures or unicast route changes. This is achieved by (i) keeping information on all upstream neighbors from which multicast data can be received, (ii) ensuring the reliable transmission and sequencing of control messages, and (iii) synchronizing the routing information immediately when a new router joins the network. The protocol was fully implemented in Python, and the implementation is publicly available. Finally, the correctness of the protocol was extensively validated using model checking, logical reasoning and tests performed over the protocol implementation.