Realising Relative Autonomy and Adaptation in Smart Objects Systems
2018-04-27T15:05:32Z (GMT) by
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.