  In this work a general framework is proposed to support the development of
software systems that are able to adapt their behaviour according to the
operating environment changes. The proposed approach, named REPTILE, works in a
complete proactive manner and relies on Deep Reinforcement Learning-based
agents to react to events, referred as novelties, that can affect the expected
behaviour of the system. In our framework, two types of novelties are taken
into account: those related to the context/environment and those related to the
physical architecture itself. The framework, predicting those novelties before
their occurrence, extracts time-changing models of the environment and uses a
suitable Markov Decision Process to deal with the real-time setting. Moreover,
the architecture of our RL agent evolves based on the possible actions that can
be taken.
