Programação de microcontroladores utilizando técnicas de tolerância a falhas

Detalhes bibliográficos
Autor(a) principal: Kruger, Kleber
Data de Publicação: 2014
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFMS
Texto Completo: https://repositorio.ufms.br/handle/123456789/2073
Resumo: Os sistemas embarcados abrangem uma grande quantidade de sistemas computacionais e suas aplicações estão cada vez mais presentes no cotidiano das pessoas, principalmente com a expansão da computação ubíqua. Por isso, a ocorrência de falhas nesses sistemas tendem a trazer cada vez mais transtornos e prejuízos financeiros. As falhas podem ocorrer devido aos bugs de software, ao envelhecimento dos componentes de hardware, `as interferências eletromagnéticas, e por conta de outros fenômenos no meio ambiente que afetam os dispositivos semicondutores. O uso de t´técnicas de tolerância a falhas aumentam a segurança, pois permite que sistemas continuem funcionando adequadamente após a ocorrência de falhas. Seu princípio básico consiste na redundância, que pode fornecida por meio de hardware, software, dados e processamento. No entanto, a utilização das t´técnicas de tolerância a falhas ´e frequente apenas em sistemas de alto risco e de grande porte. O objetivo deste trabalho foi implementar as t´técnicas de tolerância a falhas mais viáveis na programação de uma plataforma de prototipagem rápida com microcontroladores. Para avaliar o desempenho das t´técnicas foi desenvolvido um injetor de falhas por software, e utilizou-se um sistema de estação meteorológica como estudo de caso. Os testes simularam falhas nas leituras dos sensores e falhas nas regiões de memória (por meio da alteração dos dados de alguns endereços de memória) da estação meteorológica. Ao final, são descritos os resultados mostrando o desempenho do sistema tolerante a falhas em comparação com o sistema não tolerante. Embora o primeiro tenha aumentado levemente o consumo de energia, o tamanho do programa, o uso de memória e o tempo de processamento, o desempenho deste se mostrou eficiente, dado que a quantidade de defeitos diminuiu, principalmente nos testes que injetaram falhas nas leituras dos sensores. Em um teste que injetou 16 falhas na região de memória de dados do microcontrolador a cada ciclo de leitura da estação meteorológica, e 25% de falhas nas leituras dos sensores, o firmware sem tolerância a falhas apresentou uma taxa de ocorrências de defeitos de 98,61%, enquanto o firmware com tolerância a falhas apresentou 9,21%. Sem a injeção de falhas nas leituras dos sensores e com essa mesma quantidade de falhas injetadas na região de memória de dados, o primeiro apresentou 19,6% enquanto o segundo 4,45%. Como resultado deste trabalho, uma biblioteca para tolerância e recuperação de falhas, chamada FaultRecovery foi criada, a fim de facilitar e auxiliar por meio de um conjunto de classes e macros, a escrita de códigos com implementação de t´técnicas de tolerância a falhas. Além disso, ela disponibiliza uma estrutura pronta para a recuperação de falhas, baseada em uma maquina de estados.
id UFMS_c972a7c47c31c2ff9a3cbf4b0e60317f
oai_identifier_str oai:repositorio.ufms.br:123456789/2073
network_acronym_str UFMS
network_name_str Repositório Institucional da UFMS
repository_id_str 2124
spelling 2014-11-15T02:44:58Z2021-09-30T19:58:00Z2014https://repositorio.ufms.br/handle/123456789/2073Os sistemas embarcados abrangem uma grande quantidade de sistemas computacionais e suas aplicações estão cada vez mais presentes no cotidiano das pessoas, principalmente com a expansão da computação ubíqua. Por isso, a ocorrência de falhas nesses sistemas tendem a trazer cada vez mais transtornos e prejuízos financeiros. As falhas podem ocorrer devido aos bugs de software, ao envelhecimento dos componentes de hardware, `as interferências eletromagnéticas, e por conta de outros fenômenos no meio ambiente que afetam os dispositivos semicondutores. O uso de t´técnicas de tolerância a falhas aumentam a segurança, pois permite que sistemas continuem funcionando adequadamente após a ocorrência de falhas. Seu princípio básico consiste na redundância, que pode fornecida por meio de hardware, software, dados e processamento. No entanto, a utilização das t´técnicas de tolerância a falhas ´e frequente apenas em sistemas de alto risco e de grande porte. O objetivo deste trabalho foi implementar as t´técnicas de tolerância a falhas mais viáveis na programação de uma plataforma de prototipagem rápida com microcontroladores. Para avaliar o desempenho das t´técnicas foi desenvolvido um injetor de falhas por software, e utilizou-se um sistema de estação meteorológica como estudo de caso. Os testes simularam falhas nas leituras dos sensores e falhas nas regiões de memória (por meio da alteração dos dados de alguns endereços de memória) da estação meteorológica. Ao final, são descritos os resultados mostrando o desempenho do sistema tolerante a falhas em comparação com o sistema não tolerante. Embora o primeiro tenha aumentado levemente o consumo de energia, o tamanho do programa, o uso de memória e o tempo de processamento, o desempenho deste se mostrou eficiente, dado que a quantidade de defeitos diminuiu, principalmente nos testes que injetaram falhas nas leituras dos sensores. Em um teste que injetou 16 falhas na região de memória de dados do microcontrolador a cada ciclo de leitura da estação meteorológica, e 25% de falhas nas leituras dos sensores, o firmware sem tolerância a falhas apresentou uma taxa de ocorrências de defeitos de 98,61%, enquanto o firmware com tolerância a falhas apresentou 9,21%. Sem a injeção de falhas nas leituras dos sensores e com essa mesma quantidade de falhas injetadas na região de memória de dados, o primeiro apresentou 19,6% enquanto o segundo 4,45%. Como resultado deste trabalho, uma biblioteca para tolerância e recuperação de falhas, chamada FaultRecovery foi criada, a fim de facilitar e auxiliar por meio de um conjunto de classes e macros, a escrita de códigos com implementação de t´técnicas de tolerância a falhas. Além disso, ela disponibiliza uma estrutura pronta para a recuperação de falhas, baseada em uma maquina de estados.ABSTRACT - Embedded computers cover a large amount of computational systems and its applications are increasingly present in daily life, particularly with the expansion of ubiquitous computing. Therefore, the occurrence of faults in these systems tends to bring increasingly disorders and financial losses. Faults can occur due to software bugs, aging hardware, electromagnetic interference and others environment phenomena that affect semiconductor devices. The use of fault tolerance techniques increases dependability, because it allows systems to continue functioning properly after the occurrence of faults. Its basic principle consists of redundancy, which may be of hardware, of software, data and processing. However, the use of fault tolerance techniques is frequent only in high risk and large systems. The aim of this study was to implement the fault tolerance techniques more viable in the programming of a rapid development platform with microcontrollers. To evaluate the performance of the techniques, it was developed a software fault injector, and it was used a weather station system as a study case. The tests simulated faults in the sensor readings and faults in memory regions (through changes of data at some addresses) of the weather station. Finally, the results showing the performance of the fault tolerant system in comparison with the non-fault tolerant system are described. Although the first one slightly increased the power consumption, the size of the program memory and the processing time, its performance showed to be efficient, since the number of failures decreased, especially in tests that injected faults in sensor readings. In a test that injected 16 faults in the microcontroller data memory region in each read cycle of the weather station, and 25% of faults in sensor readings, the firmware without fault tolerance showed a failure rate of 98,61%, while the firmware with fault tolerance presented 9,21%. Without the injection of faults in sensor readings and with the same number of faults injected into the data memory region, the first one showed 19,6% while the second one 4,45%. As a result of this work, a library for fault tolerance and recovery, named FaultRecovery was created, in order to facilitate and assist, through a set of classes and macros, the writing of code with implementations of fault tolerance techniques. Furthermore, it offers a structure, ready to the fault recovery, based on a state machine.porMicrocontroladoresFalhas de Sistemas de ComputaçãoSistemas Embarcados (Computadores)MicrocontrollersComputer System FailuresEmbedded Computer SystemsProgramação de microcontroladores utilizando técnicas de tolerância a falhasinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisIaione, FábioKruger, Kleberinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFMSinstname:Universidade Federal de Mato Grosso do Sul (UFMS)instacron:UFMSTHUMBNAILKleber Kruger.pdf.jpgKleber Kruger.pdf.jpgGenerated Thumbnailimage/jpeg1201https://repositorio.ufms.br/bitstream/123456789/2073/4/Kleber%20Kruger.pdf.jpg1313b6f2bc2c48c3e74783a314e9d8ebMD54ORIGINALKleber Kruger.pdfKleber Kruger.pdfapplication/pdf1496947https://repositorio.ufms.br/bitstream/123456789/2073/1/Kleber%20Kruger.pdf9797aee5015e732e1d82a8f7ec25a219MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.ufms.br/bitstream/123456789/2073/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52TEXTKleber Kruger.pdf.txtKleber Kruger.pdf.txtExtracted texttext/plain0https://repositorio.ufms.br/bitstream/123456789/2073/3/Kleber%20Kruger.pdf.txtd41d8cd98f00b204e9800998ecf8427eMD53123456789/20732021-09-30 15:58:00.877oai:repositorio.ufms.br:123456789/2073Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufms.br/oai/requestri.prograd@ufms.bropendoar:21242021-09-30T19:58Repositório Institucional da UFMS - Universidade Federal de Mato Grosso do Sul (UFMS)false
dc.title.pt_BR.fl_str_mv Programação de microcontroladores utilizando técnicas de tolerância a falhas
title Programação de microcontroladores utilizando técnicas de tolerância a falhas
spellingShingle Programação de microcontroladores utilizando técnicas de tolerância a falhas
Kruger, Kleber
Microcontroladores
Falhas de Sistemas de Computação
Sistemas Embarcados (Computadores)
Microcontrollers
Computer System Failures
Embedded Computer Systems
title_short Programação de microcontroladores utilizando técnicas de tolerância a falhas
title_full Programação de microcontroladores utilizando técnicas de tolerância a falhas
title_fullStr Programação de microcontroladores utilizando técnicas de tolerância a falhas
title_full_unstemmed Programação de microcontroladores utilizando técnicas de tolerância a falhas
title_sort Programação de microcontroladores utilizando técnicas de tolerância a falhas
author Kruger, Kleber
author_facet Kruger, Kleber
author_role author
dc.contributor.advisor1.fl_str_mv Iaione, Fábio
dc.contributor.author.fl_str_mv Kruger, Kleber
contributor_str_mv Iaione, Fábio
dc.subject.por.fl_str_mv Microcontroladores
Falhas de Sistemas de Computação
Sistemas Embarcados (Computadores)
Microcontrollers
Computer System Failures
Embedded Computer Systems
topic Microcontroladores
Falhas de Sistemas de Computação
Sistemas Embarcados (Computadores)
Microcontrollers
Computer System Failures
Embedded Computer Systems
description Os sistemas embarcados abrangem uma grande quantidade de sistemas computacionais e suas aplicações estão cada vez mais presentes no cotidiano das pessoas, principalmente com a expansão da computação ubíqua. Por isso, a ocorrência de falhas nesses sistemas tendem a trazer cada vez mais transtornos e prejuízos financeiros. As falhas podem ocorrer devido aos bugs de software, ao envelhecimento dos componentes de hardware, `as interferências eletromagnéticas, e por conta de outros fenômenos no meio ambiente que afetam os dispositivos semicondutores. O uso de t´técnicas de tolerância a falhas aumentam a segurança, pois permite que sistemas continuem funcionando adequadamente após a ocorrência de falhas. Seu princípio básico consiste na redundância, que pode fornecida por meio de hardware, software, dados e processamento. No entanto, a utilização das t´técnicas de tolerância a falhas ´e frequente apenas em sistemas de alto risco e de grande porte. O objetivo deste trabalho foi implementar as t´técnicas de tolerância a falhas mais viáveis na programação de uma plataforma de prototipagem rápida com microcontroladores. Para avaliar o desempenho das t´técnicas foi desenvolvido um injetor de falhas por software, e utilizou-se um sistema de estação meteorológica como estudo de caso. Os testes simularam falhas nas leituras dos sensores e falhas nas regiões de memória (por meio da alteração dos dados de alguns endereços de memória) da estação meteorológica. Ao final, são descritos os resultados mostrando o desempenho do sistema tolerante a falhas em comparação com o sistema não tolerante. Embora o primeiro tenha aumentado levemente o consumo de energia, o tamanho do programa, o uso de memória e o tempo de processamento, o desempenho deste se mostrou eficiente, dado que a quantidade de defeitos diminuiu, principalmente nos testes que injetaram falhas nas leituras dos sensores. Em um teste que injetou 16 falhas na região de memória de dados do microcontrolador a cada ciclo de leitura da estação meteorológica, e 25% de falhas nas leituras dos sensores, o firmware sem tolerância a falhas apresentou uma taxa de ocorrências de defeitos de 98,61%, enquanto o firmware com tolerância a falhas apresentou 9,21%. Sem a injeção de falhas nas leituras dos sensores e com essa mesma quantidade de falhas injetadas na região de memória de dados, o primeiro apresentou 19,6% enquanto o segundo 4,45%. Como resultado deste trabalho, uma biblioteca para tolerância e recuperação de falhas, chamada FaultRecovery foi criada, a fim de facilitar e auxiliar por meio de um conjunto de classes e macros, a escrita de códigos com implementação de t´técnicas de tolerância a falhas. Além disso, ela disponibiliza uma estrutura pronta para a recuperação de falhas, baseada em uma maquina de estados.
publishDate 2014
dc.date.accessioned.fl_str_mv 2014-11-15T02:44:58Z
dc.date.issued.fl_str_mv 2014
dc.date.available.fl_str_mv 2021-09-30T19:58:00Z
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 https://repositorio.ufms.br/handle/123456789/2073
url https://repositorio.ufms.br/handle/123456789/2073
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.source.none.fl_str_mv reponame:Repositório Institucional da UFMS
instname:Universidade Federal de Mato Grosso do Sul (UFMS)
instacron:UFMS
instname_str Universidade Federal de Mato Grosso do Sul (UFMS)
instacron_str UFMS
institution UFMS
reponame_str Repositório Institucional da UFMS
collection Repositório Institucional da UFMS
bitstream.url.fl_str_mv https://repositorio.ufms.br/bitstream/123456789/2073/4/Kleber%20Kruger.pdf.jpg
https://repositorio.ufms.br/bitstream/123456789/2073/1/Kleber%20Kruger.pdf
https://repositorio.ufms.br/bitstream/123456789/2073/2/license.txt
https://repositorio.ufms.br/bitstream/123456789/2073/3/Kleber%20Kruger.pdf.txt
bitstream.checksum.fl_str_mv 1313b6f2bc2c48c3e74783a314e9d8eb
9797aee5015e732e1d82a8f7ec25a219
8a4605be74aa9ea9d79846c1fba20a33
d41d8cd98f00b204e9800998ecf8427e
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMS - Universidade Federal de Mato Grosso do Sul (UFMS)
repository.mail.fl_str_mv ri.prograd@ufms.br
_version_ 1807552866384084992