Engineering Decentralized Learning in Self-Adaptive Systems

Sammanfattning: Future computing environments are envisioned to be populated by myriads of pervasive real-world things, which collaborate to offer boundless opportunities to industry and society -- e.g., smart cities, and intelligent transportation systems. In this setting, an application can be considered as a network-based system where applications dynamically emerge as opportunistic assemblies of services. This class of applications is likely characterized by high dynamism, with services joining and leaving the network and changing their quality attributes. Indeed, dynamic introduces uncertainty, which in turn may alter the system's functionalities and harm the system's quality of service. Although self-adaptation and machine learning techniques are proposed as viable approaches to address run-time uncertainties and support resilience, engineering effectively these systems is undoubtedly complex, since their peculiarities demand decentralized solutions. To this end, this thesis addresses the critical challenges for engineering decentralized learning in self-adaptive systems in three steps. First, it examines, classifies, and distills knowledge from research related to self-adaptive systems using learning techniques as means of addressing uncertainty. Then, it presents a reasoning framework that supports architecting and implementation activities with capabilities to evaluate architectural decisions. Finally, leveraging the solutions devised by addressing the aforementioned challenges, it proposes an approach to build and maintain over time a resilient assembly of services that are collectively able to deliver quality of service.Evaluation is performed through an extensive set of simulation experiments to assess the effectiveness of the approach. The results show that the devised solution, including self-adaptation and reinforcement learning as key elements, can cope with unpredictably variable operating environments and guarantee quality of service and resilience.