Atomik: uma biblioteca C++ para construção declarativa de interfaces gráficas animadas em sistemas embarcados de baixo custo
Autor(a) principal: | |
---|---|
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 |