Models and Analysis for User-driven Reconfiguration of Rule-based IoT Applications

31 August 2021

New Image

The Internet of Things consists of devices and software interacting altogether in order to build powerful and added-value services. One of the main challenges in this context is to support end-users with simple, user-friendly, and automated techniques to design such applications. Given the dynamicity of IoT applications, these techniques should consider that these applications are in most cases not built once and for all. They can evolve over time and objects may be added or removed for several reasons (replacement, loss of connectivity, upgrade, failure, etc.). In this paper, we propose new techniques for supporting the reconfiguration of running IoT applications. These techniques compare two versions of the application (before and after reconfiguration) to check if several functional and quantitative properties are preserved. This information is used by the user to decide whether the actual deployment of the new application should be triggered or not. The analysis techniques have been implemented using encodings into formal specification languages and verification using corresponding analysis frameworks. All these techniques for designing a new application, analyzing the aforementioned reconfiguration properties, and deploying the new application have been integrated to the WebThings platform and applied on real-world examples for validation of the approach.