abstract = "Internet of Things (IoT) is a pivotal technology in
application domains that require connectivity and
interoperability between large numbers of devices. IoT
systems predominantly use a software-defined network
(SDN) architecture as their core communication
backbone. This architecture offers several advantages,
including the flexibility to make IoT networks
self-adaptive through software programmability. In
general, self-adaptation solutions need to periodically
monitor, reason about, and adapt a running system. The
adaptation step involves generating an adaptation
strategy and applying it to the running system whenever
an anomaly arises. In this paper, we argue that, rather
than generating individual adaptation strategies, the
goal should be to adapt the logic / code of the running
system in such a way that the system itself would learn
how to steer clear of future anomalies, without
triggering self-adaptation too frequently. We
instantiate and empirically assess this idea in the
context of IoT networks. Specifically, using genetic
programming (GP), we propose a self-adaptation solution
that continuously learns and updates the control
constructs in the data-forwarding logic of SDN-based
IoT networks. Our evaluation, performed using
open-source synthetic and industrial data, indicates
that, compared to a baseline adaptation technique that
attempts to generate individual adaptations, our
GP-based approach is more effective in resolving
network congestion, and further, reduces the frequency
of adaptation interventions over time. In addition, we
compare our approach against a standard data-forwarding
algorithm from the network literature, demonstrating
that our approach significantly reduces packet loss.",
notes = "Also known as \cite{9799836}
\cite{li2022learningselfadaptationsiotnetworks}