You are on page 1of 5

Event-driven Architecture for Sensor Data Integration for Logistics Services

Jens Leveling¹, Luise Weickhmann¹, Christian Nissen¹, Christopher Kirsch²


¹Software & Information Engineering, Fraunhofer Institute for Material Flow and Logistics, Dortmund, Germany
² BEUMER Group GmbH & Co. KG, Beckum, Germany
(jens.leveling@iml.fraunhofer.de, luise.weickhmann@iml.fraunhofer.de, christian.nissen@iml.fraunhofer.de,
christopher.kirsch@beumergroup.com)

Abstract – Sensor data offers a massive potential for the communication approaches as shown in [16, 17], but also
logistics sector. To achieve an optimal, effective and for an architecture that is able to provide well-formed data
productive supply chain, operators and manufacturers are for other IT-systems and cloud environments.
challenged to use this information and extract value from it. However, a suitable architecture to integrate data
They have to comply with the main task of efficiently
managing logistics processes as well as fulfilling
from different sensor devices is still missing. Therefore, a
requirements and guidelines. To do so, it is necessary to simple way to integrate, pre-process and provide data
monitor all processes and understand exceptions and from sensor and other Internet of Things devices is
anomalies. Sensor and Internet of Things (IoT) data is the required. This paper introduces a software architecture
key for these tasks. Currently, the data is available but not that contributes to these challenges. The focus lays on
(sufficiently) used. The heterogeneity of sensor data is a receiving data from several devices and transforming it
major obstacle for the usage. Therefore, we present an into well-formed datasets for further usage, e.g. data
architecture, which addresses these challenges by integrating analytics. Figure 1 shows the general structure of our
heterogenic data in well-formed data sets. architecture. The main component is the IoT Gateway,
which communicates with sensor devices as well as with
Keywords – Internet of Things, Sensor Devices, Sensor
PLCs and more complex modules. It is also providing a
Data, Data Integration, Data Fusion, Smart Services, Data-
Driven Logistics, Logistics. System View, which displays the received data. The
gateway communicates with a Cloud environment, where
data is stored and processed. The cloud itself is providing
I. INTRODUCTION a Process View, which displays data like the system view,
but more detailed and with insight in context information.
Nowadays, logistics operators have to cover a lot of
complex tasks and challenges. Therefore, they have a
need for a simple and efficient management of their
logistics processes. Furthermore, it is mandatory to fulfil
and implement new requirements and guidelines. The
third challenge is to detect and understand process
exceptions and anomalies, which occur from time to time.
All these tasks lead to new requirements for the
manufacture of logistics systems. To comply these,
operators and manufacturers need more information and a
better understanding of their systems in production.
The background is that programmable logic
controllers (PLCs) consume sensor data, but it is neither
forwarded nor stored. Hence, a further usage becomes
possible as sensor devices grow more and more
intelligent. [2] describes this development in three
aspects. The sensor CPU has more processing power, the
sensor functionality is parametrized by software and the
device has ISO/OSI level 7 interfaces, like HTTP or Fig. 1: High-level view of sensor data integration
MQTT. Besides this, as outlined by [3] smart sensor
devices become more and more important. This paper’s structure is as follows: Section II
Today, based on current developments as described describes the status quo of sensor and Internet of Things
by Industry 4.0 and Digitization [3] all this data becomes devices in more detail and derives requirements for an
available and can be a basis for new services. As stated in architecture. Section III refers to existing approaches and
[15], companies often offer these services on top of their related work in this field. Section IV outlines the core
physical products to work in their own ecosystem. concepts based on the requirements. Section V presents
Next to the more and more intelligent devices, the the architecture. It illustrates the concept of the
number of sensor and IoT devices in modern warehouses architecture and states which components are involved,
is growing. Concerning this, there is a need for new

978-1-5386-6786-6/18/$31.00 ©2018 IEEE 536


Proceedings of the 2018 IEEE IEEM

what tasks they fulfil, and how they interact with each considered that sensor devices are implemented in
other. Finally, section VI concludes the paper and gives distributed organizations and the number and variety of
an outlook on further research fields and improvements, devices is high. Additionally, sensors are usually sending
which are dependent on how the technology evolves. data in high frequencies up to 1000 events per seconds.
Generally, not all of these events are of interest for an
II. REQUIREMENTS integration into a cloud environment. Nevertheless, the
frequency is one of the major challenges when a data
A. Sensor and Internet of Things devices integration architecture starts receiving messages from the
devices just as they are created and send. We think it is
Today, logistics and production systems are using important and fruitful for any further usage of data to set
numerous different sensor- and Internet of Things devices the context and origin of the datasets as early as possible.
from various vendors. Unfortunately, these vendors are In many cases and industrial projects, this was and is the
using their own software interfaces and protocols. Open key concept for an easier understanding and analytics of
or sector wide standards are uncommon, today. This data within services.
approach derives from the past: Devices only had to be Additionally, to the challenges of the devices, the
connected to a PLC to handle upcoming tasks without any data will be used by IT-services. These services have to
further connectivity, especially not to cloud environments. be adjusted, exchanged or reconfigured to cover new or
Although technology developed a lot since then, the changing requirements. Moreover, different devices have
vendors themselves still do not address this. However, the to be connected and reconnected. Both aspects lead to the
devices are becoming more and more software need for an architecture that is flexible and easy to adjust
configurable and solutions like app stores for devices are for new services and devices.
developed [13, 14].
Besides this, many different devices are available and C. Requirements
used. For example, there are lots of diverse sensor types.
In summary, all these aspects lead to the four core aspects The former outlined challenges lead to these major
of device heterogeneousness as shown by figure 2. requirements:

1. Add context and origin of data to improve the


data interpretability for further usage
2. Aggregate and filter data to tackle the high
frequency and to reduce the amount of data
3. Transform data into open protocols and formats
to ease the usage
4. Transform data into a well formed semantic
based data model
5. The services require a loosely coupled approach
to adjust the architecture in a flexible manner

Fig. 2: Heterogeneousness of sensors is described by four aspects


III. RELATED WORK

B. Challenges There are several approaches to address the problem


of unifying software architectures and data models for
The former described aspects also lead to four IoT. With IoT-A [6] a reference model was introduced,
challenges, which are influencing an architecture for data that includes a definition of uniform terms to establish a
integration and connectivity of heterogeneous devices as common understanding of the attending components and
shown in figure 3. builds the foundation for concrete IoT architectures.
The iCore framework [7] and the SENSEI
architecture [8] deal with the integration of data out of
different heterogeneous sources. They obtain a high usage
of the data by transferring data into a uniform data model.
The research programme FI-PPP also addressed this
topic and thereby developed FIWARE [12]. It is an open-
source platform, which provides a uniform interface for
IoT applications to enrich IoT data with context and
connect it with big data services.
Fig. 3: Sensor data integration requirements/challenges They expose the challenges, which are accompanied
Next to the various data structures and interface to building up an architecture for IoT in general. Since
technologies, in many cases, a data context is missing nor there are several application domains with various
is a semantic description available. It must also be requirements for IoT the complexity of that task increases

537
Proceedings of the 2018 IEEE IEEM

massively. Therefore, many specific application-oriented architecture and no service orchestration but a service
and in many cases incompatible solutions were choreography based on Publish/Subscribe communication
developed. This leads to the fragmented Intranet of [18]. Furthermore, we rely on the Micro Service concept
Things mentioned in [9] rather than a feasible Internet of (one service - one function), and finally, we are using
Things. In order to counter these trends Krco and Pokric exclusively opens standards, like JSON and HTTP, to
reviewed existing initiatives for building up a common enable an easy usage and adoption of our results in
base for IoT architectures [4]. They advocate further work various logistics applications. In summary, our
in refining IoT-A ARM, which was among others done by architecture is following the design principles of an
developing the FIESTA-IoT platform, which improves the Event-Driven Architecture as outlined here [19].
semantic interoperability of different IoT architectures
[5]. In [11] an IoT-A-based architecture is connected to V. EVENT-DRIVEN ARCHITECTURE
the FIWARE platform to meet the requirements of both
sides – the operator and manufacturer. This section describes our Event-Driven Architecture.
Additionally there are pilot projects to evolve This paper uses the definition of Architecture by IEEE
different solutions and archive best-practice experience in Std. 1471-2000 [20], describing the architecture, its
the different fields. components, their relationships to each other and
Particularly, we want to mention the EU project information exchange.
TransformingTransport [10], which is in the Horizon
2020 programme and addresses the opportunities and A. Basic Architecture Components
progress of the transport sector by using IoT and Big
Data.
A second promising initiative is the Industrial Data
Space (IDS) - initiated by Fraunhofer. Its main goal is to
develop a platform for a secure, semantically well-formed
and easy exchange of business data. FIWARE provides
the digital platform for the data space, on which the
specific services are build.
All the outlined projects and frameworks have one
thing in common: they focus more or less on specific use-
cases. However, data transformation and covering of
device specifics are only in focus of the IDS and the
FIWARE approach. Additionally, the IDS also considers
business data, e.g. from ERP systems.
Fig. 4: Basic components of the Integration Stack
IV. CORE CONCEPTS
Figure 4 shows the six different types of services we
The essential goal of the architecture is the assurance designed. First, for every device that is connected we
of a flexible exchange of services. We reached this implemented a Device Adapter, which has exactly one
functionality by establishing application containers. task: Collect all device specifications, like data models
Applications will run on a runtime inside a container and and protocols, transform the data into well-formed JSON-
thereby be independent of the device where they are documents and send them via our communication concept
deployed. Furthermore, all necessary libraries are added as outlined in the next subchapter. One of the basic
to the container and not to the underlying infrastructure. requirements, setting data into a context, is covered here.
Finally, based on the application container concept all With this approach, we see our concept, setting data into a
services are running isolated. Figure 4 shows the basic context as early as possible, implemented.
components of the Integration Stack running in The Device Adapter is also responsible for adding
application containers. They all communicate by a context and origin information to a new dataset. We have
Publish/Subscribe mechanism and hence event-driven and seen in industrial projects with sensor and system vendors
not directly, all communication goes over a message bus. that this information is mandatory for further usage, e.g.
The next subchapter outlines the communication approach processing or system optimization and maintenance cases.
in more detail. The context involves information about a process or a
Both concept combined lead to a flexible architecture. rule, why a sensor has been triggered to send an event.
We can replace, stop and add services individually Simply speaking, we are adding information about a
without an effect on the others. This supports a loosely reason, why a sensor has created an event. As an example,
coupling of services, so that only the interfaces and data this can be a status information, like a temperature value,
models besides the application container implementation which has to be detected every minute. In addition,
are fixed. information about the adherence of boundary values is
The core concepts we are following to design this important here. Furthermore, origin information as
architecture are: Loosely coupling [18] to have a flexible timestamp, position and id of the device, to know which

538
Proceedings of the 2018 IEEE IEEM

device has created this message, completes the set of picture to the Data Cache and receives an HTTP link to
context data. In summary, origin is the sender of a the picture in return. Then it is sending not the picture but
message and context is why this message is send. Both the HTTP link within the event message to the topic as
information is present in most cases, when you connect a described before in this chapter. If the payload is smaller
device. The presented architecture does not define the than 1MB it is not stored in the Data Cache and bundled
message structure. We are leaving this open. From our within the event message. A Core Service is subscribing
point of view, this is in many cases use-case specific. to a device topic.
On the other side, the Cloud Adapter covers all All Device Adapters and Core Services are using this
specifics that are required to establish a connection to a communication model. If possible, – depending on the
target IT-system or cloud environment. Next to the two cloud side – we prefer to use exactly the same procedure
already explained services, we have two more services for the communication with a cloud environment. In this
that have core functions. The Data Cache is used by all case, the Data Cache interfaces are capsulated by a Cloud
services to store data that cannot be send by MQTT. In Adapter. This makes them accessible only for a cloud
our projects, that is data of 1MB or more. The Data environment. Here, the topic for cloud events follows the
Cache has a RESTful interface for providing the stored /system/[originSystemId]/[originServiceId]/result pattern.
data. Each dataset is identified by a unique id. Now a This topic will also be used, if events are directly
service adds data to the Data Cache and receives an forwarded from a device to the cloud. In this case, the
HTTP link, including the id. This link is part of a MQTT originServiceId is the id of the Device Adapter.
message. A client can use that link to get the data.
The Management Service contains functionality to C. Technologies & Implementation
administrate the other services, e.g. for starting and
stopping other services from outside. The functions are We realised the communication by using the JSON
provided by RESTful interfaces. Elemental is, that all format to describe data models and MQTT as
other services have to be registered at the Management transmission protocol. For addressing the REST interface,
Service. It assigns a service a unique id, which is the payload of an MQTT message is defined as HTTP
mandatory for our communication model. link of the Data Cache service including a unique id
Finally, all application specific functionality is placed identifying the payload content. We used the eclipse
into a Core Service. Here, as to the other services, we MQTT Broker mosquito as the event broker in our
follow the Micro Service approach, one service one implementation. A more detail analysis of IoT protocols,
function. including MQTT and HTTP, describes [23].
The application container technologies are Docker or
B. Communications Snap. Today Docker is widely supported (e.g. by build
tools, frameworks, operation systems and cloud
Elemental for our Event-Driven Architecture is the environments). So far, this does not count for Snap, which
communication approach. Therefore, we use a is offering a good solution for providing updates and new
Publish/Subscribe concept. The background here is that versions in a snap store (like a package repository of deb
many sensor and IoT devices are sending data frequently or rpm packages). A client downloads and installs those
or on demand depending on the configuration. A updates autonomously. This concept is similar to deb or
request/response based approach is uncommon. In our rpm package management solutions. A joint solution of
approach, the Device Adapter is responsible for handling Docker and Snap is also possible and combines both
a message from a device. It is transforming the received advantages [21].
data into a well-formed data format. Here we use JSON. Only Docker and the usage of MQTT, HTTP and
This message is now published to a message topic with a JSON limits the implementation of the services. Since all
specific structure /device/[originDeviceId]/event to an of them are versatile usable, the limits are more than
Event Broker. sufficient for the desired tasks. As a result, there is a wide
We have two different types of topics in our scope for developing service solutions.
architecture. A device topic with the former shown In our implementation, we use Node.js to implement
structure and a core topic for the results of a Core Service all services light-weighted, which is suitable for IoT [22]
/service/[originServiceId]/result. especially in relation to common Java or .Net
The communication comes with two different types, implementations. A C or C++ implementation is also
depending on the size of the payload. In our projects we possible, and common for procession of optical data, like
have seen, that events with a payload of 1MB or more pictures or point clouds.
might lead to issues in message fragmenting on the
underlying network communication stack. The result is D. Application domain
that a client might not receive the message correctly, as
some fragments do not arrive in the correct order. Our So far, this paper does not answer the question where
solution is here, to add this payload to the Data Cache, as this architecture is implemented. Actually, we leave this
outlined above. For example, the Device Adapter sends an consciously open to that point. The application container
event message with a 2MB picture. First, it adds this based approach allows to implement this architecture on a

539
Proceedings of the 2018 IEEE IEEM

device itself (assuming required IT resources like 2013: Validated Results and New Horizons, A. Galis, A.
processing power, memory and disk space), on an IoT Gavras (Eds.), Springer Open, pp. 350-352.
gateway or on the cloud side. The services only have to be [8] V. Tsiatsis, A. Gluhak, T. Bauge et al., „The SENSEI Real
compiled, if the underlying HW is changing between World Internet Architecture“, in Towards the Future
Internet, G. Tselentis et al. (Eds.), IOS Press, 2010 pp. 247-
ARM, x86 or other instruction sets. For this, there are also 256.
solutions like QEMU available, but we did not use this so [9] M.Zorzi, A. Gluhak, S. Lange, A. Bassi, „From today’s
far. Intranet of Things to a future Internet of Things: A
We have implemented this architecture on an x86 wireless- and mobility-related view“, in IEEE Wireless
based IoT Gateway and on an ARM based IoT Gateway. Communications, December 2010, pp. 44-51.
The goal was to integrate data from different sensor [10] EU Horizon 2020 project TransformingTransport, [Online],
devices of a material flow system. The use-case was to Available: https://transformingtransport.eu/ [Accessed:
collect data for a further analytics in regards of 24.05.2018].
maintenance and process optimization. [11] A. Preventis, K. Stravoskoufos, S. Sotiriadis, E. Petrakis,
“IoT-A and FIWARE: Bridging the Barriers between the
Cloud and IoT Systems Design and Implementation”, in
VI. CONCLUSION AND OUTLOOK Proceedings of the 6th International Conference on Cloud
Computing and Services Scienc, Rome, Italy. 23–25 April
Our Event-Driven Architecture is able to cover 2016, pp. 146–153.
vendor and device specifics on the one side and is flexible [12] FIWARE platform, [Online], Available:
in terms of extension and exchange of service due to new https://www.fiware.org/ [Accessed: 24.05.2018].
requirements on the other side. Today, this is possible to [13] sensegrow marketplace, [Online], Available:
the widely used concept of application containers, the http://www.sensegrow.com/ [Accessed: 25.05.2018].
available process power together with the use of the [14] Ubuntu IoT app store toolkit, [Online], Available:
https://www.ubuntu.com/internet-of-things/appstore
Publish/Subscribe communication model. [Accessed: 25.05.2018].
An integration of sensor data and IoT data via mobile [15] A. Taivalsaari and T. Mikkonen, A Roadmap to the
networks is not in focus of this paper. The next step of our Programmable World: Software Challenges in the IoT Era,
research is to adjust and implement the shown in IEEE Software, 2017, volume: 34,
architecture for modern mobile networks and for issue: 1, pp. 72-80.
upcoming standards, mainly NarrowBand IoT and 5G. [16] R. Falkenberg, M. Masoudinejad, and M. Buschoff, et al.
Here, limited bandwidth and battery lifetime are PhyNetLab: An IoT-Based Warehouse Testbed, eprint
important requirements to cover. arXiv: 1706.09219, 2017.
Since this paper does not focus on IT-security, we [17] R. Falkenberg, J. Drenhaus, B. Sliwa, C. Wietfeld, System-
in-the-loop Design Space Exploration for Efficient
used the safety facilities, results and connector Communication in Large-scale IoT-based Warehouse
architectures (both, the trusted and base connector) of the Systems, IEEE SysCon, Vancouver, Canada, 2018.
Industrial Data Space. [18] Erl, Thomas. 2008. SOA - Entwurfsprinzipien für
serviceorientierte Architektur. München : Addison-Wesley,
REFERENCES 2008. 978-3-8273-2651-5.
[19] Michelson, Brenda M. 2006. Event-Driven Architecture
[1] D. J. Beebe, “Signal conversion (Book style with paper title Overview. Boston: Patricia Seybold Group, 2. 02 2006.
and editor),” in Biomedical Digital Signal Processing, W. J. [20] IEEE Computer Society, “IEEE Recommended Practice for
Tompkins, Ed. Englewood Cliffs, NJ: Prentice-Hall, 1993, Architectural Description of Software-Intensive Systems”,
ch. 3, pp. 61–74. IEEE Std 1471-2000, ISBN 0-7381-2518-0, i-25, 10.2000.
[2] Stankovic, J.A., 2014. Research Directions for the Internet [21] Snapcraft and Docker, [Online], Available:
of Things. IEEE Internet of Things Journal 1, 3–9. https://snapcraft.io/docker [Accessed: 29.05.2018].
doi:10.1109/JIOT.2014.2312291. [22] M. Collina, M. Bartolucci et al: Internet of Things
[3] Bauernhansl, T., ten Hompel, M. & Vogel-Heuser, B., Application Layer Protocol Analysis over Error and Delay
2014. Industrie 4.0 in Produktion, Automatisierung und prone Links, in 2014 7th Advanced Satellite Multimedia
Logistik Anwendung Technologien Migration. Systems Conference and the 13th Signal Processing for
[4] S. Krco, B. Pokric, F. Carrez, „Designing IoT Space Communications Workshop (ASMS/SPSC), 2014.
Architecture(s) – A European Perspective“, in 2014 IEEE [23] N. Naik: Choice of Effective Messaging Protocols for IoT
World Forum on Internet of Things (WF-IoT), Seoul, South Systems: MQTT, CoAP, AMQP and HTTP, in IEEE
Korea, pp. 79 – 84. International Systems Engineering Symposium (ISSE),
[5] F. Carrez, T. Elsaleh, D. Gómez, L. Sánchez, J. Lanza, P. 2017.
Grace, “A Reference Architecture for federating IoT
infrastructures supporting semantic interoperability”, in
2017 European Conference on Networks and
Communications (EuCNC), Oulu, Finland.
[6] IoT-A Consortium, “Deliverable D1.5 Final architectural
reference model for the IoT v3.0,” Tech. Rep., 2013.
[7] R. Giaffreda, „iCore: A Cognitive Management Framework
for the Internet of Things“, in The Future internet Assembly

540

You might also like