The Internet of Things (IoT) aims to interconnect the physical world with the digital world, presenting complex challenges that require accurate models to ensure implementation accuracy and minimize errors. In this paper, we propose a general approach for modeling, specifying, and verifying Internet of Things architectures using the Unified Modeling Language (UML), the Event-B formal method, and the Rodin platform. We propose a model-to-text transformation that generates semi-automatic formal specifications from UML component diagrams profiled with IoT concepts and UML sequence diagrams. The resulting Event-B code allows for formal verification of system properties by employing the powerful model checker and animator tools within the Rodin platform. Additionally, we evaluate the effectiveness of various IoT patterns within our approach. Our results demonstrate the benefits of employing IoT patterns, including cost reduction related to software development. The proposed approach contributes to the development of reliable and efficient IoT systems by ensuring valid models and verifying system properties.
Read full abstract