Método para abstração de componentes de hardware para sistemas embarcados

Detalhes bibliográficos
Ano de defesa: 2012
Autor(a) principal: Ludwich, Mateus Krepsky
Orientador(a): Frohlich, Antonio Augusto Medeiros
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Florianópolis, SC
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Link de acesso: http://repositorio.ufsc.br/xmlui/handle/123456789/96364
Resumo: Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação.
id UFSC_eae58ee5b40881d19fcbe50a4d87aa69
oai_identifier_str oai:repositorio.ufsc.br:123456789/96364
network_acronym_str UFSC
network_name_str Repositório Institucional da UFSC
repository_id_str
spelling Universidade Federal de Santa CatarinaLudwich, Mateus KrepskyFrohlich, Antonio Augusto Medeiros2012-10-26T11:19:09Z2012-10-26T11:19:09Z20122012302251http://repositorio.ufsc.br/xmlui/handle/123456789/96364Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação.Linguagens de programação tem um papel fundamental no desenvolvimento de sistemas computacionais. Dentre elas, as Linguagens Gerenciadas (do inglês Managed Programming Language - MPL), dos quais Java e Lua são exemplos, possuem funcionalidades que objetivam aumentar a produtividade dos desenvolvedores. Isto é obtido fornecendo construções em um nível mais alto de abstração que permitem expressar e validar ideias em menos tempo e tornando mais difícil a ocorrência de erros de programação o que reduz o tempo gasto na depuração de programas. Há cerca de uma década diversas iniciativas tem sido executadas com o objetivo de permitir o uso das MPLs não somente em sistemas de propósito geral como também em sistemas embarcados, atendendo requisitos de tempo e consumo de recursos impostos por tais sistemas. Entretanto, para que as MPLs sejam realmente úteis em sistemas embarcados é necessário que elas forneçam funcionalidades para interação com o ambiente no qual o sistema embarcado está inserido. Tal interação usualmente acontece por meio de dispositivos de hardware, como por exemplo, sensores e atuadores, transmissores e receptores, temporizadores e alarmes. A interação entre MPLs e dispositivos de hardware é realizada por meio das Interfaces de Função Estrangeira (do inglês Foreign Function Interface - FFI). Porém, as FFIs em si não especificam como abstrair hardware nem como organizar tais abstrações. Esta dissertação apresenta um método de como realizar a interface entre dispositivos de hardware e aplicações escritas em MPL para sistemas embarcados. Mediadores de hardware são utilizados para abstrair e organizar dispositivos de hardware de forma adequada para sistemas embarcados, cumprindo requisitos de tempo e consumo de recursos. Isolando os mediadores de hardware das especificidades das FFIs o problema de adaptar um dispositivo de hardware para uma nova FFI passa a ser visto como um problema de aplicação de aspectos. O método proposto é avaliado nas MPLs Java e Lua em três casos de estudo, envolvendo aplicações de comunicação serial, codificação de vídeo e monitoramento de temperatura. Os resultados obtidos confirmam a adequação do método nos requisitos de desempenho, consumo de memória, reuso e portabilidade.Programming Languages have a key role on the development of computational systems. Among them, the so called Managed Programming Languages (MPLs), from which Java and Lua are examples, provide developers with features to improve their productivity. Productivity improvement is obtained by using constructions with a higher abstraction level, constructions that enable the developer to express and validate his ideas in a short period of time, and by features that make the occurrence of programming errors less often reducing the time spend on program debugging. Several initiatives have been taken on the last decade in order to enable the use of MPLs not only in general propose systems but also in embedded systems, fulfilling time and resource consumption constraints imposed by these systems. However, in order to be really useful in embedded systems, MPLs must provide features for interacting with the environment in which the embedded system is inserted on. Such interaction is usually implemented by using hardware devices such as, sensors and actuators, transmitters and receivers, and timers and alarms. The interaction between MPLs and hardware devices is performed by using the so called Foreign Function Interfaces (FFIs). However, FFIs by themselves do not specify how to abstract hardware nor how to organize these abstractions. This dissertation presents a method to interface hardware devices and applications written using MPL in context of embedded systems. Hardware mediators are used to abstract and to organize hardware devices in a suitable manner for embedded systems, fulfilling time and resource consumption constraints. By isolating hardware mediators from the specificities of FFIs the problem of adapting a hardware device to work with a new FFI can be faced as a aspect weaving problem. The proposed method is evaluated on the MPLs Java and Lua among three cases study encompassing serial communication, video encoding, and temperature sensing. The obtained results corroborate the suitability of the proposed method on the requirements of performance, memory consumption, reuse, and portability.131 p.| il., tabs.porFlorianópolis, SCInformaticaCiência da computaçãoJava (Linguagem de programação de computador)HardwareMétodo para abstração de componentes de hardware para sistemas embarcadosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFSCinstname:Universidade Federal de Santa Catarina (UFSC)instacron:UFSCinfo:eu-repo/semantics/openAccessORIGINAL302251.pdfapplication/pdf2765701https://repositorio.ufsc.br/bitstream/123456789/96364/1/302251.pdf1675d6d9bf605e5bcca1aafd5f4f03f2MD51TEXT302251.pdf.txt302251.pdf.txtExtracted Texttext/plain199041https://repositorio.ufsc.br/bitstream/123456789/96364/2/302251.pdf.txt59ab2a00de091a7f4b3360bba9d3d4faMD52THUMBNAIL302251.pdf.jpg302251.pdf.jpgGenerated Thumbnailimage/jpeg1171https://repositorio.ufsc.br/bitstream/123456789/96364/3/302251.pdf.jpg60104c92d167bff13d5ebb9c0accb285MD53123456789/963642013-05-05 00:23:19.844oai:repositorio.ufsc.br:123456789/96364Repositório InstitucionalPUBhttp://150.162.242.35/oai/requestsandra.sobrera@ufsc.bropendoar:23732013-05-05T03:23:19Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)false
dc.title.pt_BR.fl_str_mv Método para abstração de componentes de hardware para sistemas embarcados
title Método para abstração de componentes de hardware para sistemas embarcados
spellingShingle Método para abstração de componentes de hardware para sistemas embarcados
Ludwich, Mateus Krepsky
Informatica
Ciência da computação
Java (Linguagem de programação de computador)
Hardware
title_short Método para abstração de componentes de hardware para sistemas embarcados
title_full Método para abstração de componentes de hardware para sistemas embarcados
title_fullStr Método para abstração de componentes de hardware para sistemas embarcados
title_full_unstemmed Método para abstração de componentes de hardware para sistemas embarcados
title_sort Método para abstração de componentes de hardware para sistemas embarcados
author Ludwich, Mateus Krepsky
author_facet Ludwich, Mateus Krepsky
author_role author
dc.contributor.pt_BR.fl_str_mv Universidade Federal de Santa Catarina
dc.contributor.author.fl_str_mv Ludwich, Mateus Krepsky
dc.contributor.advisor1.fl_str_mv Frohlich, Antonio Augusto Medeiros
contributor_str_mv Frohlich, Antonio Augusto Medeiros
dc.subject.classification.pt_BR.fl_str_mv Informatica
Ciência da computação
Java (Linguagem de programação de computador)
Hardware
topic Informatica
Ciência da computação
Java (Linguagem de programação de computador)
Hardware
description Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós-Graduação em Ciência da Computação.
publishDate 2012
dc.date.submitted.pt_BR.fl_str_mv 2012
dc.date.accessioned.fl_str_mv 2012-10-26T11:19:09Z
dc.date.available.fl_str_mv 2012-10-26T11:19:09Z
dc.date.issued.fl_str_mv 2012
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.ufsc.br/xmlui/handle/123456789/96364
dc.identifier.other.pt_BR.fl_str_mv 302251
identifier_str_mv 302251
url http://repositorio.ufsc.br/xmlui/handle/123456789/96364
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 131 p.| il., tabs.
dc.publisher.none.fl_str_mv Florianópolis, SC
publisher.none.fl_str_mv Florianópolis, SC
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSC
instname:Universidade Federal de Santa Catarina (UFSC)
instacron:UFSC
instname_str Universidade Federal de Santa Catarina (UFSC)
instacron_str UFSC
institution UFSC
reponame_str Repositório Institucional da UFSC
collection Repositório Institucional da UFSC
bitstream.url.fl_str_mv https://repositorio.ufsc.br/bitstream/123456789/96364/1/302251.pdf
https://repositorio.ufsc.br/bitstream/123456789/96364/2/302251.pdf.txt
https://repositorio.ufsc.br/bitstream/123456789/96364/3/302251.pdf.jpg
bitstream.checksum.fl_str_mv 1675d6d9bf605e5bcca1aafd5f4f03f2
59ab2a00de091a7f4b3360bba9d3d4fa
60104c92d167bff13d5ebb9c0accb285
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)
repository.mail.fl_str_mv sandra.sobrera@ufsc.br
_version_ 1851759103579258880