1 / 23

TinyOS

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

lerato
Download Presentation

TinyOS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TinyOS Mohammad Rahimi CSCI599-Spring2002

  2. Motivation • The new class of distributed tiny devices • The new generation of software

  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

  4. Headphones Hearing aid FixedInfrastructure PDA Pen (Anoto) Health Monitor AuthenticationRing Keys Display Watch

  5. Dot Mote

  6. Rene Mote

  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

  8. A Modular Approach • Components • Wired together • Interface may join different components • Program is Execution Graph & scheduler

  9. Messaging Component Internal State Internal Tasks Commands Events Component Synchronous Asynchronous • 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

  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

  11. UART Packet Radio Packet Application • Application = graph of components + scheduler sensing application application Routing Layer routing Messaging Layer messaging packet Radio byte UART byte Temp byte photo SW HW RFM ADC i2c bit clocks

  12. Component Definition TOS_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); };

  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_EVENT SENS_OUTPUT:SENS_OUTPUT_SUB_CLOCK_INIT CLOCK:CLOCK_INIT SENS_OUTPUT:SENS_OUTPUT_SUB_OUTPUT_INIT INT_TO_LEDS:INT_TO_LEDS_INIT SENS_OUTPUT:SENS_OUTPUT_OUTPUT_COMPLETE INT_TO_LEDS:INT_TO_LEDS_DONE SENS_OUTPUT:SENS_OUTPUT_OUTPUT INT_TO_LEDS:INT_TO_LEDS_OUTPUT SENS_OUTPUT:SENS_DATA_INIT PHOTO:PHOTO_INIT SENS_OUTPUT:SENS_GET_DATA PHOTO:PHOTO_GET_DATA SENS_OUTPUT:SENS_DATA_READY PHOTO:PHOTO_DATA_READY ……..

  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 !

  15. Communication Application Dynamic Network Discovery Ad hoc multi hop routing Active Message layer Detail of Implement Low Power Little storage

  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

  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

  18. FUN! • 29 Palms Fixed/Mobile Experiment 5 3 1 2 4

  19. Cool 6

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

  21. 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/

  22. END!

More Related