Run-Time Self-Optimization Through Dynamic Configuration Space ReductionFull Paper
Modern Cyber-physical Systems must operate in volatile environments, with conditions that are often unpredictable at design time, requiring engineering solutions that are able to learn and optimize their configuration at runtime. However, the dimensions of modern systems, which are often complex and highly interconnected, make self-optimization at runtime a challenging task. In this paper, we propose a novel approach to runtime self-optimization that leverages knowledge-driven design space reduction to enable efficient and formally correct optimization of complex systems. Contrary to naïve re-optimization strategies, which are often prohibitive, or heuristic search methods, which sacrifice optimality, our approach guarantees optimal solutions with heuristics-level runtime performance. Specifically, by storing and reusing proven-optimal configurations and intelligently pruning the design space based on learned knowledge, we are able to significantly reduce the search space, hereby enabling fast re-optimization. Upon changes in the operational domain, the knowledge base is efficiently queried and updated, with regions expansion and merging to maintain compactness. The key idea behind the approach is to use Zonotopes as the underlying representation, which offer a compact and efficient way to represent and manipulate high-dimensional design spaces. We evaluate the approach on a smart-farming drone scenario, comparing against common optimization methods demonstrating that our approach not only preserves optimality, but also improves performance up to ~56x compared to baseline methods with negligible memory and computation overhead.