Programação de microcontroladores utilizando técnicas de tolerância a falhas
Autor(a) principal: | |
---|---|
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 |