  The feature interaction problem occurs when two or more independently
developed components interact with each other in unanticipated ways, resulting
in undesirable system behaviors. Feature interaction problems remain a
challenge for emerging domains in cyber-physical systems (CPS), such as the
Internet of Things and autonomous drones. Existing techniques for resolving
feature interactions take a "winner-takes-all" approach, where one out of the
conflicting features is selected as the most desirable one, and the rest are
disabled. However, when multiple of the conflicting features fulfill important
system requirements, being forced to select one of them can result in an
undesirable system outcome. In this paper, we propose a new resolution approach
that allows all of the conflicting features to continue to partially fulfill
their requirements during the resolution process. In particular, our approach
leverages the idea of adaptive requirement weakening, which involves one or
more features temporarily weakening their level of performance in order to
co-exist with the other features in a consistent manner. Given feature
requirements specified in Signal Temporal Logic (STL), we propose an automated
method and a runtime architecture for automatically weakening the requirements
to resolve a conflict. We demonstrate our approach through case studies on
feature interactions in autonomous drones.
