Introducing Continuous Experimentation on Resource-Constrained Cyber-Physical Systems
Software is ubiquitous and shapes our world, but at the same time it can be viewed as a plastic resource offering the possibility to be improved even after its deployment to better serve its purpose.
Exploiting this possibility, the Continuous Experimentation practice is gaining momentum on connected software-intensive web-based systems, allowing the product owners to deploy "experiments" on their software systems, i.e., experimental instrumented versions of the software monitoring its performances with respect to a predefined set of target metrics, and to use this data to drive their products' evolution.
Unfortunately the software that runs on physical units is not as easily re-deployed: cyber-physical systems, i.e., systems that interact with the physical world to perform their operations, may be in hard-to-reach places or moving in the environment, making the process difficult or energetically disadvantageous.
Furthermore, such systems are often designed to have just enough hardware resources to perform their duties, having little computational resources left to perform additional tasks, such as performance monitoring.
This thesis explores the possibility to enable the Continuous Experimentation practice for distributed software running on resource-constrained cyber-physical systems on the example of self-driving vehicles, with the long-term goal of providing a way to continuously improve the quality of these systems' performances.
To achieve this, the included studies analyzed, proposed, and designed their contributions in order to provide suitable first steps for the adoption of this practice to the field which is still an open research question.
Firstly, an analysis of the advantages and disadvantages that Continuous Experimentation could bring to the field was carried out.
Then, key architectural characteristics capable to enable Continuous Experimentation on cyber-physical systems were identified.
Successively, a more in-depth study was conducted to analyze how the Continuous Experimentation process could cope with the lack of adequate computational resources.
Lastly, acknowledging the criticality of the software modules' intercommunication protocol, an analysis of the communication patterns highlighted how bandwidth-efficient alternatives can be developed using contextual knowledge.
The main results of this thesis are the key architectural features that allow the adoption of the Continuous Experimentation practice on resource-constrained cyber-physical systems.
Gamma Room, Svea Hus, Campus Lindholmen
Opponent: Prof. Dr. Andreas Vogelsang, Daimler Center for Automotive IT Innovations, Technical University of Berlin, Germany