Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas

Bibliographic Details
Main Author: Ronszcka, Adriano Francisco
Publication Date: 2019
Format: Doctoral 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/4234
Summary: The so-called Notification-Oriented Paradigm (NOP) has been explored as a promising alternative for the construction of computational systems. In short, the NOP guidelines allow decoupling programs' causal expressions. This is possible by considering each of these causal expressions and its related facts as notifying computational entities, thereby allowing the execution mechanism to occur in a reactive and naturally decoupled way. Actually, that allows performing an inference process free of redundancies. These redundancies are common in other programming approaches and generally affect the execution performance of programs. Moreover, the decoupling between the entities that compose the NOP notification model tends to facilitate the construction of highly parallel and/or distributed systems. In addition, the NOP is ruleoriented, which tends to facilitate high-level coding. Due to these implicit properties, the NOP stands out as an emerging paradigm, however demanding an effective implementation that can actually demonstrate them together. Even though there are several works implementing the NOP concepts, both in software and hardware, they do not fulfill all properties and features of the paradigm and, sometimes, they are incomplete and somehow inconsistent. In addition, another aggravating fact is the lack of standardization in the process of proposing and developing such implementations, which tends to make it difficult to conceive an effective implementation. In this context, this thesis proposes a method to guide the standardized creation of implementations for the NOP, called MCNOP. This is accomplished, in the proposed method, mainly by the design and definition of programming languages, as well as by the implementation of compilers for the NOP. Particularly, these artifacts are oriented by a central element in the form of a distinct graph, called NOP Graph. It maps the elements of a program and the execution flow based on notifications of the NOP computational model. The proposed method, based on the NOP Graph, allows the integration and compatibility between the different implementations conceived. Finally, the proposed method was applied by a group of developers that, after acquiring basic knowledge about language and compiler construction, were able to apply steps of the proposed method to implementations over distinct platforms. Based on that, it was possible to validate the pertinence of the proposed method for the creation of (individually and collectively) consistent implementation that respect the NOP features and properties as much as allowed by each targeted-platform.
id UTFPR-12_4646918cfef58df42749c0123a23b6db
oai_identifier_str oai:repositorio.utfpr.edu.br:1/4234
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 Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintasMethod for the creation of programming languages and compilers for the notification-oriented paradigm in distinct platformsLinguagem de programação (Computadores)Compiladores (Computadores)Software - DesenvolvimentoProcessamento paralelo (Computadores)Simulação (Computadores)Arquitetura de computadorSoftware para plataformas cruzadas - DesenvolvimentoEngenharia biomédicaProgramming languages (Electronic computers)Compiling (Electronic computers)Computer software - DevelopmentParallel processing (Electronic computer)Computer simulationComputer architectureCross-platform software developmentBiomedical engineeringCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::LINGUAGENS DE PROGRAMACAOEngenharia ElétricaThe so-called Notification-Oriented Paradigm (NOP) has been explored as a promising alternative for the construction of computational systems. In short, the NOP guidelines allow decoupling programs' causal expressions. This is possible by considering each of these causal expressions and its related facts as notifying computational entities, thereby allowing the execution mechanism to occur in a reactive and naturally decoupled way. Actually, that allows performing an inference process free of redundancies. These redundancies are common in other programming approaches and generally affect the execution performance of programs. Moreover, the decoupling between the entities that compose the NOP notification model tends to facilitate the construction of highly parallel and/or distributed systems. In addition, the NOP is ruleoriented, which tends to facilitate high-level coding. Due to these implicit properties, the NOP stands out as an emerging paradigm, however demanding an effective implementation that can actually demonstrate them together. Even though there are several works implementing the NOP concepts, both in software and hardware, they do not fulfill all properties and features of the paradigm and, sometimes, they are incomplete and somehow inconsistent. In addition, another aggravating fact is the lack of standardization in the process of proposing and developing such implementations, which tends to make it difficult to conceive an effective implementation. In this context, this thesis proposes a method to guide the standardized creation of implementations for the NOP, called MCNOP. This is accomplished, in the proposed method, mainly by the design and definition of programming languages, as well as by the implementation of compilers for the NOP. Particularly, these artifacts are oriented by a central element in the form of a distinct graph, called NOP Graph. It maps the elements of a program and the execution flow based on notifications of the NOP computational model. The proposed method, based on the NOP Graph, allows the integration and compatibility between the different implementations conceived. Finally, the proposed method was applied by a group of developers that, after acquiring basic knowledge about language and compiler construction, were able to apply steps of the proposed method to implementations over distinct platforms. Based on that, it was possible to validate the pertinence of the proposed method for the creation of (individually and collectively) consistent implementation that respect the NOP features and properties as much as allowed by each targeted-platform.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES)Fundação Araucária de Apoio ao Desenvolvimento Científico e Tecnológico do ParanáO Paradigma Orientado a Notificações (PON) tem sido explorado como uma alternativa promissora para a construção de sistemas computacionais. Em linhas gerais, as diretrizes do PON permitem desacoplar as expressões causais de programas. Isto se dá ao considerar cada uma dessas, bem como seus fatos relacionados, como entidades computacionais notificantes, possibilitando que o mecanismo de execução ocorra de forma reativa e naturalmente desacoplada. Com isso, o processo de inferência é isento de redundâncias. Tais redundâncias são comuns em outras abordagens de programação e, geralmente, afetam o desempenho de execução dos programas. Ainda, no modelo de notificações, o desacoplamento entre as entidades é intrínseco, o que facilita a construção de sistemas paralelos e/ou distribuídos. Ademais, por se orientar a regras, o PON tende a facilitar o desenvolvimento em alto nível. Devido a essas propriedades implícitas, o PON se destaca como paradigma emergente, necessitando, porém, de implementações sólidas e efetivas que as demonstrem conjuntamente. Embora alguns trabalhos tenham implementado materializações para o PON, tanto em software quanto em hardware, elas não contemplaram por completo as propriedades e características elementares do paradigma e, muitas vezes, se apresentaram de maneira incompleta e mesmo inconsistente. Além disso, outro fato agravante é a falta de padronização no processo de proposição e desenvolvimento de tais implementações, o que tende a dificultar a concepção de materializações efetivas. Nesse âmbito, esta tese propõe um método para a criação padronizada de materializações para o PON, denominado MCPON. Isto se dá, no método proposto, principalmente pela concepção e definição de linguagens de programação específicas, bem como pela implementação de compiladores próprios para o PON. Particularmente, estes artefatos são orientados por um elemento balizador na forma de um grafo diferenciado, denominado Grafo PON. Este mapeia os elementos de um programa e o fluxo execucional baseado em notificações do modelo computacional do PON. Com base no Grafo PON, o método permite a integração e compatibilidade entre as diferentes materializações construídas. Por fim, o método proposto foi aplicado por um grupo de desenvolvedores, os quais, ao passo em que adquiriram conhecimentos básicos sobre a construção de linguagens e compiladores, puderam aplicar etapas do método proposto em implementações sob plataformas distintas. Com base nisso, foi possível validar a pertinência do método proposto na tarefa de construção de materializações para o PON consistentes em si e entre si que respeitem as características e propriedades do paradigma tanto quanto permitir cada plataforma visada.Universidade Tecnológica Federal do ParanáCuritibaBrasilPrograma de Pós-Graduação em Engenharia Elétrica e Informática IndustrialUTFPRSimão, Jean Marcelohttp://lattes.cnpq.br/3593420323268103Fabro, João Albertohttp://lattes.cnpq.br/6841185662777161Stadzisz, Paulo CézarEnenbreck, FabricioSilva, Murilo Vicente Gonçalves daMaidl, André MurbachOliveira, André Schneider deRonszcka, Adriano Francisco2019-07-24T16:34:00Z2019-07-24T16:34:00Z2019-06-27info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfRONSZCKA, Adriano Francisco. Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas. 2019. 375 f. Tese (Doutorado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2019.http://repositorio.utfpr.edu.br/jspui/handle/1/4234porinfo: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:UTFPR2019-07-25T06:00:52Zoai:repositorio.utfpr.edu.br:1/4234Repositório InstitucionalPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestriut@utfpr.edu.br || sibi@utfpr.edu.bropendoar:2019-07-25T06:00:52Repositó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 Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas
Method for the creation of programming languages and compilers for the notification-oriented paradigm in distinct platforms
title Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas
spellingShingle Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas
Ronszcka, Adriano Francisco
Linguagem de programação (Computadores)
Compiladores (Computadores)
Software - Desenvolvimento
Processamento paralelo (Computadores)
Simulação (Computadores)
Arquitetura de computador
Software para plataformas cruzadas - Desenvolvimento
Engenharia biomédica
Programming languages (Electronic computers)
Compiling (Electronic computers)
Computer software - Development
Parallel processing (Electronic computer)
Computer simulation
Computer architecture
Cross-platform software development
Biomedical engineering
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::LINGUAGENS DE PROGRAMACAO
Engenharia Elétrica
title_short Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas
title_full Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas
title_fullStr Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas
title_full_unstemmed Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas
title_sort Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas
author Ronszcka, Adriano Francisco
author_facet Ronszcka, Adriano Francisco
author_role author
dc.contributor.none.fl_str_mv Simão, Jean Marcelo
http://lattes.cnpq.br/3593420323268103
Fabro, João Alberto
http://lattes.cnpq.br/6841185662777161
Stadzisz, Paulo Cézar
Enenbreck, Fabricio
Silva, Murilo Vicente Gonçalves da
Maidl, André Murbach
Oliveira, André Schneider de
dc.contributor.author.fl_str_mv Ronszcka, Adriano Francisco
dc.subject.por.fl_str_mv Linguagem de programação (Computadores)
Compiladores (Computadores)
Software - Desenvolvimento
Processamento paralelo (Computadores)
Simulação (Computadores)
Arquitetura de computador
Software para plataformas cruzadas - Desenvolvimento
Engenharia biomédica
Programming languages (Electronic computers)
Compiling (Electronic computers)
Computer software - Development
Parallel processing (Electronic computer)
Computer simulation
Computer architecture
Cross-platform software development
Biomedical engineering
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::LINGUAGENS DE PROGRAMACAO
Engenharia Elétrica
topic Linguagem de programação (Computadores)
Compiladores (Computadores)
Software - Desenvolvimento
Processamento paralelo (Computadores)
Simulação (Computadores)
Arquitetura de computador
Software para plataformas cruzadas - Desenvolvimento
Engenharia biomédica
Programming languages (Electronic computers)
Compiling (Electronic computers)
Computer software - Development
Parallel processing (Electronic computer)
Computer simulation
Computer architecture
Cross-platform software development
Biomedical engineering
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::METODOLOGIA E TECNICAS DA COMPUTACAO::LINGUAGENS DE PROGRAMACAO
Engenharia Elétrica
description The so-called Notification-Oriented Paradigm (NOP) has been explored as a promising alternative for the construction of computational systems. In short, the NOP guidelines allow decoupling programs' causal expressions. This is possible by considering each of these causal expressions and its related facts as notifying computational entities, thereby allowing the execution mechanism to occur in a reactive and naturally decoupled way. Actually, that allows performing an inference process free of redundancies. These redundancies are common in other programming approaches and generally affect the execution performance of programs. Moreover, the decoupling between the entities that compose the NOP notification model tends to facilitate the construction of highly parallel and/or distributed systems. In addition, the NOP is ruleoriented, which tends to facilitate high-level coding. Due to these implicit properties, the NOP stands out as an emerging paradigm, however demanding an effective implementation that can actually demonstrate them together. Even though there are several works implementing the NOP concepts, both in software and hardware, they do not fulfill all properties and features of the paradigm and, sometimes, they are incomplete and somehow inconsistent. In addition, another aggravating fact is the lack of standardization in the process of proposing and developing such implementations, which tends to make it difficult to conceive an effective implementation. In this context, this thesis proposes a method to guide the standardized creation of implementations for the NOP, called MCNOP. This is accomplished, in the proposed method, mainly by the design and definition of programming languages, as well as by the implementation of compilers for the NOP. Particularly, these artifacts are oriented by a central element in the form of a distinct graph, called NOP Graph. It maps the elements of a program and the execution flow based on notifications of the NOP computational model. The proposed method, based on the NOP Graph, allows the integration and compatibility between the different implementations conceived. Finally, the proposed method was applied by a group of developers that, after acquiring basic knowledge about language and compiler construction, were able to apply steps of the proposed method to implementations over distinct platforms. Based on that, it was possible to validate the pertinence of the proposed method for the creation of (individually and collectively) consistent implementation that respect the NOP features and properties as much as allowed by each targeted-platform.
publishDate 2019
dc.date.none.fl_str_mv 2019-07-24T16:34:00Z
2019-07-24T16:34:00Z
2019-06-27
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv RONSZCKA, Adriano Francisco. Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas. 2019. 375 f. Tese (Doutorado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2019.
http://repositorio.utfpr.edu.br/jspui/handle/1/4234
identifier_str_mv RONSZCKA, Adriano Francisco. Método para a criação de linguagens de programação e compiladores para o paradigma orientado a notificações em plataformas distintas. 2019. 375 f. Tese (Doutorado em Engenharia Elétrica e Informática Industrial) - Universidade Tecnológica Federal do Paraná, Curitiba, 2019.
url http://repositorio.utfpr.edu.br/jspui/handle/1/4234
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
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 || sibi@utfpr.edu.br
_version_ 1850498062081851392