Utilize este identificador para referenciar este registo: http://hdl.handle.net/10451/16045
Título: Programação de redes sensores baseada em eventos
Autor: Fernades, Bruno Alexandre Valdez
Orientador: Martins, Francisco Cipriano da Cunha, 1972-
Palavras-chave: Redes sensores
Macroprogramação
Eventos
Compiladores
Algoritmos de otimização
Teses de mestrado - 2014
Data de Defesa: 2014
Resumo: As redes de sensores são constituídas por dispositivos com recursos muito limitados e na maior parte dos casos, utilizam pilhas com baixa capacidade como fonte de alimentação. Muitos destes dispositivos dispõem de uma pequena quantidade de armazenamento – apenas 2 KB de memória RAM – o que ilustra bem as suas grandes limitações computacionais. Ainda assim, estes dispositivos são utilizados em diversas áreas. A título de exemplo podemos salientar aplicação nas áreas da medicina, monitorização de incêndios, em operações militares e até em alarmes de incêndios dentro dos edifícios. A programação destes dispositivos está relacionado com o seu microcontrolador, sendo assim dependente do fabricante que produz o dispositivo. Tendo em conta que os fabricantes constroem dispositivos com diferentes microcontroladores, são usadas diversas linguagens de programação. A linguagem que propomos é baseada em eventos, ou seja, reage a estímulos. Exemplificando, se tivermos um dispositivo que esteja a fazer monitorização de incêndios e que determine que existe um fogo, este dispositivo vai reagir a esse estímulo, executando a parte do programa correspondente a este evento. Para a linguagem Macaw, foi desenvolvido um compilador, de forma a receber como input um programa sintaticamente válido. Este programa vai ser validado pelo sistema de tipos e processado por um conjunto de algoritmos de otimização. Por fim, vai ser convertido para bytecode, de modo a poder ser executado na Máquina Virtual. Com este compilador pretende-se calcular em tempo de compilação o tamanho máximo que a aplicação vai ocupar no dispositivo. Assim, permite ao programador saber se o dispositivo tem espaço de armazenamento suficiente para armazenar a aplicação, permitindo contornar uma das limitações destes dispositivos. Com esta linguagem, é possível resolver alguns dos problemas existentes relativamente a outras linguagens de programação. Ao poder ser utilizada em diversos dispositivos, permite que não seja necessário ter o conhecimento de todos os microcontroladores disponíveis. Uma outra vantagem importante, consiste em o compilador com o seu sistema de tipos identificar diversos erros cometidos pelo programador antes do programa ser executado.
Sensor networks consist of devices with limited resources and in most cases use batteries with lower capacity for power source. Many of these devices have a small amount of storage - only 2 KB of RAM - which illustrates their large computational limitations. Yet, these devices are used in many areas. For example, we can stress application in medicine, fire monitoring, military operations and even fire alarms within buildings. The programming of these devices is related to its microcontroller, and thus dependent on the manufacturer that produces the devices. Given that manufacturers build devices with different microcontrollers are used several programming languages. The language we propose is based on events, or responds to stimuli. For example, if we have a device that is to do monitoring of fires and to determine that there is a fire, this device will react to this stimulus, the running of the program corresponding to this event. For Macaw language, a compiler is designed so as to receive as input syntactically valid program. This program will be validated by the type system and processed by a set of optimization algorithms. Finally, it will be converted to bytecode, so it can be run in Virtual Machine. With this compiler is intended to calculate at compile time the maximum size that the application will occupy on the device. Thus allows the programmer to determine if the device has enough storage to store the application, allowing around one of the limitations of these devices. With this language, it is possible to solve some of the problems relative to other programming languages. Power to be used on various devices, lets not necessary to have knowledge of all microcontrollers available. Another important advantage consists of the compiler with your system to identify various types of mistakes made by the programmer before the program run.
Descrição: Tese de mestrado, Engenharia Informática (Engenharia de Software), Universidade de Lisboa, Faculdade de Ciências, 2014
URI: http://hdl.handle.net/10451/16045
Designação: Tese de mestrado em Engenharia Informática (Engenharia de Software)
Aparece nas colecções:FC-DI - Master Thesis (dissertation)

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
ulfc112368_tm_Bruno_Fernandes.pdf2,91 MBAdobe PDFVer/Abrir


FacebookTwitterDeliciousLinkedInDiggGoogle BookmarksMySpace
Formato BibTex MendeleyEndnote Degois 

Todos os registos no repositório estão protegidos por leis de copyright, com todos os direitos reservados.