Adaptive Monitoring for Safe DevOps
Context
In order to cope with the accelerated development of software for vehicles, research is currently being conducted into the use of so-called DevOps methods. DevOps combines development (Dev) with operation (Ops) in a closed loop in order to continuously deliver, update and improve software. A fundamental step in the "Ops" part of this approach is the monitoring of the operated systems. Automated vehicles produce a vast amount of data due to the multitude of sensors and software components. However, it does not make sense to continuously collect all of this data, as it only contains relevant information at certain points in time. What is relevant here is a situation that needs to be improved in a next "dev" cycle, e.g., incorrect classification of certain objects by a machine learning-based system. Monitoring must therefore be designed adaptively, and only collect data and store it in the cloud when the situation is deemed relevant. At ITIV, we are researching software systems based on ROS2 (Robot Operating System 2) for this purpose.
In this work, an existing monitoring software is to be extended to adaptively collect vehicle data. The goal is to cache and forward relevant data as soon as a relevant situation occurs. The buffer shall be implemented as a ring buffer and integrated as a plugin into the monitoring software syslog-ng. Furthermore, a ROS2 interface shall be developed to signal the relevance of a situation.
Goals
- Implementation of a ringbuffer as plugin for syslog-ng
- Conception and implementation of a ROS2-based interface to adapt the monitoring to the relevance of the current situation of the vehicle
- Test and documentation of the developed components
Requirements
- Interest in DevOps
- Solid programming skills (Python)
- Reliable and independent way of working