  We propose a monitoring mechanism for recording the evolution of systems
after certain computations, maintaining the history in a tree-like structure.
Technically, we develop the monitoring mechanism in a variant of ADR (after
Architectural Design Rewriting), a rule-based formal framework for modelling
the evolution of architectures of systems.
  The hierarchical nature of ADR allows us to take full advantage of the
tree-like structure of the monitoring mechanism. We exploit this mechanism to
formally define new rewriting mechanisms for ADR reconfiguration rules. Also,
by monitoring the evolution we propose a way of identifying which part of a
system has been affected when unexpected run-time behaviours emerge. Moreover,
we propose a methodology to suggest reconfigurations that could potentially
lead the system in a non-erroneous state.
