Improving fault tolerance support in wireless sensor network macroprogramming
Autor(a) principal: | |
---|---|
Data de Publicação: | 2014 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da USP |
Texto Completo: | http://www.teses.usp.br/teses/disponiveis/45/45134/tde-03062015-214359/ |
Resumo: | Wireless Sensor Networks (WSN) are distributed sensing network systems composed of tiny networked devices. These systems are employed to develop applications for sensing and acting on the environment. Each network device, or node, is equipped with sensors and sometimes actuators as well. WSNs typically have limited power, processing, and storage capability, and are also subject to faults, especially when deployed in harsh environments. Given WSNs limitations, application developers often design fault-tolerance mechanisms. Although developers implement some fault-tolerance mechanisms in hardware, most are implemented in software. Indeed, WSN application development mostly occurs at a low level, close to the operating system, which forces developers to focus away from application logic and dive into WSNs technical background. Some have proposed high-level programming solutions, such as macroprogramming languages and frameworks; however, few deal with fault-tolerance. This dissertation aims to incorporate fault-tolerance features into Srijan, an open-source WSN macroprogramming framework based on a mixed declarative-imperative language called Abstract Task Graph (ATaG). We augment Srijans framework to support code generation for dealing with devices that crash or report meaningless values. We present our feature implementation here, along with an evaluation of the tool, demonstrating that it is possible to provide a macroprogramming framework with appropriate support for developing fault-tolerant WSN applications. |
id |
USP_fe0c1fdf7edd4f5a0192675937d24688 |
---|---|
oai_identifier_str |
oai:teses.usp.br:tde-03062015-214359 |
network_acronym_str |
USP |
network_name_str |
Biblioteca Digital de Teses e Dissertações da USP |
repository_id_str |
2721 |
spelling |
Improving fault tolerance support in wireless sensor network macroprogrammingEvoluindo o suporte à tolerância a falhas na macroprogramação de redes de sensores sem fioFault toleranceMacroprogramaçãoMacroprogrammingRedes de sensores sem fioSrijanSrijanTolerância a falhasWireless sensor networksWireless Sensor Networks (WSN) are distributed sensing network systems composed of tiny networked devices. These systems are employed to develop applications for sensing and acting on the environment. Each network device, or node, is equipped with sensors and sometimes actuators as well. WSNs typically have limited power, processing, and storage capability, and are also subject to faults, especially when deployed in harsh environments. Given WSNs limitations, application developers often design fault-tolerance mechanisms. Although developers implement some fault-tolerance mechanisms in hardware, most are implemented in software. Indeed, WSN application development mostly occurs at a low level, close to the operating system, which forces developers to focus away from application logic and dive into WSNs technical background. Some have proposed high-level programming solutions, such as macroprogramming languages and frameworks; however, few deal with fault-tolerance. This dissertation aims to incorporate fault-tolerance features into Srijan, an open-source WSN macroprogramming framework based on a mixed declarative-imperative language called Abstract Task Graph (ATaG). We augment Srijans framework to support code generation for dealing with devices that crash or report meaningless values. We present our feature implementation here, along with an evaluation of the tool, demonstrating that it is possible to provide a macroprogramming framework with appropriate support for developing fault-tolerant WSN applications.Redes de Sensores Sem Fio (RSSF) são sistemas distribuídos em rede para sensoreamento, compostos de pequenos dispositivos conectados entre si. Esses sistemas são utilizados para construir aplicações que medem e atuam no meio físico. Cada dispositivo da rede, chamado de nó, é equipado com sensores, e algumas vezes, atuadores. Os nós também comumente possuem limitações em termos de suprimento de energia e capacidade de armazenamento e processamento. Em adição à essas limitações, redes de sensores sem fio também estão sujeitas à diversos tipos de falhas, especialmente quando são implantadas em ambientes de condições naturais extremas, como florestas e plantações. Por essas razões, desenvolvedores de aplicações para redes de sensores sem fio necessitam utilizar mecanismos de tolerância a falhas. Alguns dos mecanismos de tolerância a falhas são implementados em hardware, porém são mais comumente deixados para implementação em software. Além disso, a maior parte do desenvolvimento de aplicações para RSSF é feita em baixo nível de abstração, perto do sistema operacional. Desse modo, além de terem que concentrar-se na lógica da aplicação em baixo nível, os desenvolvedores ainda têm que implementar os mecanismos de tolerância a falhas junto à aplicação, pela falta de bibliotecas ou componentes genéricos para esse fim. Técnicas de programação em alto nível para RSSF já foram propostas na forma de linguagens e arcabouços de macroprogramação. No entanto, uma minoria lida com aspectos de tolerância a falhas. O objetivo desse trabalho é incorporar funcionalidades para tolerância a falhas ao Srijan, um arcabouço de macroprogramação para redes de sensores sem fio. Srijan possui código aberto e é baseado em uma linguagem mista declarativa-imperativa chamada Abstract Task Graph (ATaG). Evoluímos o arcabouço para dar suporte à geração automática de código lidando com quedas de nós da rede e falhas que resultam em dados incorretos de sensores. Nesta dissertação, apresentamos a nossa implementação de tais funcionalidades, juntamente com a avaliação conduzida sobre a ferramenta. Mostramos que é possível prover um arcabouço de macroprogramação com suporte apropriado ao desenvolvimento de aplicações para RSSF que necessitam tolerância a falhas.Biblioteca Digitais de Teses e Dissertações da USPGerosa, Marco AurélioNogueira, Guilherme de Maio2014-12-01info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://www.teses.usp.br/teses/disponiveis/45/45134/tde-03062015-214359/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesseng2016-07-28T16:11:57Zoai:teses.usp.br:tde-03062015-214359Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212016-07-28T16:11:57Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false |
dc.title.none.fl_str_mv |
Improving fault tolerance support in wireless sensor network macroprogramming Evoluindo o suporte à tolerância a falhas na macroprogramação de redes de sensores sem fio |
title |
Improving fault tolerance support in wireless sensor network macroprogramming |
spellingShingle |
Improving fault tolerance support in wireless sensor network macroprogramming Nogueira, Guilherme de Maio Fault tolerance Macroprogramação Macroprogramming Redes de sensores sem fio Srijan Srijan Tolerância a falhas Wireless sensor networks |
title_short |
Improving fault tolerance support in wireless sensor network macroprogramming |
title_full |
Improving fault tolerance support in wireless sensor network macroprogramming |
title_fullStr |
Improving fault tolerance support in wireless sensor network macroprogramming |
title_full_unstemmed |
Improving fault tolerance support in wireless sensor network macroprogramming |
title_sort |
Improving fault tolerance support in wireless sensor network macroprogramming |
author |
Nogueira, Guilherme de Maio |
author_facet |
Nogueira, Guilherme de Maio |
author_role |
author |
dc.contributor.none.fl_str_mv |
Gerosa, Marco Aurélio |
dc.contributor.author.fl_str_mv |
Nogueira, Guilherme de Maio |
dc.subject.por.fl_str_mv |
Fault tolerance Macroprogramação Macroprogramming Redes de sensores sem fio Srijan Srijan Tolerância a falhas Wireless sensor networks |
topic |
Fault tolerance Macroprogramação Macroprogramming Redes de sensores sem fio Srijan Srijan Tolerância a falhas Wireless sensor networks |
description |
Wireless Sensor Networks (WSN) are distributed sensing network systems composed of tiny networked devices. These systems are employed to develop applications for sensing and acting on the environment. Each network device, or node, is equipped with sensors and sometimes actuators as well. WSNs typically have limited power, processing, and storage capability, and are also subject to faults, especially when deployed in harsh environments. Given WSNs limitations, application developers often design fault-tolerance mechanisms. Although developers implement some fault-tolerance mechanisms in hardware, most are implemented in software. Indeed, WSN application development mostly occurs at a low level, close to the operating system, which forces developers to focus away from application logic and dive into WSNs technical background. Some have proposed high-level programming solutions, such as macroprogramming languages and frameworks; however, few deal with fault-tolerance. This dissertation aims to incorporate fault-tolerance features into Srijan, an open-source WSN macroprogramming framework based on a mixed declarative-imperative language called Abstract Task Graph (ATaG). We augment Srijans framework to support code generation for dealing with devices that crash or report meaningless values. We present our feature implementation here, along with an evaluation of the tool, demonstrating that it is possible to provide a macroprogramming framework with appropriate support for developing fault-tolerant WSN applications. |
publishDate |
2014 |
dc.date.none.fl_str_mv |
2014-12-01 |
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://www.teses.usp.br/teses/disponiveis/45/45134/tde-03062015-214359/ |
url |
http://www.teses.usp.br/teses/disponiveis/45/45134/tde-03062015-214359/ |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
|
dc.rights.driver.fl_str_mv |
Liberar o conteúdo para acesso público. info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Liberar o conteúdo para acesso público. |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.coverage.none.fl_str_mv |
|
dc.publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da USP instname:Universidade de São Paulo (USP) instacron:USP |
instname_str |
Universidade de São Paulo (USP) |
instacron_str |
USP |
institution |
USP |
reponame_str |
Biblioteca Digital de Teses e Dissertações da USP |
collection |
Biblioteca Digital de Teses e Dissertações da USP |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP) |
repository.mail.fl_str_mv |
virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br |
_version_ |
1815256637650239488 |