Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo

Detalhes bibliográficos
Autor(a) principal: Medeiros, Silvino Gustavo Albuquerque de
Data de Publicação: 2019
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UFRN
Texto Completo: https://repositorio.ufrn.br/handle/123456789/34173
Resumo: A interface gráfica de usuário é uma das ferramentas mais importantes no campo da interação humano-computador. Poucos recursos são tão expressivos e úteis ao usuário como uma interface gráfica bem construída. Nesse contexto, animações podem aumentar a expressividade de uma interface e colaborar de forma significativa na experiência do usuário, às vezes sendo um fator crucial na aceitação de um produto. Entretanto, quando aplicados ao cenário de sistemas embarcados, esses aspectos enfrentam dificuldades que devem ser tratadas cautelosamente para que exista uma interface gráfica animada de qualidade. Esses sistemas embarcados são notáveis pelo seu baixo poder de processamento e baixo consumo de energia, o que vai de encontro aos requisitos necessários para se implementar interfaces animadas. Interfaces de usuário para sistemas embarcados são desenvolvidas predominantemente através de ferramentas que carecem de flexibilidade e customização. Além disso, a implementação de animações numa interface gráfica muitas vezes deve ser feita e otimizada manualmente quando direcionada a um sistema embarcado, sem a abstração necessária para que interfaces complexas possam ser animadas com pouco esforço. O seguinte trabalho visa projetar e implementar o Atomik, uma ferramenta na forma de uma biblioteca C++ que forneceria os componentes com as devidas abstrações necessárias para que interfaces melhores e animadas possam ser implementadas em sistemas embarcados de baixo custo, neste caso, o Arduino Mega. Uma avaliação comparativa analisando prós e contras entre a ferramenta GUIslice e o Atomik foi realizada. Desvantagens do Atomik incluem a ausência de uma interface gráfica para construção da interface e uma limitação significativa das possibilidades de estilização de elementos. As vantagens incluem uma melhora na animação das interfaces, alta legibilidade do código relativo à interface devido ao paradigma declarativo e maior flexibilidade para estilização dinâmica de elementos. Pelos resultados do trabalho, por fim, propõe-se que dispositivos embarcados que rodem interfaces construídas com o Atomik tenham seus preços reduzidos. Além disso, também se propõe que desenvolvedores de sistemas embarcados possam prover interfaces gráficas e experiências satisfatórias a seus usuários através da utilização do Atomik.
id UFRN_8ee03760b8a9a2940b6572e0c4f05170
oai_identifier_str oai:https://repositorio.ufrn.br:123456789/34173
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Medeiros, Silvino Gustavo Albuquerque deLeite, Jair CavalcanteMaia, Silvia Maria Diniz MonteiroMagalhães Pereira, Monica2019-06-26T12:51:08Z2021-09-20T11:46:24Z2019-06-26T12:51:08Z2021-09-20T11:46:24Z2019-06-122012912580MEDEIROS, Silvino Gustavo Albuquerque de. Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo. 2019. 75 f. TCC (Graduação) - Curso de Ciência da Computação, Centro de Ciências, Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2019.https://repositorio.ufrn.br/handle/123456789/34173A interface gráfica de usuário é uma das ferramentas mais importantes no campo da interação humano-computador. Poucos recursos são tão expressivos e úteis ao usuário como uma interface gráfica bem construída. Nesse contexto, animações podem aumentar a expressividade de uma interface e colaborar de forma significativa na experiência do usuário, às vezes sendo um fator crucial na aceitação de um produto. Entretanto, quando aplicados ao cenário de sistemas embarcados, esses aspectos enfrentam dificuldades que devem ser tratadas cautelosamente para que exista uma interface gráfica animada de qualidade. Esses sistemas embarcados são notáveis pelo seu baixo poder de processamento e baixo consumo de energia, o que vai de encontro aos requisitos necessários para se implementar interfaces animadas. Interfaces de usuário para sistemas embarcados são desenvolvidas predominantemente através de ferramentas que carecem de flexibilidade e customização. Além disso, a implementação de animações numa interface gráfica muitas vezes deve ser feita e otimizada manualmente quando direcionada a um sistema embarcado, sem a abstração necessária para que interfaces complexas possam ser animadas com pouco esforço. O seguinte trabalho visa projetar e implementar o Atomik, uma ferramenta na forma de uma biblioteca C++ que forneceria os componentes com as devidas abstrações necessárias para que interfaces melhores e animadas possam ser implementadas em sistemas embarcados de baixo custo, neste caso, o Arduino Mega. Uma avaliação comparativa analisando prós e contras entre a ferramenta GUIslice e o Atomik foi realizada. Desvantagens do Atomik incluem a ausência de uma interface gráfica para construção da interface e uma limitação significativa das possibilidades de estilização de elementos. As vantagens incluem uma melhora na animação das interfaces, alta legibilidade do código relativo à interface devido ao paradigma declarativo e maior flexibilidade para estilização dinâmica de elementos. Pelos resultados do trabalho, por fim, propõe-se que dispositivos embarcados que rodem interfaces construídas com o Atomik tenham seus preços reduzidos. Além disso, também se propõe que desenvolvedores de sistemas embarcados possam prover interfaces gráficas e experiências satisfatórias a seus usuários através da utilização do Atomik.The graphical user interface (or GUI) is one of the main tools in the human-computer interaction field. Few resources are as expressive and useful to the user like a well-rounded user interface. In this context, animations can improve the expressiveness of an interface and help significantly in the user experience, sometimes turning into a crucial factor in product acceptance. However, when applied to the field of embedded systems, these aspects face difficulties that must be carefully dealt with so that quality animated user interface can be provided. Embedded systems are noted for their low processing power and energy consumption. These specifications don’t meet the necessary requirements to implement animated user interfaces in the current state of the industry. In embedded systems, user interfaces are developed primarily with tools that lack flexibility and customization. Besides that, most of the time, the implementation of animation in user interfaces needs to be manually created and optimized when directed towards embedded systems, without the abstraction needed for low effort interface animation. This project aims to design and implement Atomik, a tool in the form of a C++ library that will provide the needed abstractions so that better and animated user interfaces can be created for low-cost embedded systems, in this case, an Arduino Mega. A comparative evaluation was performed by analyzing pros and cons between the GUIslice tool and Atomik. Atomik’s cons include the lack of a graphical builder for interface creation and a substantial limitation of the styling possibilities for elements. The advantages are mainly a better interface animation, high interface code legibility due to the use of declarative paradigm and higher flexibility for dynamic element styling. Based on the work’s results, it is proposed that embedded systems that run Atomik GUIs have their price reduced. Also, it is expected that embedded system developers can craft pleasant user interfaces and experiences to their user through the use of Atomik.Universidade Federal do Rio Grande do NorteUFRNBrasilCiência da ComputaçãoInterface gráficaSistemas embarcadosBaixo custoFerramenta de desenvolvimento dei nterfacesGraphical interfaceEmbedded systemsLow costInterface development toolAtomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custoAtomik: a C++ library for declarative graphical interface building tool for low cost embedded systemsinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRNinfo:eu-repo/semantics/openAccessORIGINALAtomikUmaBibliotecaSistemasEmbarcados_Medeiros_2019.pdfapplication/pdf1796343https://repositorio.ufrn.br/bitstream/123456789/34173/1/AtomikUmaBibliotecaSistemasEmbarcados_Medeiros_2019.pdf565a3908155db6425d5e1d62dd1653c3MD51LICENSElicense.txttext/plain756https://repositorio.ufrn.br/bitstream/123456789/34173/2/license.txta80a9cda2756d355b388cc443c3d8a43MD52TEXTTCC FINAL.pdf.txtExtracted texttext/plain113846https://repositorio.ufrn.br/bitstream/123456789/34173/3/TCC%20FINAL.pdf.txta7389c1b1d95f1bb09ea1b3044b204ebMD53AtomikUmaBibliotecaSistemasEmbarcados_Medeiros_2019.pdf.txtExtracted texttext/plain113846https://repositorio.ufrn.br/bitstream/123456789/34173/4/AtomikUmaBibliotecaSistemasEmbarcados_Medeiros_2019.pdf.txta7389c1b1d95f1bb09ea1b3044b204ebMD54123456789/341732021-09-20 08:46:24.971oai:https://repositorio.ufrn.br:123456789/34173PGNlbnRlcj48c3Ryb25nPlVOSVZFUlNJREFERSBGRURFUkFMIERPIFJJTyBHUkFOREUgRE8gTk9SVEU8L3N0cm9uZz48L2NlbnRlcj4KPGNlbnRlcj48c3Ryb25nPkJJQkxJT1RFQ0EgRElHSVRBTCBERSBNT05PR1JBRklBUzwvc3Ryb25nPjwvY2VudGVyPgoKPGNlbnRlcj5UZXJtbyBkZSBBdXRvcml6YcOnw6NvIHBhcmEgZGlzcG9uaWJpbGl6YcOnw6NvIGRlIE1vbm9ncmFmaWFzIGRlIEdyYWR1YcOnw6NvIGUgRXNwZWNpYWxpemHDp8OjbyBuYSBCaWJsaW90ZWNhIERpZ2l0YWwgZGUgTW9ub2dyYWZpYXMgKEJETSk8L2NlbnRlcj4KCk5hIHF1YWxpZGFkZSBkZSB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvciBkYSBtb25vZ3JhZmlhLCBhdXRvcml6byBhIFVuaXZlcnNpZGFkZSBGZWRlcmFsIGRvIFJpbyBHcmFuZGUgZG8gTm9ydGUgKFVGUk4pIGEgZGlzcG9uaWJpbGl6YXIgYXRyYXbDqXMgZGEgQmlibGlvdGVjYSBEaWdpdGFsIGRlIE1vbm9ncmFmaWFzIGRhIFVGUk4sIHNlbSByZXNzYXJjaW1lbnRvIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgZGUgYWNvcmRvIGNvbSBhIExlaSBuwrAgOTYxMC85OCwgbyB0ZXh0byBpbnRlZ3JhbCBkYSBvYnJhIHN1Ym1ldGlkYSBwYXJhIGZpbnMgZGUgbGVpdHVyYSwgaW1wcmVzc8OjbyBlL291IGRvd25sb2FkLCBhIHTDrXR1bG8gZGUgZGl2dWxnYcOnw6NvIGRhIHByb2R1w6fDo28gY2llbnTDrWZpY2EgYnJhc2lsZWlyYSwgYSBwYXJ0aXIgZGEgZGF0YSBkZXN0YSBzdWJtaXNzw6NvLiAKRepositório de PublicaçõesPUBhttp://repositorio.ufrn.br/oai/opendoar:2021-09-20T11:46:24Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.pt_BR.fl_str_mv Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo
dc.title.alternative.pt_BR.fl_str_mv Atomik: a C++ library for declarative graphical interface building tool for low cost embedded systems
title Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo
spellingShingle Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo
Medeiros, Silvino Gustavo Albuquerque de
Interface gráfica
Sistemas embarcados
Baixo custo
Ferramenta de desenvolvimento dei nterfaces
Graphical interface
Embedded systems
Low cost
Interface development tool
title_short Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo
title_full Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo
title_fullStr Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo
title_full_unstemmed Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo
title_sort Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo
author Medeiros, Silvino Gustavo Albuquerque de
author_facet Medeiros, Silvino Gustavo Albuquerque de
author_role author
dc.contributor.referees1.none.fl_str_mv Leite, Jair Cavalcante
dc.contributor.referees2.none.fl_str_mv Maia, Silvia Maria Diniz Monteiro
dc.contributor.author.fl_str_mv Medeiros, Silvino Gustavo Albuquerque de
dc.contributor.advisor1.fl_str_mv Magalhães Pereira, Monica
contributor_str_mv Magalhães Pereira, Monica
dc.subject.por.fl_str_mv Interface gráfica
Sistemas embarcados
Baixo custo
Ferramenta de desenvolvimento dei nterfaces
Graphical interface
Embedded systems
Low cost
Interface development tool
topic Interface gráfica
Sistemas embarcados
Baixo custo
Ferramenta de desenvolvimento dei nterfaces
Graphical interface
Embedded systems
Low cost
Interface development tool
description A interface gráfica de usuário é uma das ferramentas mais importantes no campo da interação humano-computador. Poucos recursos são tão expressivos e úteis ao usuário como uma interface gráfica bem construída. Nesse contexto, animações podem aumentar a expressividade de uma interface e colaborar de forma significativa na experiência do usuário, às vezes sendo um fator crucial na aceitação de um produto. Entretanto, quando aplicados ao cenário de sistemas embarcados, esses aspectos enfrentam dificuldades que devem ser tratadas cautelosamente para que exista uma interface gráfica animada de qualidade. Esses sistemas embarcados são notáveis pelo seu baixo poder de processamento e baixo consumo de energia, o que vai de encontro aos requisitos necessários para se implementar interfaces animadas. Interfaces de usuário para sistemas embarcados são desenvolvidas predominantemente através de ferramentas que carecem de flexibilidade e customização. Além disso, a implementação de animações numa interface gráfica muitas vezes deve ser feita e otimizada manualmente quando direcionada a um sistema embarcado, sem a abstração necessária para que interfaces complexas possam ser animadas com pouco esforço. O seguinte trabalho visa projetar e implementar o Atomik, uma ferramenta na forma de uma biblioteca C++ que forneceria os componentes com as devidas abstrações necessárias para que interfaces melhores e animadas possam ser implementadas em sistemas embarcados de baixo custo, neste caso, o Arduino Mega. Uma avaliação comparativa analisando prós e contras entre a ferramenta GUIslice e o Atomik foi realizada. Desvantagens do Atomik incluem a ausência de uma interface gráfica para construção da interface e uma limitação significativa das possibilidades de estilização de elementos. As vantagens incluem uma melhora na animação das interfaces, alta legibilidade do código relativo à interface devido ao paradigma declarativo e maior flexibilidade para estilização dinâmica de elementos. Pelos resultados do trabalho, por fim, propõe-se que dispositivos embarcados que rodem interfaces construídas com o Atomik tenham seus preços reduzidos. Além disso, também se propõe que desenvolvedores de sistemas embarcados possam prover interfaces gráficas e experiências satisfatórias a seus usuários através da utilização do Atomik.
publishDate 2019
dc.date.accessioned.fl_str_mv 2019-06-26T12:51:08Z
2021-09-20T11:46:24Z
dc.date.available.fl_str_mv 2019-06-26T12:51:08Z
2021-09-20T11:46:24Z
dc.date.issued.fl_str_mv 2019-06-12
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.pt_BR.fl_str_mv 2012912580
dc.identifier.citation.fl_str_mv MEDEIROS, Silvino Gustavo Albuquerque de. Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo. 2019. 75 f. TCC (Graduação) - Curso de Ciência da Computação, Centro de Ciências, Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2019.
dc.identifier.uri.fl_str_mv https://repositorio.ufrn.br/handle/123456789/34173
identifier_str_mv 2012912580
MEDEIROS, Silvino Gustavo Albuquerque de. Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo. 2019. 75 f. TCC (Graduação) - Curso de Ciência da Computação, Centro de Ciências, Exatas e da Terra, Universidade Federal do Rio Grande do Norte, Natal, 2019.
url https://repositorio.ufrn.br/handle/123456789/34173
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.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.publisher.initials.fl_str_mv UFRN
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Ciência da Computação
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
bitstream.url.fl_str_mv https://repositorio.ufrn.br/bitstream/123456789/34173/1/AtomikUmaBibliotecaSistemasEmbarcados_Medeiros_2019.pdf
https://repositorio.ufrn.br/bitstream/123456789/34173/2/license.txt
https://repositorio.ufrn.br/bitstream/123456789/34173/3/TCC%20FINAL.pdf.txt
https://repositorio.ufrn.br/bitstream/123456789/34173/4/AtomikUmaBibliotecaSistemasEmbarcados_Medeiros_2019.pdf.txt
bitstream.checksum.fl_str_mv 565a3908155db6425d5e1d62dd1653c3
a80a9cda2756d355b388cc443c3d8a43
a7389c1b1d95f1bb09ea1b3044b204eb
a7389c1b1d95f1bb09ea1b3044b204eb
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv
_version_ 1814832840766914560