TinyOSMotivationCharacteristicPowerPoint PresentationDot MoteRene MoteHardwareA Modular ApproachComponentschedulerApplicationComponent DefinitionDescriptionCommunicationSlide 15ChallengesNetwork Discovery and Ad hoc routingFUN!CoolFun AgainSlide 21LinksEND!1TinyOSMohammad RahimiCSCI599-Spring20022MotivationThe new class of distributed tiny devicesThe new generation of software3CharacteristicHighly distributedDynamic and Self OrganizingCommunication centricAdaptiveConcurrency intensive–Sudden burst of network activity and sleepGeneral Purpose–As opposed to traditional tailor made system programmingNot only control oriented anymore4PDAKeysHeadphonesPen (Anoto)Display WatchHealth MonitorHearing aidAuthenticationRingFixedInfrastructure5Dot Mote6Rene Mote7Hardware4Mhz, 8bit MCU (ATMEL) 512 bytes RAM, 8K ROM900Mhz Radio RF Monolithic10-100 ft. rangeTemperature SensorLight SensorLED outputsSerial Port5mA Active and 5uA sleep8A Modular ApproachComponents–Wired together–Interface may join different componentsProgram is Execution Graph & scheduler9ComponentComponent interface –Commands that it accepts–Events that it signals–Commands that it uses–Events that it handlesComponent Frame–Maintain internal stateEvent–Initiate at lowest level by hardware–Make a FSM modelTask–Tasks: internal concurrency–Non PreemptiveMessaging ComponentInternal StateInternal TasksCommands EventsSynchronous Asynchronous10scheduler•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 tasks11ApplicationApplication = graph of components + schedulerRFMRadio bytei2cTempphotoMessaging LayerclocksbitbytepacketRadio PacketRouting Layersensing applicationapplicationHWSWADCmessagingroutingUART PacketUART byte12Component 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);};13Descriptioninclude 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_STARTSENS_OUTPUT:SENS_OUTPUT_CLOCK_EVENT CLOCK:CLOCK_FIRE_EVENTSENS_OUTPUT:SENS_OUTPUT_SUB_CLOCK_INIT CLOCK:CLOCK_INITSENS_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_OUTPUTSENS_OUTPUT:SENS_DATA_INIT PHOTO:PHOTO_INITSENS_OUTPUT:SENS_GET_DATA PHOTO:PHOTO_GET_DATASENS_OUTPUT:SENS_DATA_READY PHOTO:PHOTO_DATA_READY……..14CommunicationActive messaging–The name of on the handler on the target–Payload to pass as argument (data)–Transmit–AcknowledgeIt looks like a light weight RPC !15CommunicationApplicationDynamic Network DiscoveryAd hoc multi hop routingDetail of ImplementLow PowerLittle storage ActiveMessage layer16ChallengesTight memory–Although Each component has its own stack communication messages pass by changing ownershipAdaptive and dynamic–Code migration direct connection of micro controller to physical layer–Event driven modelLow Power–Sleep at two different granularity–Low granularity maintain the original capacity17Network Discovery and Ad hoc routingRoot with ID Zero advertiseNodes select the lowest ID they hear as ParentTo route a node determines its parent as multi hop forwarding handlerOptimizations–Clustering–Piggy backing18FUN!29 Palms Fixed/Mobile Experiment1234519Cool620Fun Again•Largest Tiny Network Yet•Large-Scale Demonstration of Self-Organizing Wireless Sensor
View Full Document