  Advanced systems such as IoT comprise many heterogeneous, interconnected, and
autonomous entities operating in often highly dynamic environments. Due to
their large scale and complexity, large volumes of monitoring data are
generated and need to be stored, retrieved, and mined in a time- and
resource-efficient manner. Architectural self-adaptation automates the control,
orchestration, and operation of such systems. This can only be achieved via
sophisticated decision-making schemes supported by monitoring data that fully
captures the system behavior and its history.
  Employing model-driven engineering techniques we propose a highly scalable,
history-aware approach to store and retrieve monitoring data in form of
enriched runtime models. We take advantage of rule-based adaptation where
change events in the system trigger adaptation rules. We first present a scheme
to incrementally check model queries in the form of temporal logic formulas
which represent the conditions of adaptation rules against a runtime model with
history. Then we enhance the model to retain only information that is
temporally relevant to the queries, therefore reducing the accumulation of
information to a required minimum. Finally, we demonstrate the feasibility and
scalability of our approach via experiments on a simulated smart healthcare
system employing a real-world medical guideline.
