posted on 2018-04-27, 15:05authored byMarco Eric Pérez Hernández
The common approach for engineering of applications for the Internet of Things (IoT)
relies heavily on remote resources, particularly in the cloud. As a result, data is collected
and functionality is centralised in the cloud platforms leaving devices with only
raw data gathering and actuation functions. IoT envisions an environment where devices
can act as smart objects that are able to make decisions and operate autonomously
for the benefit of the human users. Usually, autonomous functions are mixed with automatic
functions that only consider the human user point of view.
In this work, we propose an IoT application development framework based on goaldirected
and role-based smart objects. This framework is composed of a conceptual
basis, a software architecture, a middleware architecture and an adaptation method.
First, we define the concepts of smart object, its autonomy and the collective of smart
objects from a thorough examination of the smart object, its properties and key processes.
Then, we develop a set of abstractions and the software architecture for smart
objects.
For easing the development effort and making this approach practical, we define a middleware
architecture, intended to serve as blueprint for concrete middleware solutions.
We also implemented a prototype based on this architecture. Functional components
of the architecture enable smart object systems to adapt to volatile situations. We propose
a method for adaptation based on the selection of smart objects, services and roles.
Finally, we develop an agent-based model for simulation of IoT environments under
conditions of heterogeneity, volatility and large quantities of smart objects. We use
this model together with a case study and a qualitative comparison of existing solutions
to evaluate our framework. Our results show that the proposed approach is a feasible
and scalable alternative for IoT application development based on smart objects that
incorporates the concept of relative autonomy, in this context, and the adaptation at
individual and collective level.