Use este identificador para citar ou linkar para este item: http://repositorio.utfpr.edu.br/jspui/handle/1/26270
Registro completo de metadados
Campo DCValorIdioma
dc.creatorNeves, Felipe dos Santos-
dc.date.accessioned2021-11-03T22:42:20Z-
dc.date.available2021-11-03T22:42:20Z-
dc.date.issued2021-09-03-
dc.identifier.citationNEVES, Felipe dos Santos. 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. 2021. Dissertação (Mestrado em Computação Aplicada) - Universidade Tecnológica Federal do Paraná, Curitiba, 2021.pt_BR
dc.identifier.urihttp://repositorio.utfpr.edu.br/jspui/handle/1/26270-
dc.description.abstractThe 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.pt_BR
dc.languageporpt_BR
dc.publisherUniversidade Tecnológica Federal do Paranápt_BR
dc.rightsopenAccesspt_BR
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/pt_BR
dc.subjectProgramação genérica (ciência da computação)pt_BR
dc.subjectSistemas de computaçãopt_BR
dc.subjectSoftware - Desenvolvimentopt_BR
dc.subjectC++ (Linguagem de programação de computador)pt_BR
dc.subjectGeneric programming (Computer science)pt_BR
dc.subjectComputer systemspt_BR
dc.subjectComputer software - Developmentpt_BR
dc.subjectC++ (Computer program language)pt_BR
dc.titleFramework 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éricapt_BR
dc.title.alternativeFramework NOP 4.0: contribution to the development of applications in the notification oriented paradigm through generic programmingpt_BR
dc.typemasterThesispt_BR
dc.description.resumoO Paradigma Orientado a Notificações (PON) é uma nova abordagem para a construção de sistemas computacionais. O PON propõe a computação por meio de um modelo de entidades reativas desacopladas que interagem por meio de notificações pontuais, dentre as quais se divide e separa a computação facto-execucional da computação lógico-causal. Com isso é possível reduzir ou eliminar redundâncias temporais e estruturais, comuns em outros paradigmas de programação, que podem afetar o desempenho dos programas. Ainda, o desacoplamento intrínseco entre as entidades do PON facilita a construção de sistemas concorrentes e/ou distribuídos. Além disso, a estrutura orientada a regras do PON tende a facilitar o desenvolvimento por permitir programar em alto nível de abstração. O PON apresenta várias materializações em software, sendo as mais maduras tecnologicamente aquelas que se dão por meio de frameworks, desenvolvidos em diferentes linguagens de programação. Dentre estes frameworks o que apresenta o maior grau de maturidade e estabilidade é o Framework PON C++ 2.0. Entretanto, o Framework PON C++ 2.0 ainda apresenta certas limitações, como excessiva verbosidade, baixa flexibilidade de tipos e baixa flexibilidade algorítmica. Nesse contexto este trabalho propõe o desenvolvimento de um novo framework, denominado Framework PON C++ 4.0, com o objetivo de remover as limitações presentes no Framework PON C++ 2.0, bem como as imperfeições do Framework PON C++ 3.0 que envolve multithread/multicore, de forma a melhorar a usabilidade do PON e seu desempenho neste âmbito. O Framework PON C++ 4.0 é desenvolvido utilizando técnicas de programação genérica, por meio de recursos adicionados nas versões do padrão ISO C++11, C++14, C++17 e C++20, bem como aplicando o método de desenvolvimento orientado a testes. Esta dissertação de mestrado apresenta os resultados obtidos com a implementação do Framework PON C++ 4.0 por meio de um conjunto de aplicações pertinentes, tanto em ambiente single thread quanto multithread/multicore. Tais aplicações são um sistema de sensores e uma aplicação de controle automatizado de tráfego, oriundos do grupo de pesquisa, e dos algoritmos Bitonic Sort e Random Forest oriundos da literatura. Tais aplicações foram executadas e comparadas em termos de desempenho com as mesmas aplicações implementadas no Framework PON C++ 2.0, Framework PON Elixir/Erlang e também implementações no Paradigma Orientado a Objetos (POO) em linguagem de programação C++ e Paradigma Procedimental (PP) em linguagem de programação C. Como resultado destas comparações, o novo Framework PON C++ 4.0 se mostra superior ao Framework PON C++ 2.0 tanto em tempo de execução como consumo de memória nos cenários avaliados, além de apresentar balanceamento de carga comparável aos do Framework PON Elixir/Erlang em ambiente multicore. As melhorias na usabilidade são adicionalmente avaliadas e atestadas pelo feedback de desenvolvedores do PON.pt_BR
dc.degree.localCuritibapt_BR
dc.publisher.localCuritibapt_BR
dc.creator.Latteshttp://lattes.cnpq.br/9958661372551999pt_BR
dc.contributor.advisor1Linhares, Robson Ribeiro-
dc.contributor.advisor1IDhttps://orcid.org/ 0000-0002-4256-3819pt_BR
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/0625140430173288pt_BR
dc.contributor.advisor-co1Simao, Jean Marcelo-
dc.contributor.advisor-co1IDhttps://orcid.org/0000-0002-2139-1261pt_BR
dc.contributor.advisor-co1Latteshttp://lattes.cnpq.br/3593420323268103pt_BR
dc.contributor.referee1Ronszcka, Adriano Francisco-
dc.contributor.referee1IDhttps://orcid.org/ 0000-0003-0950-657Xpt_BR
dc.contributor.referee1Latteshttp://lattes.cnpq.br/4780184697503369pt_BR
dc.contributor.referee2Schutz, Fernando-
dc.contributor.referee2IDhttps://orcid.org/ 0000-0002-2884-6919pt_BR
dc.contributor.referee2Latteshttp://lattes.cnpq.br/8912470216819864pt_BR
dc.contributor.referee3Panetto, Herve-
dc.contributor.referee3IDhttps://orcid.org/ 0000-0002-5537-2261pt_BR
dc.contributor.referee3Latteshttp://lattes.cnpq.br/8951585800896455pt_BR
dc.contributor.referee4Simao, Jean Marcelo-
dc.contributor.referee4IDhttps://orcid.org/0000-0002-2139-1261pt_BR
dc.contributor.referee4Latteshttp://lattes.cnpq.br/3593420323268103pt_BR
dc.contributor.referee5Fabro, Joao Alberto-
dc.contributor.referee5IDhttps://orcid.org/0000-0001-8975-0323pt_BR
dc.contributor.referee5Latteshttp://lattes.cnpq.br/6841185662777161pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.programPrograma de Pós-Graduação em Computação Aplicadapt_BR
dc.publisher.initialsUTFPRpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.subject.capesCiência da Computaçãopt_BR
Aparece nas coleções:CT - Programa de Pós-Graduação em Computação Aplicada

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
frameworkponprogramacaogenerica.pdf12,76 MBAdobe PDFThumbnail
Visualizar/Abrir


Este item está licenciada sob uma Licença Creative Commons Creative Commons