ASYNCRFJ: uma abordagem assíncrona à programação orientada a objeto reativa

Detalhes bibliográficos
Autor(a) principal: Cardoso, Diogo João
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Manancial - Repositório Digital da UFSM
Texto Completo: http://repositorio.ufsm.br/handle/1/16315
Resumo: The presence of reactive programming has been more common in current systems, one of the highlights of its use is the management of input data streams. In the reactive programming paradigm, a new value for the input stream can be seen as an event, which may cause changes in the program, so it needs to be properly propagated. In this work is discussed the creation of a reactive programming language implementing the object-oriented paradigm (OO), allowing manipulation of classes and objects, where reactive expressions and data are modeled as an extension for Featherweight Java (FJ). This language is formally defined through the operation semantics, creating the opportunity to be implemented in any language that provides closures. An interpreter for the formalized language is also presented, that includes lexical, syntactic and semantic analysis, with its focus on the type system to embed reactive programming concepts in a classical language, demonstrating the interaction between the two reviewed paradigms.
id UFSM_6669464e4075748a2f83937ffbf476d3
oai_identifier_str oai:repositorio.ufsm.br:1/16315
network_acronym_str UFSM
network_name_str Manancial - Repositório Digital da UFSM
repository_id_str
spelling ASYNCRFJ: uma abordagem assíncrona à programação orientada a objeto reativaASYNCRFJ: an asynchronous approach to reactive object-oriented programmingProgramação reativaProgramação orientada a objetosProgramação funcionalFormalização de linguagensInterpretadorReactive programmingObject-oriented programmingFunctional programmingFormal languagesInterpreterCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOThe presence of reactive programming has been more common in current systems, one of the highlights of its use is the management of input data streams. In the reactive programming paradigm, a new value for the input stream can be seen as an event, which may cause changes in the program, so it needs to be properly propagated. In this work is discussed the creation of a reactive programming language implementing the object-oriented paradigm (OO), allowing manipulation of classes and objects, where reactive expressions and data are modeled as an extension for Featherweight Java (FJ). This language is formally defined through the operation semantics, creating the opportunity to be implemented in any language that provides closures. An interpreter for the formalized language is also presented, that includes lexical, syntactic and semantic analysis, with its focus on the type system to embed reactive programming concepts in a classical language, demonstrating the interaction between the two reviewed paradigms.Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPESA utilização de programação reativa tem se tornado cada vez mais comum em sistemas atuais, se destacando principalmente por conseguir manipular fluxos de dados de entrada. No paradigma de programação reativa, um novo valor no fluxo de dado pode ser visto como um evento, e um evento pode causar mudanças no programa, que devem ser devidamente propagadas. Nesta dissertação é discutida a criação de uma linguagem de programação reativa que utiliza-se do paradigma de orientação a objetos (OO), fornecendo a possibilidade de manipular classes e objetos, onde expressões e dados reativos são modelados como uma extensão da proposta Featherweight Java (FJ). Esta extensão é definida formalmente através da apresentação de sua semântica operacional, podendo ser implementada em qualquer linguagem de programação que forneça o mecanismo de closures. A formalização desta linguagem permitiu a criação de um interpretador, que implementa as fases de análise léxica, sintática e semântica, com foco especial no tratamento do sistema de tipos para embutir conceitos de computação reativa em uma linguagem clássica, demonstrando a interação entre os dois paradigmas de programação estudados.Universidade Federal de Santa MariaBrasilCiência da ComputaçãoUFSMPrograma de Pós-Graduação em Ciência da ComputaçãoCentro de TecnologiaVizzotto, Juliana Kaizerhttp://lattes.cnpq.br/4384914116033913Piveta, Eduardo Kesslerhttp://lattes.cnpq.br/8687196768910831Du Bois, André Rauberhttp://lattes.cnpq.br/3277487290886063Cardoso, Diogo João2019-04-26T12:26:42Z2019-04-26T12:26:42Z2018-07-13info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://repositorio.ufsm.br/handle/1/16315porAttribution-NonCommercial-NoDerivatives 4.0 Internationalhttp://creativecommons.org/licenses/by-nc-nd/4.0/info:eu-repo/semantics/openAccessreponame:Manancial - Repositório Digital da UFSMinstname:Universidade Federal de Santa Maria (UFSM)instacron:UFSM2019-04-27T06:00:31Zoai:repositorio.ufsm.br:1/16315Biblioteca Digital de Teses e Dissertaçõeshttps://repositorio.ufsm.br/ONGhttps://repositorio.ufsm.br/oai/requestatendimento.sib@ufsm.br||tedebc@gmail.comopendoar:2019-04-27T06:00:31Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)false
dc.title.none.fl_str_mv ASYNCRFJ: uma abordagem assíncrona à programação orientada a objeto reativa
ASYNCRFJ: an asynchronous approach to reactive object-oriented programming
title ASYNCRFJ: uma abordagem assíncrona à programação orientada a objeto reativa
spellingShingle ASYNCRFJ: uma abordagem assíncrona à programação orientada a objeto reativa
Cardoso, Diogo João
Programação reativa
Programação orientada a objetos
Programação funcional
Formalização de linguagens
Interpretador
Reactive programming
Object-oriented programming
Functional programming
Formal languages
Interpreter
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short ASYNCRFJ: uma abordagem assíncrona à programação orientada a objeto reativa
title_full ASYNCRFJ: uma abordagem assíncrona à programação orientada a objeto reativa
title_fullStr ASYNCRFJ: uma abordagem assíncrona à programação orientada a objeto reativa
title_full_unstemmed ASYNCRFJ: uma abordagem assíncrona à programação orientada a objeto reativa
title_sort ASYNCRFJ: uma abordagem assíncrona à programação orientada a objeto reativa
author Cardoso, Diogo João
author_facet Cardoso, Diogo João
author_role author
dc.contributor.none.fl_str_mv Vizzotto, Juliana Kaizer
http://lattes.cnpq.br/4384914116033913
Piveta, Eduardo Kessler
http://lattes.cnpq.br/8687196768910831
Du Bois, André Rauber
http://lattes.cnpq.br/3277487290886063
dc.contributor.author.fl_str_mv Cardoso, Diogo João
dc.subject.por.fl_str_mv Programação reativa
Programação orientada a objetos
Programação funcional
Formalização de linguagens
Interpretador
Reactive programming
Object-oriented programming
Functional programming
Formal languages
Interpreter
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Programação reativa
Programação orientada a objetos
Programação funcional
Formalização de linguagens
Interpretador
Reactive programming
Object-oriented programming
Functional programming
Formal languages
Interpreter
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description The presence of reactive programming has been more common in current systems, one of the highlights of its use is the management of input data streams. In the reactive programming paradigm, a new value for the input stream can be seen as an event, which may cause changes in the program, so it needs to be properly propagated. In this work is discussed the creation of a reactive programming language implementing the object-oriented paradigm (OO), allowing manipulation of classes and objects, where reactive expressions and data are modeled as an extension for Featherweight Java (FJ). This language is formally defined through the operation semantics, creating the opportunity to be implemented in any language that provides closures. An interpreter for the formalized language is also presented, that includes lexical, syntactic and semantic analysis, with its focus on the type system to embed reactive programming concepts in a classical language, demonstrating the interaction between the two reviewed paradigms.
publishDate 2018
dc.date.none.fl_str_mv 2018-07-13
2019-04-26T12:26:42Z
2019-04-26T12:26:42Z
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 http://repositorio.ufsm.br/handle/1/16315
url http://repositorio.ufsm.br/handle/1/16315
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivatives 4.0 International
http://creativecommons.org/licenses/by-nc-nd/4.0/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivatives 4.0 International
http://creativecommons.org/licenses/by-nc-nd/4.0/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Santa Maria
Brasil
Ciência da Computação
UFSM
Programa de Pós-Graduação em Ciência da Computação
Centro de Tecnologia
publisher.none.fl_str_mv Universidade Federal de Santa Maria
Brasil
Ciência da Computação
UFSM
Programa de Pós-Graduação em Ciência da Computação
Centro de Tecnologia
dc.source.none.fl_str_mv reponame:Manancial - Repositório Digital da UFSM
instname:Universidade Federal de Santa Maria (UFSM)
instacron:UFSM
instname_str Universidade Federal de Santa Maria (UFSM)
instacron_str UFSM
institution UFSM
reponame_str Manancial - Repositório Digital da UFSM
collection Manancial - Repositório Digital da UFSM
repository.name.fl_str_mv Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)
repository.mail.fl_str_mv atendimento.sib@ufsm.br||tedebc@gmail.com
_version_ 1805922177344602112