FABIoT: A Flexible Agent-Based Simulation Model for IoT Environments

The Internet of Things aims to digitize everyday physical objects by connecting them to the internet. As a result, cyber-physical environments of multiple sizes emerge, imposing new requirements on applications and software systems in regards support to heterogeneity and volatility. A challenging stage in the engineering of these systems is the validation. Although, there have been significant efforts to offer shared real-world testbeds, the simulations platforms are required to make the validation process cost and time effective. Existing simulation approaches only offer partial coverage to the key IoT environment characteristics, focus on communication or are specific for particular use cases and domains. In this paper, we propose a novel agent-based model that enables the simulation of the IoT systems with the key characteristics of an IoT environment. This model is designed to be flexible and adaptable to different experiments. Our approach introduces events in IoT environments as stochastic processes, enabling the evaluation of IoT systems under different conditions that otherwise would be time consuming and costly. We present the results of our experiments for evaluation of our model. These show that our proposal is a practical solution for the validation of IoT software systems, complementary to the real-world tests.