-Internet of Things (IoT) faces different architectural challenges to meet the large scale application issues, the heterogeneity, and the self-adaptivity.Many IoT applications require a dynamic construction of the system and should ensure a high degree of reliability.
I. INTRODUCTIONInternet of Things (IoT) is the next wave of digital transformation: many objects that surround us will be connected. Sensors, actuators, and computing units will form networks for different applications. Those applications may concern home and personal uses, enterprises uses, public utilities, or transportation. The IoT is already ready for some specific uses as the majority of personal uses and some enterprise uses. Today, different challenges are still open. In particular architectural challenges to meet the large scale application issues, the heterogeneity, and the self-adaptivity of complex systems. A large part of current work of the IoT architecture have been inherited from the wireless sensor networks background [4]. Other architectures should be investigated for different application domains [5]. Many IoT applications require a dynamic construction of the system and should ensure a high degree of reliability. For this end, we propose the ReDy distributed systems for Reliable and Dynamic distributed systems [1]. Those systems are designed using the ReDy architecture. The ReDy architecture is a reusable solution for a large spectrum of distributed systems. Our solution integrates two important requirements that are common to the concerned systems. The first one is to design the system in a highly dynamic environment, i.e, components can continuously join and leave the system network. The second requirement is about fault tolerance. The designed system should have a high resistance to faults, which permit to preserve the overall behavior of the system even in the presence of faulty components. A large family of systems needs to guarantee the above requirements. Besides proposing a common architecture for those systems, our solution gives general rules that should be respected and implemented during the design phase so as to construct reliable and dynamic distributed systems.As application samples we have: large scale wireless sensor networks, deploy and forget networks, self-adaptive systems of systems, critical infrastructure monitoring, smart grid and household metering, autonomous vehicles, heterogeneous systems with interaction between other sub-networks, smart traffic, intelligent transportation and logistics [5].We take the advantage of the formal methods, witch are a particular kind of mathematically based techniques for the specification and verification, to model the ReDy architecture and to validate complicated behaviors. The use of formal method allows us to ensure a good level of reliability and robustness of our proposed design.Formalizing our system using a formal model let us to express the behavior of the system in an unambiguous way: the formal specification expresses a unique semantic. In addition to...