IEEE Systems, Man and Cybernetics Magazine - July 2021 - 8
virtualized by more than one software component, and there
are plenty of Things available. In fact, the more components
available, the more possible computational behaviors (potentially
leading to a combinatorial explosion problem [14], [15]).
Last but not least, complexity refers to the number of interactions
among software components [2], [8], [11], and it is
closely related to functional scalability since the more software
components composed, the more complex a system is. To
tackle these imminent challenges, it is therefore of paramount
importance to provide software engineering theory that facilitates
the construction of autonomic IoT software systems.
Most of the research done in the field of autonomic computing
is built upon centralized adaptation managers (e.g.,
the monitor-analyze-plan-execute-knowledge control loop
[16]). However, due to the law of requisite variety [17],
which refers to an explosion in the number of system states,
such top-down autonomic solutions are unsuitable for dealing
with realistic, open environments like the IoT [18], [19].
Since self-organization is a well-known bottom-up
approach that deals with precisely the challenges that the
IoT faces [9], some preliminary endeavors have been made
to apply self-organization principles in the IoT realm. However,
most of this work has been done from the perspective
of general systems engineering (e.g., [18]) rather than from
a software engineering viewpoint. Just a few works have
been devised in the context of self-organizing software
models [12], [13], [19]-[22].
Because IoT systems are becoming increasingly software
intensive, we need to define self-organization rules in
the semantics of software components. Otherwise, selforganization
does not occur among software components
but among something else (e.g., network nodes [23] or
robots [24]). We need to leverage the flexibility and manageability
that software offers versus hardware (compare
software-defined networks [25]) to adapt IoT systems to
different operation contexts.
In the end, it is software that controls embedded systems
in Things, and because of this, self-organization
always originates in the virtual world.
Embedded systems are just interfaces to the physical
reality. As they provide the mechanisms to compose/
emerge complex computational behaviors on the fly without
any central adaptation entity, we see self-organizing
software models as an important contribution to the field
of autonomic computing.
Research Challenges and
Potential Directions
Due to its nondeterministic nature, the main challenge of
self-organization is to emerge meaningful functionality from
decentralized interactions. As the concept of meaningful
varies from one domain to another, goal models (e.g.,
RELAX [26] and KAOS [27]) can be used to specify expected
systemwide behaviors in the form of requirements@run.time
(which must be met without any central reasoner). In addition
to goal models, runtime verification/testing techniques
8
IEEE SYSTEMS, MAN, & CYBERNETICS MAGAZINE July 2021
can be integrated to prove the correctness of emergent computational
behaviors-all of this without sacrificing systems'
operations. Apart from dealing with nondeterminism and
correctness, other challenges are as follows:
◆ Incompleteness: Due to their decentralized nature,
software components cannot always have a complete,
consistent view of their operating environment (e.g.,
knowledge about other available components or running
composition structures). This is especially true in
IoT ecosystems with a large number of IoT software
components. How can knowledge be efficiently disseminated
to maintain an accurate representation of
the world under highly dynamic environments?
◆ Self-explanation: The transparency of decision making
is a must in approaches lacking human intervention
since users may require an explanation of the emergence
of certain computational behavior. How can selfexplanation
be provided in self-organizing software
models, especially when the participant components are
completely autonomous and operate in different administrative
domains?
◆ Measurement: To date, there is a huge body of research
on self-organizing systems in which plenty of different
evaluation metrics have been proposed, e.g., entropy,
fragility, and stability [18]. Are these metrics suitable
for evaluating computational emergence in self-organizing
software models? If not, what are the most suitable
metrics for the software engineering domain?
◆ Uncertainty quantification: Since IoT systems operate
in environments full of aleatoric and epistemic uncertainty,
it is impossible to predict the space of complex
programs that arises from dynamically appearing and
disappearing software components. To control the
construction of such spaces, uncertainty quantification
approaches can be used for defining trustworthy
decision-making mechanisms that proactively adjust
the way components interact. What are the semantic
constructs that allow software components to collaboratively
solve uncertainty quantification problems?
◆ Dynamic evolution of self-organization rules: Self-organization
rules can be predefined at design time. However,
in certain scenarios, the rules might not be enough to
achieve global system goals. Is it possible to define decentralized
learning techniques (e.g., collaborative/multiagent
reinforcement learning) for dynamically evolving
self-organization rules without human intervention?
◆ Evolution reasoning: Self-organizing software models are
always evolving at runtime, so it becomes necessary to
reason about dynamics. Modeling evolution in traditional
self-organizing systems can be done using process algebra,
temporal logic, or Petri nets. Are these techniques
suitable to reason about self-evolving software? If not,
which reasoning techniques could be more appropriate?
◆ Software semantics and self-organization rules: Defining
generic self-organization rules for autonomously
composing software in different IoT domains is
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