Framework PON C++ 4.0 IoT: paradigma orientado a notificações para ambiente de internet das coisas - Figueiredo, Luis Henrique Pelegrin (2022)
The Internet of Things (IoT) has transformed the way the physical and digital worlds interact through the interconnection of everyday objects. These objects with computing, communication, sensing and acting capabilities can interact collaboratively and execute a variety of tasks in an autonomous way. However, while promoting benefits to society, the IoT further aggravates the só-called “Software Crisis”. The difficulty in software development in this context is mainly caused by the IoT system characteristics, such as the communication architecture and distributed integration with heterogeneous components and devices. The current dominant programming paradigms present inefficiencies for designing and executing in a distributed environment, requiring additional and customized software engineering techniques for each application. As an alternative to the mentioned problems, the emerging Notification Oriented Paradigm (NOP) presents itself as a new approach for computer systems built by reactive and decoupled entities that interact through accurate notifications, uncoupling factual-executional from logical-causal computing. NOP aims to make the task of systems development less arduous by allowing a high-level design, making the code and its execution more efficient by avoiding redundancies (structural and temporal) and, finally, enabling its execution to be distributed through its intrinsic entities decoupling model. Currently, NOP presents several materializations in software, the most technologically mature being those developed through frameworks, implemented in different programming languages. In this context, this work presents advances in the state of the technique, implementing the NOP Framework C++ 4.0 IoT, which allows the distribution of the NOP’s entities using, in an innovative way, a Publish/Subscribe architecture and the Message Queuing Telemetry Transport (MQTT) protocol, both of which are commonly used in IoT environments. Furthermore, the types of NOP entities are also classified in relation to their possible distribution modes. Three experiments are presented using NOP Framework C++ 4.0 IoT to verify the functional and non-functional aspects of NOP and compare it with the Event-Driven Paradigm (EDP) through implementations in C++ using the Publish/Subscribe architecture and the MQTT protocol. Results show that the time for processing messages of applications developed with NOP Framework C++ 4.0 IoT is up to 11.2 times smaller, however it consumed up to 6.7 times more memory than the application in EDP. Regarding the use of the network, the number of messages transmitted for both implementations was similar. In all experiments, it was observed a greater expressiveness and ease of application distribution developed with NOP compared to EDP. In the NOP Framework C++ 4.0 IoT implementation, there was a reduction in processing redundancy by up to 39.6% when using distributed entity sharing correctly.