Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++

Bibliographic Details
Main Author: Oshiro, Larissa Keiko
Publication Date: 2021
Format: Master thesis
Language: por
Source: Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
Download full: http://repositorio.utfpr.edu.br/jspui/handle/1/27907
Summary: The Notification Oriented Paradigm (NOP) presents a solution that combines Imperative Paradigm programming flexibility and Declarative Paradigm programming easiness, providing, furthermore, a new vision of programming, structuring, and running software. The NOP presents three elementary properties, which consist of: (a) easiness in terms of high-level development; (b) redundancy elimination that would allow appropriate execution performance; and (c) decoupling that would allow for implicit parallelism and/or distribution. A set of programming languages and compilers for this paradigm have been developed to materialize the NOP principles. This set of languages and compilers is part of a solution called NOPL Technology, which is in its second version named NOPL Technology 2.0. This version originated the NOPL 2.0, a complete programming language compared to the previous one, which allows the creation of NOP applications in rule-oriented high-level programming. The NOPL Technology evolution allows the concurrent development of MCNOP, a method to create programming languages and compilers for NOP and a definition of a single intermediate data structure in the format of a notifying entity graph, called NOP Graph. The MCNOP, concomitantly with NOP Graph, make it possible to build compilers to distinct platforms. Some compilers with code generators have been implemented to different targets for software and digital hardware in recent years. Among them, the prototypal ‘single-threaded’ C++ Notifying Modular Code oriented to Namespaces’ compiler stands out in software implemented for NOPL 1.0 version and is called NPCPP 1.0. In previous research, this NPCPP 1.0 presented the best performance for Von Neumann architecture. However, these results were still not as proper as when considering the NOP theory. In this context, this M.Sc. Dissertation proposes a new compiler, based on the NOPL Technology 2.0 compilation system, for C++ Modular Notifying Code oriented to Namespaces target for NOPL 2.0 and adjustments of its programming language. This compiler, for NOPL 2.0, along with its code generator, is called NPCPP 2.0. To demonstrate NPCPP 2.0, some experiments were carried out through benchmarks from the NOP research group and external benchmarks. These benchmarks were developed using NPCPP 1.0, NPCPP 2.0, and imperative programming language (usual C++), allowing performance comparisons. According to the results of the experiments, NPCPP 2.0 presents a proper performance in terms of high-level development, surpassing NPCPP 1.0 results and achieving approximate results to C++ in terms of performance. Furthermore, the results of experiments also demonstrate an improvement in the general structure of generated codes by NPCPP 2.0 with decoupled code. Still, the research presents the viability of two of the three elementary properties of NOP in Von Neumann architecture.
id UTFPR-12_165a56e44a360aec68cc9a70e2ab327c
oai_identifier_str oai:repositorio.utfpr.edu.br:1/27907
network_acronym_str UTFPR-12
network_name_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository_id_str
spelling Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++Contribution to the notification oriented paradigm: NOPL Technology 2.0 evolution by language enhancement and compiler for C++ notifying modular codeProgramação (Computadores)C++ (Linguagem de programação de computador)Compiladores (Programas de computador)Software - DesenvolvimentoComputer programmingC++ (Computer program language)Compilers (Computer programs)Computer software - DevelopmentCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOEngenharia ElétricaThe Notification Oriented Paradigm (NOP) presents a solution that combines Imperative Paradigm programming flexibility and Declarative Paradigm programming easiness, providing, furthermore, a new vision of programming, structuring, and running software. The NOP presents three elementary properties, which consist of: (a) easiness in terms of high-level development; (b) redundancy elimination that would allow appropriate execution performance; and (c) decoupling that would allow for implicit parallelism and/or distribution. A set of programming languages and compilers for this paradigm have been developed to materialize the NOP principles. This set of languages and compilers is part of a solution called NOPL Technology, which is in its second version named NOPL Technology 2.0. This version originated the NOPL 2.0, a complete programming language compared to the previous one, which allows the creation of NOP applications in rule-oriented high-level programming. The NOPL Technology evolution allows the concurrent development of MCNOP, a method to create programming languages and compilers for NOP and a definition of a single intermediate data structure in the format of a notifying entity graph, called NOP Graph. The MCNOP, concomitantly with NOP Graph, make it possible to build compilers to distinct platforms. Some compilers with code generators have been implemented to different targets for software and digital hardware in recent years. Among them, the prototypal ‘single-threaded’ C++ Notifying Modular Code oriented to Namespaces’ compiler stands out in software implemented for NOPL 1.0 version and is called NPCPP 1.0. In previous research, this NPCPP 1.0 presented the best performance for Von Neumann architecture. However, these results were still not as proper as when considering the NOP theory. In this context, this M.Sc. Dissertation proposes a new compiler, based on the NOPL Technology 2.0 compilation system, for C++ Modular Notifying Code oriented to Namespaces target for NOPL 2.0 and adjustments of its programming language. This compiler, for NOPL 2.0, along with its code generator, is called NPCPP 2.0. To demonstrate NPCPP 2.0, some experiments were carried out through benchmarks from the NOP research group and external benchmarks. These benchmarks were developed using NPCPP 1.0, NPCPP 2.0, and imperative programming language (usual C++), allowing performance comparisons. According to the results of the experiments, NPCPP 2.0 presents a proper performance in terms of high-level development, surpassing NPCPP 1.0 results and achieving approximate results to C++ in terms of performance. Furthermore, the results of experiments also demonstrate an improvement in the general structure of generated codes by NPCPP 2.0 with decoupled code. Still, the research presents the viability of two of the three elementary properties of NOP in Von Neumann architecture.O Paradigma Orientado a Notificações (PON) apresenta uma solução que une a flexibilidade de programação do Paradigma Imperativo e a facilidade de programação do Paradigma Declarativo, além de proporcionar uma nova visão de programar, estruturar e executar software. O PON apresenta três propriedades elementares que consistem em: (a) facilidade de programação em alto nível; (b) eliminação de redundâncias que levaria ao desempenho apropriado de execução; e (c) desacoplamento que permitiria paralelismo/distribuição implícitos. Para materializar os princípios desse paradigma foram desenvolvidas linguagens de programação e um conjunto de compiladores próprios ao PON. Esse conjunto de linguagens e compiladores faz parte de uma solução denominada de Tecnologia LingPON, a qual se encontra em sua segunda versão, conhecida como Tecnologia LingPON 2.0. Esta deu origem à LingPON 2.0, uma linguagem de programação mais completa que a precedente, permitindo a criação de aplicações PON em programação de alto nível orientada a regras. A evolução da Tecnologia LingPON permitiu, concomitantemente, a criação do MCPON, um método de criação de linguagens e compiladores para o PON, bem como a definição de uma única estrutura de dados intermediária em formato de grafo de entidades notificantes, nomeada de Grafo PON. O MCPON e o Grafo PON, conjuntamente, possibilitam a construção de compiladores para plataformas distintas. Nos últimos anos foram implementados alguns compiladores com geradores de código para linguagens-alvo (targets) distintos, tanto para software quanto para hardware digital. Dentre eles, destaca-se em software, o prototipal compilador para Código Notificante Modular em C++ orientado a Namespaces singlethreaded, implementado para a versão Tecnologia LingPON 1.0, chamado de NPCPP 1.0. Este NPCPP 1.0 apresentou, em estudos precedentes, o melhor resultado em termos de desempenho para arquitetura Von Neumann, mas ainda não como esperado à luz da teoria do PON. Neste âmbito, essa dissertação propõe um novo compilador, baseado no sistema de compilação da Tecnologia LingPON 2.0 para o target de Código C++ Notificante Modular orientado a Namespaces para a LingPON 2.0 e ajustes desta linguagem de programação. Tal compilador, para a LingPON 2.0 com seu gerador de códigos, é denominado de NPCPP 2.0. Para demonstrar o NPCPP 2.0 foram realizados alguns experimentos, os quais se dão por meio de aplicações padronizadas (benchmarks), advindas tanto do grupo de pesquisa do PON quanto externamente. Tais benchmarks foram desenvolvidos em NPCPP 1.0, NPCPP 2.0 e em linguagem imperativa (particularmente C++ usual), permitindo, assim, comparações de desempenho. Os resultados dos experimentos mostram o desempenho apropriado do NPCPP 2.0, enquanto desenvolvimento em alto nível, superando o NPCPP 1.0 e se aproximando dos resultados em C++ usual. Ainda, os resultados de experimentos também demonstram uma melhora na estrutura geral dos códigos gerados pelo NPCPP 2.0 com código gerado de forma desacoplada. Portanto, esta pesquisa contribui com uma materialização que apresenta a viabilidade de duas das três propriedades elementares do PON em termos de arquitetura Von Neumann.Universidade Tecnológica Federal do ParanáCuritibaBrasilPrograma de Pós-Graduação em Engenharia Elétrica e Informática IndustrialUTFPRSimao, Jean Marcelohttps://orcid.org/0000-0002-2139-1261http://lattes.cnpq.br/3593420323268103Ronszcka, Adriano Franciscohttps://orcid.org/ 0000-0003-0950-657Xhttp://lattes.cnpq.br/4780184697503369Lazzaretti, Andre Eugeniohttps://orcid.org/0000-0003-1861-3369http://lattes.cnpq.br/7649611874688878Silva, Fabianohttps://orcid.org/0000-0001-5453-6175http://lattes.cnpq.br/0613768899914607Fabro, Joao Albertohttps://orcid.org/0000-0001-8975-0323http://lattes.cnpq.br/6841185662777161Banaszewski, Roni Fabiohttp://lattes.cnpq.br/4097469570844584Oshiro, Larissa Keiko2022-04-08T14:04:21Z2022-04-08T14:04:21Z2021-11-11info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfOSHIRO, Larissa Keiko. Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++. 2021. Dissertação (Mestrado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2021.http://repositorio.utfpr.edu.br/jspui/handle/1/27907porhttp://creativecommons.org/licenses/by/4.0/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))instname:Universidade Tecnológica Federal do Paraná (UTFPR)instacron:UTFPR2022-04-09T06:07:47Zoai:repositorio.utfpr.edu.br:1/27907Repositório InstitucionalPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestriut@utfpr.edu.bropendoar:2022-04-09T06:07:47Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)false
dc.title.none.fl_str_mv Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++
Contribution to the notification oriented paradigm: NOPL Technology 2.0 evolution by language enhancement and compiler for C++ notifying modular code
title Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++
spellingShingle Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++
Oshiro, Larissa Keiko
Programação (Computadores)
C++ (Linguagem de programação de computador)
Compiladores (Programas de computador)
Software - Desenvolvimento
Computer programming
C++ (Computer program language)
Compilers (Computer programs)
Computer software - Development
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Engenharia Elétrica
title_short Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++
title_full Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++
title_fullStr Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++
title_full_unstemmed Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++
title_sort Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++
author Oshiro, Larissa Keiko
author_facet Oshiro, Larissa Keiko
author_role author
dc.contributor.none.fl_str_mv Simao, Jean Marcelo
https://orcid.org/0000-0002-2139-1261
http://lattes.cnpq.br/3593420323268103
Ronszcka, Adriano Francisco
https://orcid.org/ 0000-0003-0950-657X
http://lattes.cnpq.br/4780184697503369
Lazzaretti, Andre Eugenio
https://orcid.org/0000-0003-1861-3369
http://lattes.cnpq.br/7649611874688878
Silva, Fabiano
https://orcid.org/0000-0001-5453-6175
http://lattes.cnpq.br/0613768899914607
Fabro, Joao Alberto
https://orcid.org/0000-0001-8975-0323
http://lattes.cnpq.br/6841185662777161
Banaszewski, Roni Fabio
http://lattes.cnpq.br/4097469570844584
dc.contributor.author.fl_str_mv Oshiro, Larissa Keiko
dc.subject.por.fl_str_mv Programação (Computadores)
C++ (Linguagem de programação de computador)
Compiladores (Programas de computador)
Software - Desenvolvimento
Computer programming
C++ (Computer program language)
Compilers (Computer programs)
Computer software - Development
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Engenharia Elétrica
topic Programação (Computadores)
C++ (Linguagem de programação de computador)
Compiladores (Programas de computador)
Software - Desenvolvimento
Computer programming
C++ (Computer program language)
Compilers (Computer programs)
Computer software - Development
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Engenharia Elétrica
description The Notification Oriented Paradigm (NOP) presents a solution that combines Imperative Paradigm programming flexibility and Declarative Paradigm programming easiness, providing, furthermore, a new vision of programming, structuring, and running software. The NOP presents three elementary properties, which consist of: (a) easiness in terms of high-level development; (b) redundancy elimination that would allow appropriate execution performance; and (c) decoupling that would allow for implicit parallelism and/or distribution. A set of programming languages and compilers for this paradigm have been developed to materialize the NOP principles. This set of languages and compilers is part of a solution called NOPL Technology, which is in its second version named NOPL Technology 2.0. This version originated the NOPL 2.0, a complete programming language compared to the previous one, which allows the creation of NOP applications in rule-oriented high-level programming. The NOPL Technology evolution allows the concurrent development of MCNOP, a method to create programming languages and compilers for NOP and a definition of a single intermediate data structure in the format of a notifying entity graph, called NOP Graph. The MCNOP, concomitantly with NOP Graph, make it possible to build compilers to distinct platforms. Some compilers with code generators have been implemented to different targets for software and digital hardware in recent years. Among them, the prototypal ‘single-threaded’ C++ Notifying Modular Code oriented to Namespaces’ compiler stands out in software implemented for NOPL 1.0 version and is called NPCPP 1.0. In previous research, this NPCPP 1.0 presented the best performance for Von Neumann architecture. However, these results were still not as proper as when considering the NOP theory. In this context, this M.Sc. Dissertation proposes a new compiler, based on the NOPL Technology 2.0 compilation system, for C++ Modular Notifying Code oriented to Namespaces target for NOPL 2.0 and adjustments of its programming language. This compiler, for NOPL 2.0, along with its code generator, is called NPCPP 2.0. To demonstrate NPCPP 2.0, some experiments were carried out through benchmarks from the NOP research group and external benchmarks. These benchmarks were developed using NPCPP 1.0, NPCPP 2.0, and imperative programming language (usual C++), allowing performance comparisons. According to the results of the experiments, NPCPP 2.0 presents a proper performance in terms of high-level development, surpassing NPCPP 1.0 results and achieving approximate results to C++ in terms of performance. Furthermore, the results of experiments also demonstrate an improvement in the general structure of generated codes by NPCPP 2.0 with decoupled code. Still, the research presents the viability of two of the three elementary properties of NOP in Von Neumann architecture.
publishDate 2021
dc.date.none.fl_str_mv 2021-11-11
2022-04-08T14:04:21Z
2022-04-08T14:04:21Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv OSHIRO, Larissa Keiko. Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++. 2021. Dissertação (Mestrado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2021.
http://repositorio.utfpr.edu.br/jspui/handle/1/27907
identifier_str_mv OSHIRO, Larissa Keiko. Contribuição em paradigma orientado a notificações: evolução da tecnologia LingPON 2.0 via aprimoramento da linguagem e compilador para código notificante modular em C++. 2021. Dissertação (Mestrado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2021.
url http://repositorio.utfpr.edu.br/jspui/handle/1/27907
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv http://creativecommons.org/licenses/by/4.0/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Curitiba
Brasil
Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial
UTFPR
publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Curitiba
Brasil
Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial
UTFPR
dc.source.none.fl_str_mv reponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
instname:Universidade Tecnológica Federal do Paraná (UTFPR)
instacron:UTFPR
instname_str Universidade Tecnológica Federal do Paraná (UTFPR)
instacron_str UTFPR
institution UTFPR
reponame_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
collection Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository.name.fl_str_mv Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)
repository.mail.fl_str_mv riut@utfpr.edu.br
_version_ 1834836346253869056