Monitoring Unmanned Aircraft: Specification, Integration, and Lessons-learned
<|reference_start|>Monitoring Unmanned Aircraft: Specification, Integration, and Lessons-learned: This paper reports on the integration of runtime monitoring into fully-electric aircraft designed by Volocopter, a German aircraft manufacturer of electric multi-rotor helicopters. The runtime monitor recognizes hazardous situations and system faults. Since the correct operation of the monitor is critical for the safety of the aircraft, the development of the monitor must follow strict aeronautical standards. This includes the integration of the monitor into different development environments, such as log-file analysis, hardware/software-in-the-loop testing, and test flights. We have used the stream-based monitoring framework RTLola to generate monitors for a range of requirements. In this paper, we present representative monitoring specifications and our lessons learned from integrating the generated monitors. Our main finding is that the specification and the integration need to be decoupled, because the specification remains stable throughout the development process, whereas the different development stages require a separate integration of the monitor into each environment. We achieve this decoupling with a novel abstraction layer in the monitoring framework that adapts the monitor to each environment without affecting the core component generated from the specification. The decoupling of the integration has also allowed us to react quickly to the frequent changes in the hardware and software environment of the monitor due to the fast-paced development of the aircraft in a startup company.<|reference_end|>
@article{baumeister2024monitoring,
    title={Monitoring Unmanned Aircraft: Specification, Integration, and
  Lessons-learned},
    author={Jan Baumeister, Bernd Finkbeiner, Florian Kohn, Florian L"ohr, Guido
  Manfredi, Sebastian Schirmer, Christoph Torens},
    journal={arXiv preprint arXiv:2404.12035},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.12035},
    primaryClass={cs.SE cs.LO}
}