Framework PON C++ 4.0: contribuição para a concepção de aplicações no paradigma orientado a notificações por meio de programação genérica

The Notification-Oriented Paradigm (NOP) is a new approach to the construction of computer systems. The NOP proposes computability by means of reactive and decoupled entities model that interact by means of punctual notifications, separating fact-executional from logic-causal computing. With this it...

ver descrição completa

Autor principal: Neves, Felipe dos Santos
Formato: Dissertação
Idioma: Português
Publicado em: Universidade Tecnológica Federal do Paraná 2021
Assuntos:
Acesso em linha: http://repositorio.utfpr.edu.br/jspui/handle/1/26270
Tags: Adicionar Tag
Sem tags, seja o primeiro a adicionar uma tag!
Resumo: The Notification-Oriented Paradigm (NOP) is a new approach to the construction of computer systems. The NOP proposes computability by means of reactive and decoupled entities model that interact by means of punctual notifications, separating fact-executional from logic-causal computing. With this it is possible to reduce or eliminate temporal and structural redundancies, common in other programming paradigms, which can affect program performance. Still, the intrinsic decoupling between NOP entities facilitates the construction of concurrent and/or distributed systems. Moreover, the rule-oriented structure of the NOP tends to ease development by allowing programming at a high level of abstraction. NOP presents several materializations in software, being the most mature technologically those that occur through frameworks, developed in different programming languages. Among these frameworks, the one that presents the highest degree of maturity and stability is the C++ Framework NOP 2.0. However, the C++ Framework NOP 2.0 still has certain limitations, such as excessive verbosity, low type flexibility and low algorithmic flexibility. In this context, this work proposes the development of a new framework, named C++ Framework NOP 4.0, with the objective of removing the limitations present in the C++ Framework NOP 2.0, as well as the imperfections of the C++ Framework NOP 3.0 that involves multithread/multicore, in order to improve the usability of the NOP and its performance in this regard. The C++ Framework NOP 4.0 is developed using generic techniques, by means of features added in the ISO C++11 C++14, C++17 and C++20 and applying the test-driven development methodology. This master’s thesis presents the results obtained with the implementation of the C++ Framework NOP 4.0 through a set of relevant applications, such as the sensor application, traffic light control application, and the algorithms Bitonic Sort and Random Forest, both in a single thread and multithread/multicore environment. These applications were executed and compared in terms of performance against the same applications implemented with the C++ Framework NOP 2.0, Elixir/Erlang Framework NOP and also implementations in the Object-Oriented Paradigm (OOP) in the C++ programming language and Procedural Paradigm (PP) in the C programming language. As a result of these comparisons, the new C++ Framework NOP 4.0 proves to be superior to C++ Framework NOP 2.0 in both runtime and memory consumption in the evaluated scenarios, besides presenting CPU utilization levels comparable to the Framework Elixir/Erlang Framework NOP multicore environment. Usability improvements are additionally evaluated and attested by feedback from NOP developers.