TinyOS

23
1 TinyOS Mohammad Rahimi CSCI599-Spring2002

description

TinyOS. Mohammad Rahimi CSCI599-Spring2002. Motivation. The new class of distributed tiny devices The new generation of software. Characteristic. Highly distributed Dynamic and Self Organizing Communication centric Adaptive Concurrency intensive - PowerPoint PPT Presentation

Transcript of TinyOS

Page 1: TinyOS

1

TinyOS

Mohammad Rahimi

CSCI599-Spring2002

Page 2: TinyOS

2

Motivation

The new class of

distributed tiny

devices The new generation

of software

Page 3: TinyOS

3

Characteristic Highly distributed Dynamic and Self Organizing Communication centric Adaptive Concurrency intensive

– Sudden burst of network activity and sleep General Purpose

– As opposed to traditional tailor made system programming

Not only control oriented anymore

Page 4: TinyOS

4

PDA

Keys

Headphones

Pen (Anoto)

Display Watch

Health Monitor

Hearing aid

AuthenticationRing

FixedInfrastructure

Page 5: TinyOS

5

Dot Mote

Page 6: TinyOS

6

Rene Mote

Page 7: TinyOS

7

Hardware

4Mhz, 8bit MCU (ATMEL)

512 bytes RAM,

8K ROM 900Mhz Radio

RF Monolithic

10-100 ft. range Temperature Sensor Light Sensor LED outputs Serial Port

5mA Active and 5uA sleep

Page 8: TinyOS

8

A Modular Approach

Components– Wired together– Interface may join different components

Program is Execution Graph & scheduler

Page 9: TinyOS

9

Component Component interface

– Commands that it accepts– Events that it signals– Commands that it uses– Events that it handles

Component Frame– Maintain internal state

Event– Initiate at lowest level by hardware– Make a FSM model

Task– Tasks: internal concurrency– Non Preemptive

Messaging Component

Internal StateInternal Tasks

Commands Events

Synchronous Asynchronous

Page 10: TinyOS

10

scheduler

• Shared stack, static frames• Events preempt tasks, tasks do not• Events can signal events or call commands• Commands don’t signal events• Either can post tasks

Page 11: TinyOS

11

Application Application = graph of components + scheduler

RFM

Radio byte

i2c

Tempphoto

Messaging Layer

clocksbit

byte

packet Radio Packet

Routing Layer

sensing applicationapplication

HW

SW

ADC

messaging

routing

UART Packet

UART byte

Page 12: TinyOS

12

Component DefinitionTOS_MODULE PHOTO;

ACCEPTS{char PHOTO_INIT(void);char PHOTO_GET_DATA(void);char PHOTO_PWR(char mode);

};

SIGNALS{char PHOTO_DATA_READY(int data);

};

USES{char SUB_ADC_INIT(void);char SUB_ADC_GET_DATA(char port);

};

HANDLES{char PHOTO_ADC_DONE(int data);

};

Page 13: TinyOS

13

Description

include modules{MAIN;SENS_OUTPUT;INT_TO_LEDS;CLOCK;PHOTO;};

MAIN:MAIN_SUB_INIT SENS_OUTPUT:SENS_OUTPUT_INIT MAIN:MAIN_SUB_START SENS_OUTPUT:SENS_OUTPUT_START

SENS_OUTPUT:SENS_OUTPUT_CLOCK_EVENT CLOCK:CLOCK_FIRE_EVENTSENS_OUTPUT:SENS_OUTPUT_SUB_CLOCK_INIT CLOCK:CLOCK_INIT

SENS_OUTPUT:SENS_OUTPUT_SUB_OUTPUT_INIT INT_TO_LEDS:INT_TO_LEDS_INITSENS_OUTPUT:SENS_OUTPUT_OUTPUT_COMPLETE INT_TO_LEDS:INT_TO_LEDS_DONESENS_OUTPUT:SENS_OUTPUT_OUTPUT INT_TO_LEDS:INT_TO_LEDS_OUTPUT

SENS_OUTPUT:SENS_DATA_INIT PHOTO:PHOTO_INITSENS_OUTPUT:SENS_GET_DATA PHOTO:PHOTO_GET_DATASENS_OUTPUT:SENS_DATA_READY PHOTO:PHOTO_DATA_READY……..

Page 14: TinyOS

14

Communication

Active messaging– The name of on the handler on the target– Payload to pass as argument (data)– Transmit– Acknowledge

It looks like a light weight RPC !

Page 15: TinyOS

15

Communication

ApplicationDynamic Network Discovery

Ad hoc multi hop routing

Detail of ImplementLow Power

Little storage

ActiveMessage layer

Page 16: TinyOS

16

Challenges Tight memory

– Although Each component has its own stack communication messages pass by changing ownership

Adaptive and dynamic– Code migration

direct connection of micro controller to physical layer– Event driven model

Low Power– Sleep at two different granularity– Low granularity maintain the original capacity

Page 17: TinyOS

17

Network Discovery and Ad hoc routing

Root with ID Zero advertise Nodes select the lowest ID they hear as

Parent To route a node determines its parent as

multi hop forwarding handler Optimizations

– Clustering– Piggy backing

Page 18: TinyOS

18

FUN! 29 Palms Fixed/Mobile Experiment

1

2

3

4

5

Page 19: TinyOS

19

Cool

6

Page 20: TinyOS

20

Fun Again•Largest Tiny Network Yet•Large-Scale Demonstration of Self-Organizing Wireless Sensor Networks

Page 21: TinyOS

21

Page 22: TinyOS

22

Links http://today.cs.berkeley.edu/800demo/ http://tinyos.millennium.berkeley.edu/29Palms.htm http://tinyos.millennium.berkeley.edu/#demos http://today.cs.berkeley.edu/tos/

Page 23: TinyOS

23

END!