IoT Based Thesis
IoT Based Thesis
IoT Based Thesis
FAHED ALKHABBAS
TOWARDS EMERGENT
CONFIGUR ATIONS IN THE
INTERNET OF THINGS
TOWARDS EMERGENT CONFIGUR ATIONS IN THE
INTERNET OF THINGS
Malmö University,
Studies in Computer Science No 8,
Licentiate Thesis
Included Papers
Personal Contribution
For all publications above, except Paper V, the first author was the main
contributor with regard to the planning and execution of the research as
well as the writing of the publications. Regarding Paper V, the first three
authors were the main contributors.
ACKNOWLEDGEMENTS
I. COMPREHENSIVE SUMMARY 1
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Scenarios . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Related Work . . . . . . . . . . . . . . . . . . . . . . 6
1.3. Research Questions . . . . . . . . . . . . . . . . . . . 11
1.4. Outline . . . . . . . . . . . . . . . . . . . . . . . . . 12
2. Research Methodology . . . . . . . . . . . . . . . . . . . . 15
2.1. Systematic Mapping Study . . . . . . . . . . . . . . . . 15
2.2. Design Science Research . . . . . . . . . . . . . . . . . 16
3. Contributions . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1. Characterization of IoT Systems . . . . . . . . . . . . . . 19
3.2. Emergent Configurations as Systems and SoS . . . . . . . 20
3.3. Software Architectures for Emergent Configurations . . . . 21
3.4. Software Processes for Emergent Configurations . . . . . 22
REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
II. PAPERS 37
PAPER I: A Characterization of Internet of Things Systems through
Taxonomies . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 42
2. Research Method . . . . . . . . . . . . . . . . . . . . . 43
3. Results . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4. Discussion . . . . . . . . . . . . . . . . . . . . . . . . 62
5. Related Work . . . . . . . . . . . . . . . . . . . . . . 63
6. Conclusions and Future Work . . . . . . . . . . . . . . . 64
COMPREHENSIVE
SUMMARY
1
1. Introduction
The term “Internet of Things” (IoT) was first introduced by Kevin Ashton
in 1999 [1]. The basic idea behind the IoT is to enable physical objects,
or things, such as sensors, actuators, appliances, and vehicles, to connect
and collaborate to achieve goals [2–4]. Exploiting such objects, the IoT
has opened for new types of services that have a social and societal im-
pact on almost every aspect of our daily life. New things are connected
to the Internet every day and new types of applications are developed
and used in several fields such as building automation, health-care, and
transportation to mention a few [3, 5]. An example of a product that is
available in the consumer market is Amazon Echo1 . It provides several
services such as enabling users to control connected things like doors,
TVs, lights, and thermostats through the Alexa2 Voice Service. Another
example is the Google Nest Thermostat3 , which learns users behaviours
to automatically adjust the usage of available power resources to save
energy.
Connected things are often resource constrained with respect to en-
ergy sources and communication and processing capabilities [3, 6]. They
can be equipped with sensors and/or actuators, can be autonomous, and
are sometimes mobile. The number of things getting connected to the
Internet is increasing rapidly and expected to reach 18 billion by 20204 .
This expansion is due to several reasons including the advantages gained
from connecting objects, the affordable technology, and that the con-
nectivity is widespread.
To exploit the potential of the IoT effectively, a set of challenges
have to be tackled including the following ones. First, the available IoT
visions provide a fragmented picture, leading to a lack of common un-
derstanding about IoT systems and their constituents [3]. A second set
of challenges concerns the environment of IoT systems that is often dy-
namic and uncertain e.g., things can appear and be discovered at runtime
1
https://iot.do/devices/amazon-echo
2
https://developer.amazon.com/alexa
3
https://store.nest.com/product/thermostat/T3007ES
4
https://www.ericsson.com/assets/local/mobility-report/
documents/2017/ericsson-mobility-report-june-2017.pdf
3
as well as become suddenly unavailable. The involvement of human
users complicates the scene as people’s activities are inherently situated
and not always predictable. Related challenges have been addressed to
different extents in several research disciplines such as Ubiquitous Com-
puting [7, 8], System of Systems [9], Multi-Agent Systems [10], and Ser-
vice Oriented Computing [11]. The majority of existing approaches for
engineering IoT systems rely on predefined processes to achieve users’
goals. Such systems have significant shortcomings in coping with dy-
namic and uncertain environments.
To piece together the fragmented picture of IoT systems, we sys-
tematically identified their characteristics by analyzing and synthesizing
existing taxonomies. To address the challenges related to the IoT en-
vironment and the involvement of human users, we used the concept of
Emergent Configurations (ECs) to engineer IoT systems. An EC is an IoT
system composed of a dynamic set of things that connect and cooperate
temporarily to achieve a user goal. A thing is any (smart) connected
object, with its functionalities and services or applications [12, 13]. In
the ECs vision, users express their goals without the need to worry about
how available things can achieve them (if possible). To realize this vision,
we proposed novel approaches that enable users to achieve their goals
by supporting the automated formation, enactment, and self-adaptation
of IoT systems. To better explain the concept of ECs, in Section 1.1, we
introduce two concrete scenarios that we use throughout the thesis.
1.1. Scenarios
The concept of ECs represents a basis for novel approaches to engineer
goal-driven IoT systems that can cope with dynamic and uncertain en-
vironments. Realizing the ECs vision requires enabling several processes
including the automated interpretation of user goals, the dynamic dis-
covery of available things, the automated formation and enactment of
ECs to achieve the goals, as well as the automated adaptation of the ECs
in response to changes in their environments. To better explain these
concepts, in this section, we introduce two concrete scenarios that we
use throughout the thesis. The first scenario, presented in Paper III, de-
scribes how an EC is realized to support a person who intends to give a
presentation in a smart meeting room that she enters for the first time.
The second scenario, presented in Paper V, illustrates how ECs are real-
ized to enable a user to adjust light levels in arbitrary environments using
an application.
4
and temperature sensors, curtains and light actuators, a smart screen,
and a smart projector. She expresses her goal to give a presentation e.g.,
via an application installed on her smartphone. The goal is interpreted,
the available things are automatically discovered, and an EC is automat-
ically formed and enacted to achieve it. For instance, as illustrated in
Figure 1a, the EC constituents could be the smartphone, the laptop, the
smart projector, the light sensor, and the curtains actuator. The laptop
connects and streams the presentation to the projector that illustrates it
while curtains are closed automatically due to the high light levels detec-
ted by the light sensor. During the presentation, the projector turns off
suddenly. The failure is detected and the EC is automatically adapted
when Lorraine agrees to continue the presentation using the available
smart screen as illustrated in Figure 1b. Since different display media
require different light conditions, Lorraine is also proposed to open the
curtains, when the presentation is resumed on the screen.
Figure 1.
The Smart Meeting Room Scenario
AL-hotel. Lorraine enters a hotel room that is equipped with three light
sensors, a connected curtain, and two connected lamps. The things, with
5
Figure 2.
The Adjust Light Scenario
6
objects, referred to as “Things”, represent basic building blocks of IoT
systems [3, 4]. They add a physical dimension that makes IoT systems
different from traditional software systems. Although in this thesis we
do not focus on the hardware aspects of IoT systems, we take into con-
sideration related aspects like things power source types, e.g., batteries,
their connectivity status, i.e., connected/disconnected, and operational
status, i.e., on/off.
As already mentioned, there is no consensus about IoT systems and
their constituents. For instance, there are studies that considered smart-
phones, tablets and PCs as things [3, 14]; in contrast, other studies did
not [15, 16]. There are studies that presented abstract characterizations
of IoT systems [3, 17], and studies that provided more detailed character-
izations but taking specific perspectives [6, 18, 19]. Multiple conceptual
models for IoT systems have been proposed. Bauer et al. [20] presen-
ted a model for the IoT domain represented using the Unified Modelling
Language (UML). Patel et al. [21] introduced a conceptual model for
IoT applications. Ciccozzi el al. [22] proposed a conceptual model for
mission-critical IoT systems by building upon the models presented in
[20, 21]. However, none of these models presented a systematic charac-
terization of IoT systems. In this section, we briefly introduce the main
aspects about IoT systems while we refer the reader to Paper I for more
details.
Figure 3.
A high level representation of an IoT system
7
tions to monitor or change the state of the environment, respect-
ively. They represent the majority of the connected things and
have negligible or lightweight processing capabilities [6, 23];
2. Smart things: Physical objects are turned into smart things by be-
ing enriched with medium to high communication and processing
capabilities that run smart software, they can also be equipped
with sensors and/or actuators [23, 24];
3. Gateways: They are used to support connected things that do not
posses the capabilities needed to individually connect, process re-
quests, or handle security requirements. They represent the links
between various involved things in an IoT system [24]. Their pro-
cessing capabilities range between medium and high. Examples of
gateways are Arduino5 and Raspberry Pi6 .
Things connect, communicate and collaborate to achieve IoT systems
goals [2, 4]. Communications should be enabled between users and
things and among involved things. For this purpose, several types of
networks can be used such as LAN, WLAN, WPAN [18, 25]. In addi-
tion, several protocols operating at different layers can be exploited such
as MQTT7 and RPL8 [26]. The data generated by connected things and
exchanged among them can be vast especially in large scale IoT systems.
Such data is heterogeneous and can be of several types, for example,
textual, numerical, images and videos [27]. IoT systems should be able
to analyze such data and accordingly provide actionable insights in their
environments [27, 28]. To facilitate the development of IoT systems, sev-
eral IoT platforms have been provided such as AWS IoT Core9 , Azure10 ,
and Google Cloud IoT11 . They provide several services such as enabling
things to communicate securely, monitoring their status, and processing
the generated data.
As illustrated in Figure 3, the processing and storage capabilities of
IoT system can be distributed across three layers namely, Cloud, Fog,
and Edge [29]. In the Cloud Computing Paradigm, the capabilities of
IoT systems reside in the cloud. Comparing to Cloud Computing, in the
Fog Computing Paradigm, the capabilities reside in networks of more
constrained devices (e.g., servers) that are closer to the edge of the net-
work. Finally, in the Edge Computing Paradigm, processing capabilities
reside in connected things [30, 31]. The Cloud Computing Paradigm has
more powerful processing capabilities but also higher latency rates com-
5
https://www.arduino.cc/
6
https://www.raspberrypi.org/
7
http://mqtt.org/
8
https://tools.ietf.org/html/rfc6550
9
https://aws.amazon.com/iot-core/
10
https://azure.microsoft.com/en-us/features/iot-accelerators/
11
https://cloud.google.com/solutions/iot/
8
pared to the Fog and Edge paradigms. The Fog Computing Paradigm
has less processing capabilities but also less latency rates compared to
the Cloud Computing Paradigm. The Edge Computing Paradigm has
the least latency rates but also has limited processing capabilities [30].
When deployed, IoT systems can be used by human or non-human users,
i.e., (semi-) autonomous agents. [24].
9
itories responsible for providing systems execution flows, which are spe-
cified at design time, to achieve user goals. Therefore, they do not fully
support the dynamic formation and enactment of IoT systems to achieve
user goals in a specific context. Consequently, the systems that comprise
them have shortcomings in adapting to unforeseen context changes.
10
mated formation of IoT systems to achieve a user goals in a specific con-
text. Such approaches should also support the automated enactment and
adaptation of IoT systems in response to changes in their dynamic and
uncertain environments.
RQ3. How can goal-driven IoT systems be dynamically formed and ad-
apted?
11
and uncertain contexts. Considering the scenarios presented in Section
1.1, suitable architectures and processes should be designed to enable a
user to adjust light levels in arbitrary environments using an application
and to continue her presentation via the available smart screen after the
sudden failure of the smart projector.
Devising such processes require addressing several challenges in-
cluding proposing mechanisms to analyze how available things can col-
laborate to achieve user goals (if possible). For instance, how is it determ-
ined that the user’s smartphone should connect and stream the presenta-
tion to the projector that then illustrates it? Furthermore, techniques are
needed to maintain systems context at runtime and to detect events that
affect the achievement of user goals. For instance, how can we maintain
the operational state of the smart projector at runtime and detect that it
has stopped working?
Moreover, mechanisms are needed to enable IoT systems to self-
adapt in response to the detected events. For instance, how is it auto-
matically determined that the user can continue the presentation via the
available smart screen? As presented in Section 1.2.3, several approaches
are proposed in related works. However, none of them can fully address
the highlighted challenges.
1.4. Outline
This thesis is in the context and contributes to the project Emergent Con-
figurations of Connected Systems (ECOS)12 within the Internet of Things
and People (IOTAP)13 Research Profile. The thesis is divided into two
parts, the first part describes a comprehensive summary of it while the
second part presents six papers that form the actual research of this
thesis. Paper I is submitted to journal and is under review, while the
other papers are accepted in peer-reviewed conferences and workshops.
Figure 4 illustrates the relationships between these papers including their
contributions and the research questions they address.
To answer to RQ1, in Paper I, we proposed a characterization of IoT
systems by analyzing and synthesizing existing taxonomies, details about
this contribution can be found in Paper I. Additionally, in Paper II, we
studied ECs taking a System of Systems (SoS) perspective. This helped
us better understand ECs, their characteristics, constituents, and their
physical and logical layers. Thus, Paper II contributes also to answering
to RQ2.
To answer to RQ2 and RQ3, in Paper III, we proposed an abstract
architectural approach, which comprises an architecture and a process,
for realizing ECs. Then, we proposed three novel approaches that re-
12
http://iotap.mau.se/projects/ecos/
13
https://iotap.mau.se/
12
Figure 4.
The relationships between the included papers and their contributions
fine it. They all enable users to achieve their goals by supporting the
automated formation, enactment and adaptation of ECs. However, they
exploit different techniques and focus on different aspects as follows.
One approach exploits techniques adopted from the Self-Adaptive Sys-
tems and Artificial Intelligence domains to enable things to engage in
agreements autonomously to form and adapt ECs. This approach re-
fines the abstract process proposed in Paper III, details about this con-
tribution can be found in Paper IV. The IoT-FED approach, proposed in
Paper V, exploits the Domain Objects (DOs) technology to enable users
to achieve their goals by supporting the automated formation of ECs as
well as their enactment. It refines the abstract architecture and process
presented in Paper III [11]. Finally, the ECo-IoT approach, proposed in
Paper VI, exploits techniques adopted from the Self-Adaptive Systems
and Artificial Intelligence domains to enable the automated formation
and self-adaptation of ECs. It refines the abstract architecture and pro-
cess presented in Paper III.
The remainder of Part I is as follows. Chapter 2 describes the re-
search methodology applied to address the research questions. Chapter
3 presents the main contributions to the body of knowledge. Chapter 4
concludes the thesis and outlines possible future work directions.
13
2. Research Methodology
15
derstand ECs, their characteristics, and constituents, in Paper II, we con-
ducted an exploratory study that investigates ECs taking a SoS perspect-
ive by exploiting two scenarios. In the first scenario, an EC is formed by
connected things to achieve a user goal while, in the second scenario, an
EC constituent includes also two IoT systems.
16
the IoT-FED performance. In Paper VI, we conducted experiments to
get initial insights on the performance of some key components in the
ECo-IoT approach. We plan to extend the approach presented in Paper
IV, develop a prototype, and conduct experiments to evaluate it. We also
plan to perform more extensive evaluations in our future work.
17
3. Contributions
This chapter presents the contributions of the thesis that were developed
under the following assumptions:
1. The user goal specification and interpretation process is already
performed and correctly terminated: Atomic goals resulting from
decomposing a (high level) user goal, e.g., give presentation, into
sub-goals are provided. Atomic goals are fine-grained goals achiev-
able by things, for example, get light level is achievable by a light
sensor. We plan to devise approaches for user goals interpretation
in future work;
2. ECs are formed, enacted, and adapted within well-defined spatial
boundaries: ECs goals are achieved within locations e.g., room,
building. Consequently, the number of things involved in forming
and adapting an EC is not expected to be massive. This notably
mitigates the well-known IoT scalability problem [3].
3. ECs are realized to achieve goals within non-critical time con-
straints: We envision that ECs are realized within the timescale
of seconds;
4. ECs are formed and enacted at runtime: We do not address cases
where the formation and enactment of ECs are scheduled in the
future;
5. Services that provide information about connected things and their
locations are provided: We do not develop solutions to report
information about connected things, for example, battery levels
(when applicable), their connectivity status (i.e., connected/discon-
nected), operational status (i.e., on/off), and their locations.
19
aspects of IoT systems, we refer the reader to Sections 3.1 and 3.2 in
Paper I for more details about them.
The identified elements of IoT systems are IoT thing, communica-
tion, middleware, data, deployment, goal, user, identifier, resource man-
agement, and collaboration. The identified quality aspects of IoT sys-
tems are security, privacy, trust, interoperability, scalability, latency, and
reliability. They represent non-functional characteristics of IoT systems.
These characteristics represent the answer to RQ1. Moreover, we ana-
lyzed more in depth the elements of IoT systems and identified their
dimensions. For example, the dimensions of the element IoT thing in-
clude, but not limited to, type and level of autonomy. The former dimen-
sion classifies connected things into the three types presented in Chapter
1.2.1, while the latter dimension classifies things based on their level of
autonomy to non-autonomous and autonomous things.
Furthermore, by quantitatively analyzing the results of the SMS, we
presented insights about the directions of future research concerning IoT
systems. The analysis show that many taxonomies focus on security
aspects of IoT systems while the most explored elements of IoT systems
are IoT thing, communication and data respectively. We believe that
the focus on securing IoT systems might be due to the sensitive data
that they might monitor such as health parameters and the critical or
costly control operations they might perform such as in self-driving cars
and turning on district heating, respectively. The focus on the IoT thing
element could be due to the physical dimension it adds to IoT systems,
which makes them different from traditional software systems. Enabling
IoT things to communicate and managing the generated data represent
core aspects in the IoT [3, 5, 17, 60]; this might clarify the focus on the
elements communication and data. The analysis also revealed that some
elements of IoT systems such as user, goal, and deployment have not been
explored sufficiently. They represent core characteristics of IoT system
and we believe that they should be more investigated. By exploiting the
identified characteristics, we provided a more formal characterization
of IoT systems and also outlined a process for designing them. Further
details about these contributions can be found in Paper I.
The proposed characterization represents a reference model that
supports researchers and interested practitioners to (i) contribute to the
research about IoT systems; (ii) better understand characteristics of IoT
systems and take them into consideration when designing and develop-
ing IoT systems.
20
erogeneous, can be autonomous, able to communicate, often distributed,
managerially independent (i.e., self-controlled and managed), and opera-
tionally independent (i.e., can keep achieving their goals independently).
In addition, their environments are dynamic and uncertain. Therefore,
we studied ECs taking a SoS perspective, which helped us better under-
stand ECs, their characteristics, constituents, and their logical and phys-
ical layers. This contributed to answering to both RQ1 and RQ2.
The main outcome of this study is that ECs can be regarded as both
systems and SoS based on the types of their constituents. More specific-
ally, ECs are considered systems when their constituents are connected
things and SoS when their constituents involve at least two IoT systems.
Consequently, we believe that the IoT research can gain insights from the
already developed SoS research and, vice versa, the IoT research might
produce useful results for the SoS community.
Figure 5.
A high level architecture for realizing ECs
21
changes to the ECM. Finally, a set of connected things that, following in-
dications of the ECM, communicate and collaborate to realize ECs. The
ECM comprises the following sub-components:
(i) Goal Manager: It is responsible for interpreting user goals and
forming ECs that achieve them when enacted;
(ii) Adaptation Manager: It is responsible for adapting ECs in re-
sponse to context changes. ECs are adapted by executing the
Monitor-Analyze-Plan-Execute plus Knowledge (MAPE-K) loop
-better described in Section 3.4 [61];
(iii) Context Manager: It is responsible for maintaining ECs context;
(iv) Enactment Engine: It is responsible for enacting ECs by com-
manding or requesting ECs constituents to perform functionalities
in specific orders;
(v) System Knowledge Base (KB): It is the container of the context of
ECs.
Papers V and VI present two possible refinements of the abstract
architecture proposed in Paper III. In Paper V, we proposed the IoT-FED
architectural approach for enabling the automated formation and enact-
ment of ECs. It exploits heterogeneous and independently developed
things, services, and applications modeled as Domain Objects (DOs), a
service-based formalism [11]. The architecture refines the Thing Man-
ager and the sub-components of the ECM by leveraging an IoT platform,
the existing components of the DOs technologies, and also developing
new ones.
In Paper VI, we proposed the ECo-IoT architectural approach that
comprises another refinement of the abstract architecture proposed in
Paper III. The architecture is designed to support the automated form-
ation and self-adaptation of ECs. It refines the sub-components of the
ECM by exploiting techniques adopted from the Self-Adaptive Systems
and Artificial Intelligence domains [61–63].
Compared to the architectures of IoT systems presented in Chapter
1.2.2, the architectures we proposed answer better to the needs of IoT
systems as they are designed to support the dynamic formation, enact-
ment and self-adaptation of goal-driven IoT systems that can better cope
with dynamic and uncertain environments.
22
applications as Domain Objects (DOs). The approach comprises a pro-
cess that refines the abstract process presented in Paper III. The process
starts by specifying a user goal type, e.g., adjust light level, and the goal
spatial boundaries, e.g., Lorraine’s office. Given these inputs and using
the concept of refinement supported by the DOs technologies, an EC
is formed to achieve the user goal (if possible). The formed EC is then
enacted by instantiating the DOs forming it.
To validate the feasibility of the IoT-FED approach, we developed a
prototype that realized the adjust light scenario presented in Chapter 1.1
and performed experiments that revealed the IoT-FED ability to dynam-
ically form different ECs when the number and/or the type of available
things change. Also, the experiments showed that the IoT-FED approach
enables the automated formation and enactment of the generated ECs
in average time less than 2.5 seconds.
In Paper VI, we proposed the ECo-IoT architectural approach to
enable the automated formation and adaptation of ECs. The approach
comprises a process which refines the abstract process proposed in Pa-
per III. Given the user goal type, e.g., give a presentation, and the goal
spatial boundaries, e.g., a smart meeting room, an EC is formed from
available things to achieve the goal (if possible). To enable the auto-
mated adaptation of the EC, the process implements the MAPE-K loop,
a well-established technique in the domain of Self-Adaptive Systems [61].
The EC context is continuously monitored and changes are automatic-
ally detected and analyzed. The process exploits the notion of events to
model changes in the context. In cases where the detected changes affect
the achievement of the EC goal, plans are automatically generated, the
EC is adapted accordingly and enacted, and the system KB is enriched.
We conducted an initial validation of the ECo-IoT approach by de-
veloping a first prototype that realized the smart meeting room scenario
presented in Chapter 1.1. Moreover, we performed two experiments to
get insights into the performance of some key components of the ap-
proach. The results are promising and indicate the ECo-IoT ability to
enable the automated formation and adaptation of ECs at the scale of a
few seconds.
In Paper IV, we proposed a commitment-based approach for en-
abling the automated formation and self-adaptation of ECs. It refines
the abstract process presented in Paper III. More specifically, it exploits
the concept of Commitments, adopted from the field of Multi-Agent
Systems (MAS), and the concept of MAPE-K feedback loops, adopted
from the field of Self-Adaptive Systems, to support autonomous things
to negotiate agreements to realize ECs [61, 64]. We denoted ECs by the
notation EC = hA, C, Si where A is a set of smart things, C is the set
of commitments that hold among them and S is a set of state transitions
that realize the user goal. Furthermore, we presented a conceptual model
23
for commitment-based ECs. We highlight that this approach can be in-
tegrated with both the IoT-FED and the ECo-IoT approaches presented
above.
Compared to the related works discussed in Chapter 1.2.3, the pro-
cesses proposed for realizing ECs provide IoT systems with more flexib-
ility in responding to dynamic and uncertain environments.
24
4. Conclusions and Future Work
4.1. Conclusions
The type of applications enabled by the IoT and the rapid increase of
the number of objects that get connected give to the IoT an increasingly
important role in all aspects of our society. Although the IoT is well
recognized in both academic and industrial communities, a widely ac-
cepted definition of the term is still elusive. The manifold visions about
the IoT provide a fragmented picture, leading to a lack of common under-
standing about IoT systems. The involvement of human users and the
dynamicity and uncertainty of the IoT environment put additional re-
quirements on engineering IoT systems. In this thesis, we addressed the
aforementioned challenges through three research questions. The first
question concerns a characterization of IoT systems. The second and
third research questions address suitable architectures and processes that
enable users to achieve their goals by supporting the automated forma-
tion, enactment and adaptation of IoT systems in dynamic and uncertain
environments. To answer these research questions, we proposed a num-
ber of contributions by applying two main research methods, i.e., the
systematic mapping study and the design science research. More spe-
cifically, we systematically identified the characteristics of IoT systems
by analyzing and synthesizing existing taxonomies. Also, we proposed
novel approaches that exploit the concept of Emergent Configurations
(ECs) as a basis to engineer goal-driven IoT systems that can cope with
dynamic and uncertain environments.
25
depth the quality aspects of IoT systems such as scalability, privacy and
security. In addition, the proposed processes for designing IoT systems
can be refined and evaluated in realistic case studies.
26
been proposed [68–70].
4.2.5. Deployment
ECs constituents are heterogeneous, sometimes mobile, and possibly
autonomous. Taking decisions about where to deploy the processing
and storage capabilities of ECs can be a complex task. Investigations
can be dedicated to conducting trade off analysis among existing IoT
deployment models to support IoT engineers to take design decisions
concerning the deployment of ECs in particular and IoT systems in gen-
eral [71].
27
REFERENCES
29
9. E. Silva, T. Batista, and F. Oquendo, “A Mission-Oriented Approach
for Designing System-of Systems,” in System of Systems Engineering
Conference (SoSE), 2015 10th, pp. 346–351, IEEE, 2015.
16. B. Dorsemaine, J.-P. Gaulier, J.-P. Wary, N. Kheir, and P. Urien, “In-
ternet of Things: a definition & taxonomy,” in Next Generation
Mobile Applications, Services and Technologies, 2015 9th Interna-
tional Conference on, pp. 72–77, IEEE, 2015.
30
Applications,” EAI Endorsed Transactions on Internet of Things,
vol. 3, no. 12, pp. Terjedelem–14, 2018.
31
28. S. Verma, Y. Kawamoto, Z. Fadlullah, H. Nishiyama, and N. Kato,
“A Survey on Network Methodologies for Real-Time Analytics of
Massive IoT Data and Open Research Issues,” IEEE Communica-
tions Surveys & Tutorials, 2017.
31. R. Roman, J. Zhou, and J. Lopez, “On the features and challenges
of security and privacy in distributed Internet of Things,” Computer
Networks, vol. 57, no. 10, pp. 2266–2279, 2013.
32
39. H. Koziolek, A. Burger, and J. Doppelhamer, “Self-Commissioning
Industrial IoT-Systems in Process Automation: A Reference Archi-
tecture,” in 2018 IEEE International Conference on Software Archi-
tecture (ICSA), pp. 196–19609, IEEE, 2018.
33
48. M. Hussein and S.Li and A. Radermacher, “Model-driven Develop-
ment of Adaptive IoT Systems,” in 4st International Workshop on
Interplay of Model-Driven and Component-Based Software Engin-
eering (ModComp) 2017 Workshop Pre-proceedings, p. 20, 2017.
34
58. J. Boardman and B. Sauser, “System of Systems-the meaning of
of,” in System of Systems Engineering, International Conference on,
pp. 6–pp, IEEE, 2006.
35
68. R. H. Weber, “Internet of Things–New security and privacy chal-
lenges,” Computer law & security review, vol. 26, no. 1, pp. 23–30,
2010.
69. B. Fabian and O. Gunther, “Distributed ONS and its Impact on Pri-
vacy,” in Communications, 2007. ICC’07. IEEE International Con-
ference on, pp. 1223–1228, IEEE, 2007.
36
isbn 978-91-7104-958-2 (print)
isbn 978-91-7104-959-9 (pdf)
MALMÖ UNIVERSITY
205 06 MALMÖ, SWEDEN
WWW.MAU.SE