Sistemas Distribuídos com Redes de Sensores. Noemi Rodriguez

Similar documents
WSN Programming. Introduction. Olaf Landsiedel. Programming WSNs. ! What do we need to write software for WSNs?! Programming language

WSN Programming. Introduction. Olaf Landsiedel

Introduction to TinyOS

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. TinyOS Programming and TOSSIM (and Cooja)

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. TinyOS Programming and TOSSIM

Politecnico di Milano Advanced Network Technologies Laboratory. Internet of Things. TinyOS Programming and TOSSIM (and Cooja)

nesc Ø Programming language for TinyOS and applications Ø Support TinyOS components Ø Whole-program analysis at compile time Ø Static language

Wireless Sensor Networks (WSN)

Wireless Sensor Networks

Politecnico di Milano Advanced Network Technologies Laboratory. TinyOS

Complete Network Embedded System

TinyOS 2.x. Hongwei Zhang

A Virtual Machine-Based Programming Environment for Rapid Sensor Application Development

00 Modeling and Analysis of TinyOS Sensor Node Firmware: A CSP Approach

Wireless Systems Laboratory 4 November 2013

Campaigns. Salesforce, Winter

Introduction to Programming Motes

TinyOS Tutorial. Greg Hackmann CSE 521S Fall 2010

Microcontroller VU

Laboratório de Mecatrônica EESC/USP SEM VxWorks/Workbench. Jean M.S.C. Yabarrena 30/04/10

Enabling Networked Sensors

Advanced Distributed Systems

Integrating Concurrency Control and Energy Management in Device Drivers

Instituto Superior Técnico. First Exam 7/6/2013. Number:

DroidEnergy - Detecting and Alerting Users of Power Supply Failures

Inter-Context Control-Flow Graph for NesC, with Improved Split-Phase Handling

Acelerando a Manada. Parallel Queries no PostgreSQL

Componentes de. Resumido e Adaptado dos apontamentos do Prof. José Tavares (Ambientes de Desenvolvimento Avaçados)

TinyOS. Lecture Overview. UC Berkeley Family of Motes. Mica2 and Mica2Dot. MTS300CA Sensor Board. Programming Board (MIB510) 1.

NesJ: a translator for Java to NesC

Mobile and Ubiquitous Computing Routing Protocols. Niki Trigoni

nesc Prof. Chenyang Lu How should network msg be handled? Too much memory for buffering and threads

A VIRTUALLAB APPROACH FOR WIRELESS SENSOR MOTES AND WIRELESS SENSOR NETWORKS

Streams. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

Übersicht. Laufzeitumgebungen Fallstudie TinyOS

What is an Algebra. Core Relational Algebra. What is Relational Algebra? Operação de Seleção. Álgebra Relacional: Resumo

The Emergence of Networking Abstractions and Techniques in TinyOS

Energy-aware Reconfiguration of Sensor Nodes

Organização e Recuperação da Informação

Analysis, Instrumentation, and Visualization of Embedded Network Systems: A Testbed-Based Approach

TinyOS. Wireless Sensor Networks

Programming Sensor Networks

Integrating Concurrency Control and Energy Management in Device Drivers. Chenyang Lu

ANEXO D CÓDIGO DE LA APLICACIÓN. El contenido de los archivos de código fuente almacenados en el directorio Nodo desconocido es el siguiente:

Sensor Network Application Development ZIGBEE CONCEPTS 0

OUTLIERS DETECTION BY RANSAC ALGORITHM IN THE TRANSFORMATION OF 2D COORDINATE FRAMES

Internship at Sentilla. Chris Merlin March 08 - June 08

Introduction to B Series Control Panels. Security Systems

VingCard Allure Fechadura Eletrônica

Collection. Abstract. 1. Introduction. Note. TEP: 119 Net2 Working Group

NanoRK. EECE 494 Sathish Gopalakrishnan

Prof. Tiago G. S. Carneiro DECOM - UFOP. Threads em Qt. Prof. Tiago Garcia de Senna Carneiro

System Architecture Directions for Networked Sensors[1]

Group Members: Chetan Fegade Nikhil Mascarenhas. Mentor: Dr. Yann Hang Lee

Internet explorer (embedded - windows 8.1) - activex

TOSSIM. Răzvan Musăloiu-E.

Boot camp mac drivers 3.0 for windows. Boot camp mac drivers 3.0 for windows.zip

USING WAVELETS ON DENOISING INFRARED MEDICAL IMAGES DATA BASE

Microsoft net framework 2.0 windows 7 32 bit. Microsoft net framework 2.0 windows 7 32 bit.zip

Needham-Schroeder: Secure Key-Distribution Protocol with Public Key Methods

HiNRG Technical Report: The Latte Programming Language

Eduardo Antônio Guimarães Tavares

Arquivos script. Cálculo numérico con Matlab Arquivos script 1

Threads Synchronization

Advanced Distributed Systems

Model-based Transformations for Software Architectures: a pervasive application case study Paula Alexandra Fernandes Monteiro

UNIVERSIDADE DE LISBOA Faculdade de Ciências Departamento de Informática

MANUAL CELULAR APPLE IPHONE

Self-Organization in Autonomous Sensor/Actuator Networks [SelfOrg]

Pre-implementation activities for SAP Note

Acontecimentos assíncronos (POSIX signals) Sincronização com múltiplos acontecimentos

Configuração do laboratório de discagem de entrada de cliente (SÃO JOSÉ, USA)

NADABAS and its Environment

Dotstack Porting Guide.

Porting TinyOS to an Amulet2e Sensor Mote

O futuro chegou: Programação concorrente com futures LEONARDO BORGES SENIOR CLOJURE

Querying Microsoft SQL Server 2014 (20461)

Repensando Templates com Cryml. Dalton Pinto

UNIVERSIDADE DE LISBOA Faculdade de Ciências Departamento de Informática

TKN. Technical University Berlin. T2: A Second Generation OS For Embedded Sensor Networks

Fundamentos de programação

T2: A Second Generation OS For Embedded Sensor Networks

An Environmental Sensing Experiment Using IEEE Radio Hop of the WSN TelosB Motes

Super bluetooth phone hacker. Super bluetooth phone hacker.zip

Introdução e boas práticas em UX Design (Portuguese Edition)

Interfacing Java-DSP with Sensor Motes

A Development Framework for Normalized Systems

Speculative Execution by using Software Transactional Memory

Picasa web download photos. Picasa web download photos.zip

UNIVERSIDADE DE LISBOA

Arquitetura e Organização de Processadores. Aula 17. Arquiteturas multi-core

Programming TinyOS. Lesson 3. Basic Structure. Main.nc

FEATURE SPACE UNIDIMENSIONAL PROJECTIONS FOR SCATTERPLOTS

MONITORING WEB APPLICATIONS FOR VULNERABILITY DISCOVERY AND REMOVAL UNDER ATTACK

Partition magic 10 portable. Partition magic 10 portable.zip

ISSN Monografias em Ciência da Computação n 06/07. Combining Programming Paradigms in Asynchronous Systems

2011 Pearson Higher Education, Mazidi, Naimi, and Naimi Pearson Higher Education, 2011 Pearson Higher Education,

WSN Programming: From Abstractions To Running Code

Wireless Embedded Systems and Networking. How to get TinyOS open source dist.

RDT-Partner: An Efficient Checkpointing Protocol that Enforces Rollback-Dependency Trackability

Transcription:

2012

TinyOS SO para motes com recursos limitados aplicação única bateria deve ter vida longa memória muito limitada Exemplo: micaz Atmel ATmega128: microcontrolador de 8 bits 4K memória RAM 128K memória flash chip de rádio TI CC2420: IEEE 802.15.4 a 250 kbps

TinyOS - Características conjunto de serviços: sensoreamento comunicação armazenamento timers modelo de execução concorrente linguagem NesC

Programação no TinyOS modelo de componentes de NesC modularização e reuso modelo de concorrência interação entre componentes: split phase não há threads com pilhas independentes interação com interrupções API: conjunto de componentes prontos para uso

Programação em NesC aplicação composta por componentes chamados de módulos e configurações interação através de interfaces nem definidas módulos implementam código e configurações fazem wiring User Interface Commands Events Provider

Programação em NesC interfaces interfaces declaram conjunto de comandos e eventos podem ser interpretados como serviços e callbacks interfaces podem ser implementadas por módulos ou por configurações interface Boot { event void booted(); interface Leds { command void led0on(); command void led0off(); command void led0toggle();...

Programação em NesC componentes componentes compostos por 2 blocos: assinatura e implementação assinatura contém descrição de interfaces fornecidas (servidores) e usadas (clientes) interface Notify < val_t > { command error_t enable (); command error_t disable (); event void notify ( val_t val ); Notify enable disable notify get Get UserButtonC

Programação em NesC componentes sintaxe C estendida deve implementar comandos e pode gerar eventos de interfaces fornecidas pode chamar comandos e deve tratar eventos de interfaces utilizadas module PowerupC { uses interface Boot; uses interface Leds; implementation { event void Boot.booted() { call Leds.led0On();

Programação em NesC configurações amarração entre utilizadores (clientes) e fornecedores (servidores) amarração entre interfaces utilizadas e componentes que as oferecem configuration PowerupAppC { implementation { components MainC, LedsC, PowerupC; MainC.Boot -> PowerupC.Boot; PowerupC.Leds -> LedsC.Leds;

Programação em NesC interfaces e componentes genéricos interfaces genéricas permitem a parametrização por tipos interface Timer<precision_tag> { command void startperiodic(uint32_t dt); command void stop(); event void fired();... componentes genéricos permitem instâncias múltiplas configuration BlinkAppC { implementation { components MainC, BlinkC, LedsC; components new TimerMilliC() as Timer0; components new TimerMilliC() as Timer1; components new TimerMilliC() as Timer2; /* Wirings below *...

Programação em NesC alocação de memória memória é recurso precioso... restrições com alocação dinâmica e recursão

Programação em NesC split phase interface Send { command error_t send(message_t* msg, uint8_t len); event void senddone(message_t* msg, error_t error); command error_t cancel(message_t* msg); command void* getpayload(message_t* msg); command uint8_t maxpayloadlength(message_t* msg);

TinyOS modelo de execução Application task command,event TimerMilliC RandomLfsrP interrupt handler H/WTimer task execution(sync) interrupt execution(async) Figure 5.1 TinyOS execution model: both tasks (full lines) and interrupt handlers (dotted lines) cross

Bibliografia Philip Levis and David Gay. TinyOS Programming. Cambridge University Press. 2009. http://docs.tinyos.net