Abstract
Currently, our society depends increasingly on software systems to perform daily tasks. Thus, it is expected that such systems will also be able to operate under uncertain conditions, without interruptions or human interventions. The causes of uncertainties range from changes in the operating environment to variations in the objectives/needs of the users. In this sense, self-adaptive syst…