In collective systems, a multitude of computational agents coordinate to achieve a system goal beyond their individual capabilities. These systems are typically deployed in dynamic and partially unknown environments, where system designers cannot anticipate all potential situations, events, and faults that agents may experience. For this reason, such systems are often adaptive, that is, able to change their behavior to tolerate contingencies or embrace novel opportunities—becoming Collective Adaptive Systems (CAS). When engineering CAS, it is crucial for the designer to take into account various essential aspects, such as deployment strategies, coordination policies for distributed execution, and the application logic itself. For each of these, learning could be a precious tool at designers’ disposal, as it enables both design-time support and run-time adaptation with minimal a priori knowledge. Therefore, in this chapter, we first provide a brief overview of how learning has been applied in CAS so far. Then, we describe a few novel opportunities. Finally, we discuss potential future applications of learning, particularly within the context of the Fluidware vision for pervasive systems programming.
Learning Opportunities in Collective Adaptive Systems / Aguzzi, G.; Casadei, R.; Mariani, S.; Viroli, M.; Zambonelli, F.. - 3177:(2024), pp. 179-199. [10.1007/978-3-031-62146-8_10]
Learning Opportunities in Collective Adaptive Systems
Mariani S.;Zambonelli F.
2024
Abstract
In collective systems, a multitude of computational agents coordinate to achieve a system goal beyond their individual capabilities. These systems are typically deployed in dynamic and partially unknown environments, where system designers cannot anticipate all potential situations, events, and faults that agents may experience. For this reason, such systems are often adaptive, that is, able to change their behavior to tolerate contingencies or embrace novel opportunities—becoming Collective Adaptive Systems (CAS). When engineering CAS, it is crucial for the designer to take into account various essential aspects, such as deployment strategies, coordination policies for distributed execution, and the application logic itself. For each of these, learning could be a precious tool at designers’ disposal, as it enables both design-time support and run-time adaptation with minimal a priori knowledge. Therefore, in this chapter, we first provide a brief overview of how learning has been applied in CAS so far. Then, we describe a few novel opportunities. Finally, we discuss potential future applications of learning, particularly within the context of the Fluidware vision for pervasive systems programming.Pubblicazioni consigliate
I metadati presenti in IRIS UNIMORE sono rilasciati con licenza Creative Commons CC0 1.0 Universal, mentre i file delle pubblicazioni sono rilasciati con licenza Attribuzione 4.0 Internazionale (CC BY 4.0), salvo diversa indicazione.
In caso di violazione di copyright, contattare Supporto Iris