  Two established approaches to engineer adaptive systems are
architecture-based adaptation that uses a Monitor-Analysis-Planning-Executing
(MAPE) loop that reasons over architectural models (aka Knowledge) to make
adaptation decisions, and control-based adaptation that relies on principles of
control theory (CT) to realize adaptation. Recently, we also observe a rapidly
growing interest in applying machine learning (ML) to support different
adaptation mechanisms. While MAPE and CT have particular characteristics and
strengths to be applied independently, in this paper, we are concerned with the
question of how these approaches are related with one another and whether
combining them and supporting them with ML can produce better adaptive systems.
We motivate the combined use of different adaptation approaches using a
scenario of a cloud-based enterprise system and illustrate the analysis when
combining the different approaches. To conclude, we offer a set of open
questions for further research in this interesting area.
