Abstract
IoT (Internet of Things) is the foundation and infrastructure of any ‘Smart Solution’. It is the
network of physical objects or ‘things’ embedded with electronics, software, sensors and connectivity.
Things, in the IoT, can refer to a wide variety of devices such as your smartphone, tracking beacon,
heart monitoring implants, biochip transponders on farm animals, electric clams in coastal waters,
automobiles with built-in sensors, or field operation devices that assist fire-fighters in search and
rescue. These devices are termed as smart devices. Internet of Things (IoT) solutions uses smart
devices that have the properties of being programmable, sensor-based and connected. Today’s smart
applications leverage IoT technologies that enable collaboration between different entities involved in
the application. Further, smart applications provide local intelligence attached to each device/physical
object. A smart solution constantly gets data and events at different levels of abstraction from
underlying IoT devices, sensors, and environmental parameters to make decisions and perform actions.
An IoT smart application interconnects various smart objects and interacts with the environment for
a specific purpose. Smart solutions require fusion of heterogeneous sensors’ data from a variety of
IoT applications and orchestration of data, events, control, and process flows arising from individual
IoT applications. Data from IoT devices and sensors are an integral part of smart solutions. The data
requirements at the application level are usually different from the data that is captured by the Sensors.
IoT driven smart solutions typically use the raw sensor data that is aggregated, filtered and processed to
drive the smart solution. Such data has different semantics in contrast to sensor data. There is a need
for proper data logistics for the movement of data from the sensors producing data to smart solutions
consuming it.
Further, new smart devices appear and disappear on-the-fly during the smart solutions life-cycle.
Smart solutions must be resilient and adapt to the changes in the environment seamlessly. Due
to multiple data flows from Sensors to Smart Solutions, the modelling, and the enactment of IoT
processes is a challenging task. In this work, we present IoT data logistics flows as workflows that
are orchestrated by the events raised during the execution of a smart solution to create, update and
deploy the workflow instances. The data and event handling through workflow events support resilient,
smart solutions. As the execution of the smart solutions is mostly dependent on the context (such
as location, time and events), there is a dependency between the context for the data generated and
the data requirements for the smart solutions. Thus, there is a need for updating the workflows as
well as adding new workflows as the execution of the smart solution is progressing for the effective
vi
vii
processing of IoT data. Our approach uses Execution Workflows for the creation, modification, and
the execution of IoT workflows on-the-fly. In this work, we also present an implementation framework
of our approach and demonstrate the proposed approach for different scenarios in a smart office solution.
Workflow management systems drive most of the complex business applications or processes. The
workflow management system has a specification component, and an execution component along with
other functional components for data flow and control flow, along with orchestration and management
of tasks and worklists. Thus, the workflow management system becomes monolithic or composed of
tightly coupled modules that enable the specification and execution of workflow instances. Therefore,
any modification of execution components of a workflow system requires considerable effort and cost.
We address this issue by using a meta execution workflow system that gives us control over specifying
various workflow definitions to execute workflow instances as per our needs. The meta execution
workflow system allows us to specify user workflows according to the smart application requirements
and the workflow engine consists of modules required to execute the tasks of the workflows. The data,
control and event flow in the smart solution is handled by the execution workflow system.
We present a data logistics system that includes 1) A workflow model for a data logistics system 2)
Architecture to support the movement of data from data producers to consumers. Our solution uses the
meta execution workflows and user-specified workflows, to support the data fulfilment requirements for
the enactment of smart solutions.