Abstract
Modern software systems are becoming more and more socio-technical systems composed of distributed and heterogeneous agents from a mixture of people, their environment, and software components. These systems operate under continuous perturbations due to the unpredicted behaviors of people and the occurrence of exogenous changes in the environment. In this article, we introduce a notion of ensembles for which, systems with collective adaptability can be built as an emergent aggregation of autonomous and self-adaptive agents. Building upon this notion of ensemble, we present a distributed adaptation approach for systems composed by ensembles: collections of agents with their respective roles and goals. In these systems, adaptation is triggered by the run-time occurrence of an extraordinary circumstance, called issue. It is handled by an issue resolution process that involves agents affected by the issue to collaboratively adapt with minimal impact on their own preferences. Central to our approach is the implementation of a collective adaptation engine (CAE) able to solve issues in a collective fashion. The approach is instantiated in the context of a smart mobility scenario through which its main features are illustrated. To demonstrate the approach in action and evaluate it, we exploit the DeMOCAS framework, simulating the operation of an urban mobility scenario. We have executed a set of experiments with the goal to show how the CAE performs in terms of feasibility and scalability. With this approach, we are able to demonstrate how collective adaptation opens up new possibilities for tackling urban mobility challenges making it more sustainable respect to selfish and competitive behaviours.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have