ASYNCRFJ: uma abordagem assíncrona à programação orientada a objeto reativa
Autor(a) principal: | |
---|---|
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 |