<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Toolbox for the Internet of Things { Easing the Setup of IoT Applications</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matheus Frigo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pascal Hirmer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ana Cristina Franco da Silva</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lucineia Heloisa Thom</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Parallel and Distributed Systems, University of Stuttgart, Universitatsstra e 38</institution>
          ,
          <addr-line>70569 Stuttgart, Germany https://</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Informatics, Federal University of Rio Grande do Sul</institution>
          ,
          <addr-line>Bento Goncalves Avenue, 9500, Porto Alegre, Brazil https://</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <fpage>87</fpage>
      <lpage>100</lpage>
      <abstract>
        <p>The Internet of Things (IoT) is a paradigm that aims at making people's life easier, e.g., through highly automated production processes in Smart Factories. In the IoT, heterogeneous interconnected devices communicate through standardized internet protocols to reach common goals. Well-known applications of the IoT are Smart Homes, Smart Factories, or Smart Cities. However, setting up new IoT environments can be cumbersome, since this oftentimes requires many complex manual steps, such as setting up devices, con guring sensors, or writing scripts. The heterogeneity and high distribution in the IoT makes this task even more complex and time-consuming. To ease the setup of IoT environments, we propose a new approach composed of (i) a toolbox with common building blocks of the IoT, and (ii) a business process based approach to orchestrate the setup of these building blocks. Through our approach, domain experts can select the building blocks they require for their IoT application and generate a step-by-step manual for their setup.</p>
      </abstract>
      <kwd-group>
        <kwd>Internet of Things</kwd>
        <kwd>Toolbox</kwd>
        <kwd>BPM</kwd>
        <kwd>Domain Experts</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In the Internet of Things (IoT), interconnected devices communicate through
standardized internet protocols to achieve common goals [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Usually, these
devices are connected to sensors, to monitor the environment, and actuators to
control it. The IoT enables creating new kinds of applications, such as Smart
Homes [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], Smart Cities [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], or Smart Factories [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        However, since devices in the IoT are very heterogeneous, building IoT
applications can be very cumbersome [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. For example, there are powerful devices,
such as Raspberry Pis, able to provide an operating system and built-in
communication technologies, such as WiFi or Bluetooth. In contrast, there are very
restricted devices, such as micro-controller boards, that do not provide any
sophisticated operating system but rather a limited runtime environment to run
small scripts, usually implemented in C programming language. Some of these
restricted devices provide a WiFi connection, others require Bluetooth or need
to be connected via cable.
      </p>
      <p>
        Furthermore, in the IoT, not only the devices are very heterogeneous but
also the communication protocols, e.g., CoAP [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], MQTT [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], or HTTP. This
makes selection of the right hardware components and protocols for building IoT
applications even more complex. Consequently, there is a demand for coping with
this large heterogeneity and to support IoT application developers in making
the right choices when it comes to hardware, technology, and protocol selection.
This wide variety also introduces a challenge to create and use a uniform way of
describing things in smart spaces in terms of what a particular thing is, what is
does and how it communicates [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>To cope with this issue, in this paper, we introduce a new approach for
easing the setup of IoT environments and their applications. First, we introduce
a toolbox, containing common building blocks that are oftentimes used in the
creation of IoT environments. These building blocks can represent hardware
components, network protocols, message brokers, gateways, IoT platforms, or any
other software component. A building block consists of a high-level description
to be understandable by domain experts as well as concrete implementations.
These building blocks o er a uniform way of describing the software and
hardware components of an IoT application. The building blocks are provided by
experts in building IoT applications and are provided by a toolbox, which can
be accessed by domain experts.</p>
      <p>
        Second, we introduce a business process based approach to ease the set up
of an IoT environment based on the suggested building blocks. Usually, setting
up IoT environments requires many di erent steps that can be conducted either
in parallel or sequentially in case of any dependencies. For example, before
connecting a device to an IoT platform, a network connection needs to be set up.
Hence, it makes sense to use business process management for orchestration of
these steps. In this paper, we use the Business Process Model and Notation 2.0
(BPMN 2.0) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] for modeling of the processes.
      </p>
      <p>The remainder of this paper is structured as follows: in Section 2, we
introduce our main contribution: a toolbox for the Internet of Things. Section 3
then describes a case study, which applies our approach to the Smart Factory
domain. Section 5 discusses related work and, nally, Section 6 summarizes our
paper and gives an outlook on future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>A Toolbox for the Internet of Things</title>
      <p>In this section, we introduce a holistic method that describes the necessary steps
domain experts need to undertake to set up IoT applications from scratch. This
method is depicted in Figure 1. The foundation for this method is our toolbox,
containing a prede ned set of building blocks that can be combined to set up
Domain
experts</p>
      <p>Requirement
Specification</p>
      <p>IoT
Environment
Retirement
1
6</p>
      <p>Building</p>
      <p>Block</p>
      <p>Selection
Feedback</p>
      <p>IoT
Environment
Adaptation
2
5</p>
      <p>Process
Creation
Process
Execution
3
4
Method step
the desired IoT application. Even though this method is generic in terms of the
kinds of applications that should be set up, applying it speci cally to the IoT
domain emphasizes its strengths, since in the IoT, usually many heterogeneous
software and hardware components need to be set up, which can overwhelm
application providers. Our method can help in setting up IoT environments with
low e ort and decreased necessary technical knowledge since technical details are
abstracted through the building blocks.</p>
      <p>In the rst step of this method, domain experts and involved stakeholders
discuss the characteristics of their IoT application and de ne a set of
requirements for the application. The set of requirements is de ned as R 6= ;, whereas
each r 2 R describes a speci c application requirement. After that, in the second
step, the toolbox recommends building blocks to be selected by domain experts.
In step 3, a business process is created by experts based on the selected building
blocks, de ning the necessary steps that need to be undertaken to set them up.
In step 4, this process is executed, guiding the domain experts in the process of
creating the IoT environment for their application. In step 5, the IoT
application is tested and, if there are no changes necessary, it goes into production. A
feedback loop in this method ensures that new requirements can be considered
also after the setup. In the nal step 6, the IoT environment is retired, once an
IoT application reaches its lifetime. In the following, the toolbox and the steps
of this method are described in more detail.
2.1</p>
      <sec id="sec-2-1">
        <title>Toolbox and Building Blocks</title>
        <p>Our toolbox o ers a set of building blocks (BB) that are divided into di
erent categories. These categories include, for example, physical devices, network
protocols, or software applications. In order to ensure understanding and
applicability of our approach, we introduce a formalization of the toolbox. A BB is
formalized as follows:</p>
        <p>BB:
Building Block</p>
        <p>BB:</p>
        <p>Building Block
Name
Type
Description
Dependencies
Icon
Capabilities</p>
        <p>Name:
Publish</p>
        <p>Subscribe</p>
        <p>Type:
Communication</p>
        <p>Description: Loosely
coupled communication
Dependencies: None
Icon:
Capabilities:
Loose Coupling
{ N ame 6= ;: unique name of the building block.
{ T ype 6= ; : the type t 2 T , where T is the set of available bb types.
{ Description: optional description.
{ Dependencies: set of bb 2 BB related to this building block.
{ Icon 6= ;: icon of the building block.
{ Capabilities: set of capabilities of the building block, used to map user
requirements to the BBs of the toolbox.
De nition 2 (Building Block Implementation). Let bbi 2 BBI be a tuple
(N ame; Artif act; Description; Icon; ImplementedBB, Dependencies), whereas
BBI is the set of all available building block implementations in the toolbox T B.
A bbi contains:
{ N ame 6= ;: unique name of the building block implementation.
{ Artif act: software artifacts.
{ Description: optional description.
{ Icon 6= ;: icon of the building block implementation.
{ ImplementedBB 6= ;: a list of BB implemented by the building block
implementation.
{ Dependencies: list of bbi 2 BBI related to this building block
implementation.</p>
        <p>Furthermore, bbiM apping : BB ! BBi corresponds to the mapping, which
assigns a BB to one or more BBIs.</p>
        <p>
          A BBI contains a software artifact, which can be of di erent types, e.g., a
Docker container, a cloud service, or a binary application. Furthermore, BBIs
can have a set of dependencies that could require installation of di erent BBIs.
For example, some BBIs might require the installation of certain programming
languages (Java, Python) or a speci c operating system. In addition, each BBI
requires a de nition of its interfaces to enable an easy orchestration via business
processes. In case of software artifacts, these interface descriptions should be
de ned based on standards, such as WSDL [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ].
        </p>
        <p>For our BB example in Figure 2, implementations include MQTT brokers,
such as Mosquitto or RabbitMQ. Once domain experts decide to use the
publishsubscribe paradigm, they will nd the according building block in the toolbox
and will be able to select one of the corresponding implementations.</p>
        <p>The BBs and BBIs can be de ned in a hierarchical structure, meaning that
building blocks can inherit characteristics of other building blocks, enabling their
specialization. The depth of the hierarchy is arbitrary and is decided by the
designer of the toolbox. Figure 3 depicts an example of hierarchical building
blocks for a connection between devices. In this example, as root, the generic
building block \Connection" is de ned, representing all possible kinds of
connections. This Connection BB is then derived to the \Wireless Connection" building
block, which represents all connection BBs that are wireless. The Wireless
Connection BB has three di erent implementations, which can again be derived by
di erent BBIs. Each BBI could have BB and/or BBI dependencies, and one BBI
can implement one or more BBs, therefore the relationship between BBIs could
be AND, OR or both. After the toolbox is lled with BBs and BBIs, it can serve
as a foundation for our method to set up IoT environments, which is described
in the following.</p>
      </sec>
      <sec id="sec-2-2">
        <title>Step 1: Requirement Speci cation</title>
        <p>In the rst step of our method, IoT application developers, i.e., the domain
experts and their stakeholders, need to de ne a set of requirements for their
application.</p>
        <p>
          A requirement is a condition or capability needed by the user to solve a
problem or to achieve an objective [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. These requirements in an IoT system's
context can be functional (e.g., sensed variable, sending rate) or non-functional,
also known as quality-of-service requirements (e.g., lifetime, reliability) [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>The toolbox provides a list of prede ned requirements for the most common
IoT application scenarios where the stakeholders can nd the requirements that
t their needs. The list should be kept up-to-date to the current state-of-the-art
of the IoT eld. These requirements need to consider di erent aspects, such as
network capabilities, used communication paradigms, costs, e ciency, security,
privacy, available computing resources, and so on. De ning such requirements
might involve many di erent stakeholders and even a requirements engineer, i.e.,
a person who understands the domain of the desirable application and also
possesses enough IoT knowledge to be aware of the suitable features and resources
for the development. E</p>
        <p>To enhance the reusability of the toolbox in multiple projects, a systematic
collection of requirements and the respective chosen building blocks are
documented to provide an overview of possible relations, assisting in requirements
engineering for future applications.</p>
      </sec>
      <sec id="sec-2-3">
        <title>Step 2: Building Block Selection</title>
        <p>In the second step of our method, involved stakeholders select the building blocks
they need based on the set of requirements created in step 1. As mentioned
before, the toolbox contains a collection of best practices in IoT application
development and, hence, gives an overview regarding which technologies and
approaches are available without the need for domain experts to acquire this
knowledge themselves.</p>
        <p>The selection of BBs is made based on recommendations by the toolbox,
which are generated by matching the requirements of the IoT application to
the capabilities of the building blocks. The nal selection is conducted by the
involved stakeholders. We de ne the mapping that assigns a requirement to one
or more building blocks as reqM apping : R ! BB.</p>
        <p>To make this selection process more clear, let us assume that a company aims
at developing a smart factory application in which self-driving vehicles transport
goods on the shop oor. The goal of this application is that these vehicles
dynamically determine the best routes and also consider other vehicles as well as people
and utilities of the shop oor. To achieve this, the vehicles need to be equipped
with sensors, monitoring the environment, and need to communicate with other
vehicles and participants on the shop oor through a wireless network. Setting
up such a complex scenario, requires the expertise of many di erent stakeholders
that need to agree upon functional and non-functional requirements. Regarding
functionality, for example, an indoor localization system is essential to monitor
the position of vehicles, utilities and people on the shop oor. In addition, a
broad-band wireless network (e.g., 5G) needs to be established to cope with the
high data load. Furthermore, non-functional requirements are of high importance
in such safety-critical environments. Security, safety, robustness, accuracy and
real-time capabilities are only some of the essential requirements of this scenario.
In workshops, the stakeholders need to assess and discuss the requirements.</p>
        <p>Based on the functional requirements "indoor localization" and "wireless
communication", we show in Table 1, which BBs and BBIs could be
recommended by the toolbox:</p>
        <p>If we now consider the non-functional requirements as well, for example
highe ciency, robustness, and accuracy, the toolbox would lter the resulting BB list
accordingly. For example, localization using BLE and triangulation has issues
regarding accuracy and also e ciency. Hence, the BB "BLE localization" would
not be recommended by the toolbox, but rather a solution based on UWB
(ultrawideband). Similiar issues occur for WiFi connections, since they tend to be
unstable. The toolbox could suggest using LTE or 5G networks. The company
can then choose depending on costs or already available infrastructure on the
shop oor.</p>
        <p>Once the BBs are selected, a list of available BBIs is generated by the
toolbox. The selection of the BBIs is then conducted by the stakeholders based on
available expertise or costs.</p>
      </sec>
      <sec id="sec-2-4">
        <title>Step 3: Process Creation</title>
        <p>
          The third step deals with the business process modeling [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] to guide domain
ex
        </p>
        <p>Install
stationary
UWB receivers
Install mobile
UWB senders
Install position
calculation on
edge cloud</p>
        <p>Configure
channel
Configure
channel</p>
        <p>Measure
receiver
connection</p>
        <p>Validate
positioning of
receivers</p>
        <p>Integrate
and test
the system
perts and involved stakeholders through the process of setting up their IoT
environment. The tasks of the process set up the previously selected BBIs, whereas
usually several process tasks are required for each BBI. The business process
creation needs to be conducted manually by experts, which can become a
cumbersome and time-consuming task.</p>
        <p>Hence, setting up a given BBI in most of the cases will need common steps
to be taken even in di erent scenarios and the toolbox categorizes these typical
steps as best practices that can be used for the process creation. Assume, for
example, that a BBI sets up an indoor localization system on the shop oor, the
corresponding steps that need to be undertaken are mostly the same for di erent
companies with only minor di erences based on the layout of the shop oor.</p>
        <p>An example of a process is provided in Figure 4 in BPMN 2.0 syntax. This
process shows a simpli ed version of the di erent steps to set up an indoor
localization system using UWB technology, as discussed above. In parallel, the
receiver and sender hardware needs to be installed on the shop oor.
Furthermore, software for calculation of the position needs to be installed in an edge
cloud environment, which will later communicate with the receivers. After
conguration and measurements of the hardware, the system can be integrated,
tested, and can then go into production.</p>
        <p>Note that the con guration of di erent BBIs can have a di erent number of
tasks in the process due its complexity, as shown in our example process. For
manual creation, the above mentioned best practices can help in selecting the
tasks for the creator.</p>
      </sec>
      <sec id="sec-2-5">
        <title>Step 4: Process Execution</title>
        <p>In step 4, the process is then executed in order to realize the setup of the IoT
environment. Depending on the chosen modeling language, a suitable BPMN 2.0
Business Process Management System (BPMS) needs to be provided. For BPMN
2.0, for example, the established BPMS Camunda could be used. In each step
of the process, domain experts get a noti cation about the tasks they need to
conduct, for example, plugging in sensors, con guring a WiFi connection, or
installing software on IoT devices. Documentation of the di erent technologies
that are set up, can be found in the BBIs. In simple scenarios, setting up the
IoT environments, should also be possible for non-expert users. However, usually
this requires domain-speci c expertise, as shown in our smart factory example.
After task completion, the process moves to the next task. Parallelism is usually
supported by such BPMS as well.</p>
        <p>Once the process has successfully reached its end, the IoT environment is set
up. This process can then be reused in similar scenarios, sometimes only with
minor necessary adaptations. In case of issues in the processes creation or
execution, e.g., due to unforeseen errors, experts need to be available to cope with
occurring di culties and to x the problems. All occurred problems should then
be documented inside the BBI's description so that this knowledge is preserved.</p>
      </sec>
      <sec id="sec-2-6">
        <title>Step 5: IoT Environment Adaptation</title>
        <p>It is not unusual that adaptations are necessary over time after an IoT
environment was set up. For instance, due to changes in the application and, hence,
changes in the requirements, or due to failing devices that need to be replaced.</p>
        <p>If adaptations are necessary, the feedback loop in our method allows to
return to the rst step, rede ning the requirements of the application, adding or
removing requirements. After that, in the second step, the already chosen and
running BBIs need to be considered, i.e., only the new BBs and BBIs should be
chosen from the toolbox.</p>
        <p>The process creation step then creates a so-called adaptation plan, which
includes removing unnecessary BBIs and only setting up and integrating the newly
added ones. After execution of the adaptation plan, the IoT environment is set
up again, considering the new requirements as well.</p>
      </sec>
      <sec id="sec-2-7">
        <title>Step 6: IoT Environment Retirement</title>
        <p>The nal step is the retirement of the IoT environment, which is executed once
an IoT application reaches its lifetime. In this case, the creation of a termination
process is required, reversing the steps of the original process setting up the
environment. Using the process for creation as a foundation eases the creation of
the termination process. After this process was executed, the IoT environment is
retired. Note that the creation and termination processes should be stored since
they can be useful to re-setup IoT applications after some time.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Case Study</title>
      <p>This section presents a case study that applies our approach to a smart factory
scenario. We worked on this scenario in cooperation with a large German
producer of transport vehicles on shop oors. Our experiences with this scenario
helped us with the conception and improvement of our toolbox.</p>
      <p>In this scenario, depicted in Fig. 5, indoor localization of self-driving vehicles
should be realized. These vehicles are able to pick up goods in a warehouse and
transport them to a di erent location. In order to realize this scenario, so it is
robust enough for real-world use, it must be known where the vehicles are at
all times. For this, each vehicle needs a localization tag, which communicates
with multiple stationary tags throughout the factory to determine the current
location. Hence, many assets, sensors, and actuators need to be set up. In the
following, the steps of our method are described speci cally for this scenario.
Step 1: Requirement Speci cation. The requirement speci cation for this
use case requires many di erent stakeholders: Shop oor workers that have
experience with the environment the scenario is implemented in, network experts,
setting up wireless connectivity and the edge cloud environment, indoor
localization experts, setting up the localization system, electricians making sure that
the power supply for the localization is guaranteed, business experts, bringing
in knowledge about the processes, and so on.</p>
      <p>Step 2: Building Block Selection. Once the domain experts have created
the list of requirements, the toolbox makes suggestions regarding the building
blocks that can be applied to this scenario. For example, one requirement is the
need for an indoor localization system. The toolbox can propose using Bluetooth
Low Energy localization through triangulation or more exact systems, using a
real-time localization system, e.g., based on ultra-wideband (UWB). Since the
requirement "high accuracy" is also given, the recommendation would suggest
the more accurate UWB based system. Furthermore, wireless communication
might be required. Due to the high e ciency requirements, a 5G network might
be suggested instead of WiFi or LTE. The suggestions of the toolbox are an
important part to decrease the time necessary to analyze and select the right
systems for the scenario, which usually can take months.
Step 3: Process Creation. The process creation is conducted by an IoT expert
and is, for now, designed manually. In this case, the set of BBs and BBIs above
was given to a specialist and the process was created as shown in Figure 4 only
for the localization system. For such a complex scenario, multiple processes are
required to set up the speci c parts (e.g., localization, door control, networks,
etc.). Best practices based on previous scenarios can help in process creation.
Step 4: Process Execution. In order to set up the desired scenario, the
processes in Figure 4 are executed. By doing so, the corresponding experts install
the hardware, e.g., the localization system, by using the steps given by the
process. After all processes have been executed, the scenario is set up. In general,
during process execution, there might be dependencies between the processes.
For example, it is necessary to set up the wireless communication rst before
the localization system can be set up. This needs to be modeled in the processes.</p>
      <sec id="sec-3-1">
        <title>Step 5: IoT Environment Adaptation. In step 5, the IoT environment could</title>
        <p>be adapted by the stakeholders, for example, to extend the area the self-driving
vehicles can move into or adding more vehicles. The overall setup should stay
the same. Only necessary adaptations should be made in the IoT environment.
In this case scenario, an adaptation process includes, e.g., setting up more UWB
senders and receivers and an additional con guration and integration step. The
rest of the setup should stay the same.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Step 6: IoT Environment Retirement. Possible cases when such a scenario</title>
        <p>is retired are moving the factory to another location or using other kinds of
devices that fundamentally change the setup. In these cases, a termination
process reverses all steps of the setup, for example by removing the UWB senders,
powering down the edge cloud, etc.</p>
        <p>Prototype. The toolbox is under development as a web-based prototype that
will serve as a proof-of-concept for our approach. This prototype is available on
Github (separated in backend: https://github.com/mtfrigo/IoT-Toolbox-Backend
and frontend: https://github.com/mtfrigo/IoT-Toolbox-Frontend). A screenshot
of the frontend is depicted in Fig. 6.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Discussion</title>
      <p>The recommendation of Building Blocks is highly dependent on the applications'
requirements. Their discovery is a complex task for the involved stakeholders.
Hence, for the method to work well, it is essential that the stakeholders are
supported in the requirement selection process by experts of di erent domains.
Missing requirements may lead to a non-satisfactory result.</p>
      <p>Our method treats the IoT application as a combination of software and
hardware. Thus, it proposes speci c software and hardware components, which
should be used to implement the application and also provide artifacts for the
implementation. However, there are limitations regarding the artifacts, as they
are particular to the application and not to the domain, causing that the
developer might have to add additional code manually to make the artifacts work
with the respective environment. Hence, programmers are still necessary, even
though their e ort is decreased by our recommendations.</p>
      <p>Furthermore, there are some limitations, especially regarding process creation
and adaptation. Currently, the processes need to be created by experts in the
corresponding modeling language, e.g., BPMN 2.0. Automated techniques, such
as process mining, for the process creating and adaptation should be added.</p>
      <p>As result of the provided case study, we have also identi ed that given a
complex scenario, the task to gather suitable devices and technologies can take
several years and creating an optimal solution is even harder. This time can be
signi cantly reduced using the toolbox and choosing the recommended building
blocks. Secondly, such a complex scenario, as the case study, can be hard and
time-consuming to model even for an expert, and the toolbox doesn't provide
any support for this yet. We will work on this in the future.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        Franco da Silva et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] present Internet of Things Out-of-the-Box, an
approach using the OASIS standard TOSCA [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] to set up IoT environments. In
their work, the goals are similar to ours, setting up IoT environments with as less
e ort as possible. Instead of a toolbox, they are using a TOSCA Type
Repository, however, the steps of de ning requirements and selecting the most suitable
TOSCA types are not described. The processes they use for setting up the IoT
environments do not support human tasks. Thus, hardware device setup and
other manual steps should already be done in their approach.
      </p>
      <p>
        Yelamarthi et al. [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] introduce a modular IoT architecture. Their work is
similar to our approach since they use modular building blocks to create an IoT
architecture. Their work shows that IoT architectures work best when they are
built in a modular manner since replacing parts of the architecture becomes
more easy. We built on the idea of such a modular architecture and extend it by
providing a means to set it up through a holistic lifecycle method based on our
toolbox containing a variety of building blocks.
      </p>
      <p>
        In the past, many IoT environment models have been developed. These
models contain information about the devices of the IoT environment, their
properties (e.g., location or computing resources), the attached sensors and actuators,
and their interconnection. However, these models highly di er in their content,
the formats being used, and the domain they are applied to. Famous
examples for such models are SensorML [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] or IoT-Lite [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Some of these models
are developed and maintained by large organizations, others have been created
in research projects and are maintained by a small group of people.
Furthermore, some of them are even standardized. These models can be used to provide
a standardized mean to describe the building blocks we aim for. Since many
models are built based on ontologies (e.g., using the Web Ontology Language
OWL [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]), important aspects, such as hierarchies and inheritance, dependencies,
and attributes, are already provided. When de ning the speci cs of the building
blocks in the future, we will consider these models.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Summary and Future Work</title>
      <p>In this paper, we present an approach to guide users through the whole process
of setting up IoT environments and corresponding custom IoT applications. We
introduce a holistic method that covers the whole lifecycle of an IoT
application. First, the requirements of the environment and its applications need to be
de ned by domain experts and involved stakeholders. After that, a toolbox is
provided, containing a large variety of building blocks domain experts can
select from. These building blocks cover di erent aspects of IoT environments. By
plugging them together, IoT environments can be set up easily. The actual set
up is then provided by processes, de ning the order of the necessary steps to be
conducted to set up the IoT environment based on the building blocks. After
process execution, the IoT environment is successfully set up and can be adapted
any time through the feedback loop in our method. Once the IoT environment
is retired, the method reaches its end.</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>This work is nanced in part by the Coordenac~ao de Aperfeicoamento de Pessoal
de N vel Superior - Brasil (CAPES) - Finance Code 001 and the research project
IC4F funded by the German Ministry for Economics and Energy (01MA17008G).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Antoniou</surname>
          </string-name>
          , G., van
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <source>Web Ontology Language: OWL</source>
          , pp.
          <volume>67</volume>
          {
          <fpage>92</fpage>
          . Springer Berlin Heidelberg (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Bermudez-Edo</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Elsaleh</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barnaghi</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Taylor</surname>
          </string-name>
          , K.:
          <article-title>IoT-Lite: a lightweight semantic model for the internet of things and its use with dynamic semantics</article-title>
          .
          <source>Personal and Ubiquitous Computing</source>
          <volume>21</volume>
          (
          <issue>3</issue>
          ),
          <volume>475</volume>
          {487 (Jun
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bormann</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castellani</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shelby</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>CoAP: An Application Protocol for Billions of Tiny Internet Nodes</article-title>
          .
          <source>IEEE Internet Computing</source>
          <volume>16</volume>
          (
          <issue>2</issue>
          ),
          <volume>62</volume>
          {
          <fpage>67</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Chinosi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trombetta</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>BPMN: An introduction to the standard</article-title>
          .
          <source>Computer Standards &amp; Interfaces</source>
          <volume>34</volume>
          (
          <issue>1</issue>
          ),
          <volume>124</volume>
          {
          <fpage>134</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Chourabi</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nam</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Walker</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gil-Garcia</surname>
            ,
            <given-names>J.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mellouli</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nahon</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pardo</surname>
            ,
            <given-names>T.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scholl</surname>
            ,
            <given-names>H.J.:</given-names>
          </string-name>
          <article-title>Understanding smart cities: An integrative framework</article-title>
          .
          <source>In: 2012 45th Hawaii International Conference on System Sciences</source>
          . pp.
          <volume>2289</volume>
          {
          <issue>2297</issue>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Costa</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pires</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Delicato</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Specifying functional requirements and qos parameters for iot systems</article-title>
          .
          <source>In: Proceedings of the 2017 IEEE 15th Intl Conf on Dependable, Autonomic and Secure Computing</source>
          . pp.
          <volume>407</volume>
          {
          <issue>414</issue>
          (11
          <year>2017</year>
          ). https://doi.org/10.1109/
          <string-name>
            <surname>DASC-PICom-DataCom-CyberSciTec</surname>
          </string-name>
          .
          <year>2017</year>
          .83
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosa</surname>
            ,
            <given-names>M.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reijers</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          :
          <article-title>Fundamentals of Business Process Management</article-title>
          ,
          <source>Second Edition</source>
          . Springer (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Harper</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>: Inside the Smart Home</article-title>
          . Springer Science &amp; Business
          <string-name>
            <surname>Media</surname>
          </string-name>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Hunkeler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Truong</surname>
            ,
            <given-names>H.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stanford-Clark</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>MQTT-S | A publish/subscribe protocol for Wireless Sensor Networks</article-title>
          .
          <source>In: 2008 3rd Int Conf on Comm Systems Software and Middleware and Workshops (COMSWARE '08)</source>
          . pp.
          <volume>791</volume>
          {
          <issue>798</issue>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Khaled</surname>
            ,
            <given-names>A.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Helal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lindquist</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Iot-ddl{device description language for the \t" in iot</article-title>
          .
          <source>IEEE Access 6</source>
          ,
          <issue>24048</issue>
          {
          <fpage>24063</fpage>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>McEwen</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cassimally</surname>
          </string-name>
          , H.:
          <article-title>Designing the Internet of Things</article-title>
          . Wiley Publishing (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. OASIS:
          <article-title>Topology and Orchestration Speci cation for Cloud Applications (TOSCA) Primer Version 1</article-title>
          .0 (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. OGC:
          <article-title>Sensor Model Language (SensorML)</article-title>
          . online, http://www.opengeospatial.org/standards/sensorml
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          : Requirements Engineering: Fundamentals, Principles, and Techniques. Springer Publishing Company, Incorporated, 1st edn. (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Shrouf</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ordieres</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miragliotta</surname>
          </string-name>
          , G.:
          <article-title>Smart factories in industry 4.0: A review of the concept and of energy management approached in production based on the internet of things paradigm</article-title>
          .
          <source>In: 2014 IEEE Int Conf on Industrial Engineering and Engineering Management</source>
          . pp.
          <volume>697</volume>
          {
          <issue>701</issue>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Franco da Silva</surname>
            ,
            <given-names>A.C.</given-names>
          </string-name>
          , Breitenbucher, U.,
          <string-name>
            <surname>Hirmer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kepes</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopp</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mitschang</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steinke</surname>
          </string-name>
          , R.:
          <article-title>Internet of Things Out of the Box: Using TOSCA for Automating the Deployment of IoT Environments</article-title>
          .
          <source>In: Proceedings of the 7th Int Conf on Cloud Computing and Services Science (CLOSER)</source>
          . pp.
          <volume>358</volume>
          {
          <fpage>367</fpage>
          .
          <string-name>
            <surname>SciTePress Digital Library</surname>
          </string-name>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Vermesan</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Friess</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Internet of Things: Converging Technologies for Smart Environments</article-title>
          and
          <string-name>
            <given-names>Integrated</given-names>
            <surname>Ecosystems</surname>
          </string-name>
          . River Publishers (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Weerawarana</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Curbera</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Storey</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ferguson</surname>
            ,
            <given-names>D.F.</given-names>
          </string-name>
          :
          <article-title>Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WSBPEL, WS-Reliable Messaging and More</article-title>
          . Prentice
          <string-name>
            <surname>Hall</surname>
            <given-names>PTR</given-names>
          </string-name>
          , USA (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Yelamarthi</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Aman</surname>
            ,
            <given-names>M.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abdelgawad</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>An application-driven modular IoT architecture</article-title>
          .
          <source>Wireless Communications and Mobile Computing</source>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>