Upload
bimbojones
View
135
Download
2
Embed Size (px)
Citation preview
REGIMENTSistema de Macro
programação de sensores
Apresentação:António Cambeiro 090378036
Introdução
Redes de Sensores
Macro Programação
RegimentAplicações que usam
Regiment/WaveScript: Detecção de animais Detecção de fugas em pipelines.
Rede de sensores
event
temp=65ºF
vento: SE, 3km/h
Veado em (x,y) em
direcção a NW a
5km/h
Desafios:• Energia limitada• Baixa confiança• Pouca capacidade computacional• Pouca memória
= + bateria
Regiment: Linguagem
Tipos de dados básicos Tuplos, nós e predicados do utilizador
Operadores básicos rmap, rfilter e rfold
Formação de regiões World e khood
Operadores Compostos Regiões de regiões.
Regiment: Compilador
Normalização Avaliação parcial, dataflow.
Switch-POV Conversão de nós em dataflow.
Event-Convert Comportamento do nó.
Exemplo
dosum :: float, (float, int) → (float, int)fun dosum (temp, (sumtemp, count)) {
(sumtemp+temp, count + 1)}
tempreg = rmap ( fun (nd) {sense (“temp”,nd)}, world);sumsig = rfold (dosum, (0,0), tempreg);avgsig = smap (fun ((sun,cnt)) {sum/cnt}, sumsig);BASE ← avgsig
Vantagens e Desvantagens
Vantagens: Possibilita ao programador menos experiente uma
plataforma para criar programas em redes complexas
Abstrai o programador/utilizador de toda a complexidade da topologia da rede e protocolos de comunicação.
Desvantagens: Complexidade das aplicações Tempo de execução baseado numa spanning tree
especifica Não foi desenhado para pesquisas rápidas,
repetidas e de pouca duração.
Conclusão
O Regiment proporciona ao programador um ambiente abstraído das preocupações de baixo nível da rede de sensores, contudo não protege o programador de implicações de performance dos algoritmos. O macro programador deve implementar várias versões do programa e refina-lo de acordo com os parâmetros do ambiente da rede. Conjunto de operadores e regras de avaliação parcial bem estruturado. A nível de produtividade:
Permite prototipagem rápida de uma aplicação Tem suporte de debugging (simulador)
Expanding Circle: Chemical Plume
LED Vermlho: Indica que passou o limite estipulado
Circulo em expansão mostra o evento