IEEE Systems, Man and Cybernetics Magazine - July 2021 - 5

Autonomous IoT Software Systems
The IoT is a novel paradigm, considered the next Industrial
Revolution, that promises the integration of every physical
object for the automation of the essential concerns of
our modern lives, such as health care, security, agriculture,
and city management. Unlike traditional enterprise
systems, IoT systems are moving toward environments
full of complex interactions as a consequence of the overwhelming
number of objects available worldwide [1]-[3].
Currently, there are more than 17 billion connected
objects, and it is estimated that this number will increase
exponentially in the coming years [4]. Hence, scalability
and complexity become a significant challenge for the full
realization of the IoT.
Most IoT research has extensively focused on hardware
and network issues, so early IoT systems operate in closed
environments and integrate relatively few static software
components. Contrastingly, future software-intensive IoT systems
will be deployed in open environments (i.e., software
ecosystems [5]) where billions of (off-the-shelf) components
will abstract the functionality of an immense number of
connected physical objects [4], [6]. Such environments will be
highly dynamic and uncertain due to disturbances caused by
external perturbations (e.g., changes in requirements and
increasing workloads) and unforeseeable internal situations
(e.g., system failures and suboptimal behaviors) [4], [7].
Autonomicity represents the most viable solution to
managing complex IoT systems, which both integrate an
ultralarge number of software components and operate in
highly dynamic, uncertain environments. This is because
that property enables the adaptation of computational
behaviors with minimal or no human intervention. Research
on autonomic software has produced significant results,
especially in the area of self-adaptive software [7]. However,
existing solutions are mainly centralized, and it has been
proven over many years that centralized approaches do not
scale and are, therefore, unsuitable to tackle complexity [8].
In this article, we present self-organizing software models,
which are a new kind of abstractions that allow the construction
of autonomous software systems and in which
computational behaviors are not predefined but emerge during
system operation to dynamically accommodate a given
context. Emergence is achieved from the individual interactions
of the constituent software components (not hardware
devices) without the need for a central authority. The main
role of these models is to remove or reduce the role of the
programmer in the composition, maintenance, and evolution
processes of a software system.
What Is a Self-Organizing Software Model?
Self-organization is the bottom-up process by which complex
behaviors emerge from the decentralized interactions
of participant components (e.g., molecules or
insects) to collectively achieve a global system goal (e.g.,
foraging). In contrast to top-down processes, self-organization
is a well-known technique to deal with uncertainty,
scale, dynamism, and complexity [8], [9]. Selforganization
is not a new concept. It has been studied in
diverse areas from distinct points of view, from biological
systems (e.g., flocks of birds, schools of fish, and ant colonies)
to artificial systems (e.g., traffic light ensembles,
networking, and swarm robotics). Just recently, self-organization
has captured the attention of the software engineering
community to study it as an inherent property of
software models.
Self-Organizing Software Models
A self-organizing software model is a computational
abstraction whose software components comply
with self-organization rules, so complex composite
components are not explicitly programmed but
(autonomously) emerge from the decentralized
interactions of the available independent software
components.
Its overall goal is to accommodate
perturbations in a system operating environment.
July 2021
IEEE SYSTEMS, MAN, & CYBERNETICS MAGAZINE
5

IEEE Systems, Man and Cybernetics Magazine - July 2021

Table of Contents for the Digital Edition of IEEE Systems, Man and Cybernetics Magazine - July 2021

contents
IEEE Systems, Man and Cybernetics Magazine - July 2021 - Cover1
IEEE Systems, Man and Cybernetics Magazine - July 2021 - Cover2
IEEE Systems, Man and Cybernetics Magazine - July 2021 - contents
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 2
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 3
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 4
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 5
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 6
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 7
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 8
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 9
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 10
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 11
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 12
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 13
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 14
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 15
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 16
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 17
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 18
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 19
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 20
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 21
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 22
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 23
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 24
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 25
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 26
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 27
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 28
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 29
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 30
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 31
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 32
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 33
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 34
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 35
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 36
IEEE Systems, Man and Cybernetics Magazine - July 2021 - 37
IEEE Systems, Man and Cybernetics Magazine - July 2021 - Cover3
IEEE Systems, Man and Cybernetics Magazine - July 2021 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/smc_202310
https://www.nxtbook.com/nxtbooks/ieee/smc_202307
https://www.nxtbook.com/nxtbooks/ieee/smc_202304
https://www.nxtbook.com/nxtbooks/ieee/smc_202301
https://www.nxtbook.com/nxtbooks/ieee/smc_202210
https://www.nxtbook.com/nxtbooks/ieee/smc_202207
https://www.nxtbook.com/nxtbooks/ieee/smc_202204
https://www.nxtbook.com/nxtbooks/ieee/smc_202201
https://www.nxtbook.com/nxtbooks/ieee/smc_202110
https://www.nxtbook.com/nxtbooks/ieee/smc_202107
https://www.nxtbook.com/nxtbooks/ieee/smc_202104
https://www.nxtbook.com/nxtbooks/ieee/smc_202101
https://www.nxtbook.com/nxtbooks/ieee/smc_202010
https://www.nxtbook.com/nxtbooks/ieee/smc_202007
https://www.nxtbook.com/nxtbooks/ieee/smc_202004
https://www.nxtbook.com/nxtbooks/ieee/smc_202001
https://www.nxtbook.com/nxtbooks/ieee/smc_201910
https://www.nxtbook.com/nxtbooks/ieee/smc_201907
https://www.nxtbook.com/nxtbooks/ieee/smc_201904
https://www.nxtbook.com/nxtbooks/ieee/smc_201901
https://www.nxtbook.com/nxtbooks/ieee/smc_201810
https://www.nxtbook.com/nxtbooks/ieee/smc_201807
https://www.nxtbook.com/nxtbooks/ieee/smc_201804
https://www.nxtbook.com/nxtbooks/ieee/smc_201801
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_1017
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0717
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0417
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0117
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_1016
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0716
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0416
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0116
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_1015
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0715
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0415
https://www.nxtbook.com/nxtbooks/ieee/systems_man_cybernetics_0115
https://www.nxtbookmedia.com