\(\textsf{CUBEX}\) : A CubeSat Exemplar for Teaching Software Architecture Principles
摘要
Teaching software architecture effectively requires bridging the gap between theoretical concepts and practical application, particularly in complex domains like software for aerospace systems. This paper presents \(\textsf{CUBEX}\) , an exemplar developed for teaching software architecture to master’s level university students. The project utilizes the JPL’s F \( ^{\prime }\) flight software framework within the context of a simulated CubeSat mission focused on orientation monitoring. Students are tasked with developing key flight software components, specifically an Inertial Measurement Unit driver and a Payload processing component, adhering to specified mission requirements. Through this process, students gain practical experience with core software architecture principles, including component-based design, interface definition, telemetry and event handling, and system integration. We detail the project’s technical foundations, pedagogical structure, and its value as a readily available, reusable educational artifact designed to facilitate teaching of contemporary software architecture principles. Artifact: software.aerospace.uoa.gr/cubex Video: software.aerospace.uoa.gr/cubex/overview.mp4