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

A software model is an abstract system representation
that describes software components and their composition
[10]. A software component (e.g., a web service or a generic
port-based component) is a self-contained unit of composition
that provides some computational functionality. In
traditional software engineering, composition is the
design-time process of combining the functionality of two
or more software components, and it is performed manually
by system engineers [10], [11].
As manual composition is unsuitable for tackling the
imminent challenges that future IoT systems pose (i.e.,
dynamicity, complexity, and scale), we envision that such an
approach will eventually be obsolete. Instead, composition
will be a runtime process performed by the model itself (i.e.,
autonomously), in which complex computational behaviors
emerge in the form of complex composite components.
These emergent composites can further self-organize to
define even more complex composites. Emergence occurs
from the decentralized interactions of the available autonomous
components (potentially developed independently
by different stakeholders), with no or minimal human
intervention and according to a set of self-organization
rules. As emergent composites cannot be expressed as a
simple summation of the composed components, emergent
computational behaviors cannot be predicted just by
knowing the available components.
Our vision of self-organizing software models is
depicted in Figure 1. Although we use a port-based composite
for illustrative purposes, other software compositions
can emerge as a result of self-organizing component
interactions, such as service-oriented workflows [12],
[13] or algebraic compositions [14], [15]. In any case,
emergent composites lie on top of a three-layer IoT view,
physical objects (known as Things) are situated at the
bottom, and self-organizing interactions occur in the
middle. This conceptual three-layer view is referred to as
the self-organizing IoT.
The idea of self-organizing software contrasts with that
of self-adaptive systems. This is because the latter often
require adaptation managers to control the entire adaptation
process outside a software model [7]. We refer to this
process as exogenous adaptation.
By contrast, in our vision, adaptation is achieved
A
B
Emergent Composite
(Virtual World)
C
through self-organization, and it therefore occurs in a pure
decentralized manner without the need of any central
authority, external controllers, or leaders. We refer to this
process as endogenous adaptation.
Unlike self-adaptive software, in self-organizing software
models, there is no notion of either a managed
or managing system since components,
which belong to the system itself, collaboratively
realize adaptation by the emergence of computational
behaviors. Like self-adaptive software,
there are adaptation triggers to initiate the emergence
of composite components upon detecting
perturbations in the internal or external system
operating environment.
A
B
D
C
Available
Components
(Virtual World)
Perturbations in the internal environment
include system failures and suboptimal performance.
Those in the external environment include
changes in stakeholder requirements, runtime scaling
(i.e., component addition/removal), environmental
variations, and increasing workloads [4], [7].
To illustrate how self-organizing software
Things
Thing A
Thing B
Software
Component
Provides Port
Thing
Self-Organizing
Interaction
Requires Port
Figure 1. The self-organizing IoT.
6
IEEE SYSTEMS, MAN, & CYBERNETICS MAGAZINE July 2021
Self-Organization
Rules
Assembly Connector
(Physical World)
Thing D
Thing C
components deal with open environments, let us
consider the example depicted in Figure 2. At
time t0, four components interact to meet
requirements R1, R2, and R3. In this case, the
result of self-organization is a composite assembling
A, B, and C. Suddenly, at time t1, requirement
R3 is no longer needed, and component E
becomes available. As the requirements have
changed and component E offers better performance
than B, the existing components selforganize
to connect C with D and replace B with
E. Note that component C has mutated by adding
a new port to fulfill requirements R1 and R2.
Finally, in the last time window, requirements
R1, R2, and R3 become obsolete since a new specification
is defined. Therefore, the components

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