  Cyber-Physical Systems (CPSs) such as those found within autonomous vehicles
are increasingly adopting Artificial Neural Network (ANN)-based controllers. To
ensure the safety of these controllers, there is a spate of recent activity to
formally verify the ANN-based designs. There are two challenges with these
approaches: (1) The verification of such systems is difficult and time
consuming. (2) These verified controllers are not able to adapt to frequent
requirements changes, which are typical in situations like autonomous driving.
This raises the question: how can trained and verified controllers, which have
gone through expensive training and verification processes, be re-used to deal
with requirement changes? This paper addresses this challenge for the first
time by proposing a new framework that is capable of dealing with requirement
changes at runtime through a mechanism we term runtime interchange. Our
approach functions via a continual exchange and selection process of multiple
pre-verified controllers. It represents a key step on the way to
component-oriented engineering for intelligent designs, as it preserves the
behaviours of the original controllers while introducing additional
functionality. To demonstrate the efficacy of our approach we utilise an
existing autonomous driving case study as well as a set of smaller benchmarks.
These show that introduced overheads are extremely minimal and that the
approach is very scalable.
