| Bibliography | Janßen, Joris: Design of a device handling interface in Rust for the flight software framework. University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Bachelor Thesis No. 45 (2025). 79 pages, english.
|
| Abstract | The Flight Software Framework (FSFW), developed by the Institute of Space Systems (IRS) at the University of Stuttgart, is a framework for building flight software for small satellites. Originally developed in C++, the FSFW is being rewritten in Rust for the upcoming ROMEO mission to take advantage of Rust’s memory safety guarantees, modern tooling and ecosystem. An important feature of the FSFW is the device handling concept, which allows control of hardware devices using standardized interfaces. This thesis focuses on transferring the device handling concept from the C++ framework to Rust, aiming to improve flexibility and usability for developers. The transformation process is guided by the Horseshoe model for software reengineering. An analysis of device handling in the existing C++ framework is conducted, focussing on the DeviceHandlerBase class. Then a new architecture for device handling is derived based on the analysis of the C++ implementation and developer feedback. A prototype is implemented in Rust using the new architecture while mirroring most of the functionality of the C++ DeviceHandlerBase class. Additionally, a device handler for a demonstrator device is implemented to showcase the prototype’s functionality. The evaluation of the prototype using maintainability metrics shows improvements in code complexity and maintainability compared to the original C++ implementation. The prototype is also ready for use in an embedded environment with minimal changes. With the new modular architecture, a basis is set for a more flexible and extensible device handling as part of the FSFW.
|
Full text and other links | Volltext
|
| Department(s) | University of Stuttgart, Institute of Software Technology, Software Quality and Architecture
|
| Superviser(s) | Becker, Prof. Steffen; Klinkner, Prof. Sabine; Nehlich, Paul |
| Entry date | October 22, 2025 |
|---|