Presentation is loading. Please wait.

Presentation is loading. Please wait.

Verification and Power Analysis of TinyOS with Hybrid Automata Sinem Coleri Mustafa Ergen EECS

Similar presentations


Presentation on theme: "Verification and Power Analysis of TinyOS with Hybrid Automata Sinem Coleri Mustafa Ergen EECS"— Presentation transcript:

1 Verification and Power Analysis of TinyOS with Hybrid Automata Sinem Coleri Mustafa Ergen EECS csinem@eecs.berkeley.edu ergen@eecs.berkeley.edu

2 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 2 Outline Introduction TinyOS TinyOS characteristics Hytech Hytech Description Verification of TinyOS Power Analysis of a TinyOS sensor node SHIFT SHIFT description Power Analysis of a Sensor Network Conclusion

3 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 3 Introduction Why need sensor networks? Monitoring environment What is the characteristic of sensor networks? Deploy once and leave without future maintenance Why need verification? Guaranteed correct operation in every circumstance. Why need power analysis? Predict the lifetime. What type of modelling? Discrete events and continuous activities: Hybrid Automata What are the tools? HyTech for verification, SHIFT for simulation What are the metrics? Power consumption of a single node Lifetime of the network

4 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 4 TinyOS Component-based Modularity by assembling just the software components to synthesize app. from hardware components Components as reentrant cooperating state machines Event-based Components communicating through events and commands Power efficient Spending unused CPU cycles in sleep Turning radio off when not is use

5 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 5 Complete TinyOS application Scheduler Graph of components Each component has Interface(.comp) Internal Implementation(.c)

6 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 6 Complete TinyOS application: Component Interface comprises of synchronous commands and asynchronous events Upper Interface Commands it implements Events it signals Lower Interface Commands it uses Events it handles Internal Storage Fixed-size frame containing the state of component Internal Implementation Light-weight threads – tasks Command and event handlers

7 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 7 Description of Application Describes the wiring of the interfaces Efficient modularity Optimization by static info

8 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 8 Application Graph of Components RFM Radio byte Radio Packet photo clocks bit byte packet sensing application application HW SW ADC

9 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 9 Scheduling Events have higher priority Events preempt tasks Almost instantaneous event execution Not wait for long latency actions Small amount of work related to component state

10 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 10 Scheduling Tasks have lower priority Tasks do not preempt events or other tasks Scheduled by FIFO scheduler Handled rapidly without blocking or polling Unused CPU cycles in sleep state

11 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 11 Ex. Communication RFM Bit Level Byte Level Packet Level Event handling Task handling Put processor sleep … post a task

12 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 12 Hytech Hytech inputs System description Composition of linear hybrid automata Temporal Logic Requirement Hytech outputs Safety check Debugging traces

13 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 13 From TinyOS to Hytech TinyOS component -> Hytech automaton TinyOS event, commands -> Hytech discrete events TinyOS clock cycle -> Hytech discrete time step TinyOS energy -> Hytech variable

14 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 14 Overall View of TinyOS Automata RFM Radio byte Radio Packet bit byte packet sensing application application Task handler Packet generation rfm_clock transmit_pack rfm_ rx_ev rfm_ tx_ev rfm_rx_ comp rfm_tx_ comp rx_byte_ ready tx_byte_ ready tx_ byte packet_ done_neg packet_ done_pos post_encode post_decode receive_pack rfm_clock rfm_rx_comp rfm_tx_comp

15 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 15 Packet Generation and Application Automata rt<=cbit_time pt<=cidle drt=1 rt<=cbit_time pt<=cgeneration drt=1 rt>=cbit_time/ rt’=0, pt’=pt+1, sync rfm_clock rt>=cbit_time/ rt’=0, pt’=pt+1, sync rfm_clock pt>=cidle/ rt’=0, bit’=1, pt’=0, sync rfm_clock pt>=cgeneration/ rt’=0, bit’=0, pt’=0, sync rfm_clock Packet_generation Application rt=0,pt=0 at=0 idle generate at<=cbetween dat=1 at>=cbetween/ at’=0, sync transmit_pack sync receive_pack/ sync trans_packet

16 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 16 RFM Automata RFM drfmt=0 sync rfm_clock/ rfmt’=0, energy’=energy+crec rfmt<=crec_handler drfmt=1 rfmt>=crec_handler/ sync rfm_rx_ev drfmt=0 sync rfm_rx_comp/ drfmt=0 sync rfm_clock/ rfmt’=0, energy’=energy+ctrans rfmt<=ctrans_handler drfmt=1 rfmt>=crec_handler/ sync rfm_tx_ev drfmt=0 sync rfm_tx_comp/ sync rfm_tx_comp/ sync rfm_rx_comp/ receive rec_energyrec_wait transmit trans_wait trans_energy

17 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 17 Task Handler Automata Task Handler dht=0 dct=0 denergy=cinactive sync encode/ ht’=cencode, ct’=0 sync decode/ ht’=cdecode, ct’=0 ct<=ctask_post dht=0 dct=1 denergy=cactive ct>=ctask_post/ sync post_task_done dht=0 dct=0 denergy=cactive sync rfm_rx_comp | sync rfm_tx_comp / ht>=0 dht=-1 dct=0 denergy=cactive ht<=0/ sync rfm_clock/ sync rfm_rx_comp | sync rfm_tx_comp / dht=0 dct=0 denergy=cactive sync encode/ ht’=ht+cencode, ct’=0 sync decode/ ht’=ht+cdecode, ct’=0 idle op op_wait op_exec exec

18 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 18 Verification of TinyOS with Hytech: Motivation RFM Bit Level Byte Level Packet Level idle packet level byte level receiving idle … Application transmitting Application assumes that packet is sent successfully receiving

19 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 19 Verification of TinyOS with Hytech Analysis commands for verification: init_reg := …..; final_reg := loc[rpacket]=transmit & loc[rbyte]=receive; reached := reach forward from init_reg endreach; if empty(reached & final_reg) then prints “working fine” else print trace to final_reg using reached; endif;

20 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 20 Power Analysis of TinyOS with Hytech Power analysis through variable energy by using trace generation feature of Hytech by setting final_reg = t>300000; by checking variable energy at the end

21 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 21 Power Analysis of TinyOS with Hytech As the number of children increases, time to wait before transmitting increases due to backoff number of packets to be forwarded increases BS

22 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 22 Power Consumption vs. # of Children

23 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 23 SHIFT Describes dynamic networks of hybrid automata Components created, interconnected, destroyed as the system evolves Components interact through their inputs, outputs and exported events

24 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 24 Clustering of the Network Uniform Distribution 100 node 100m x 100m 4 Macro Clusters Children determined according to position distribution

25 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 25 Modeling of a sensor network 4 Types of Node Automata. Create an instance for each node. Destroy the instance when the node dies. Distribute the load to its group. Notify upper group when there is a death.

26 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 26 Model of a node X – Energy F – from the HyTech result.

27 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 27 Result Need powerful nodes in group 1. Group 1 suffers from high load and backoff time. Group 4 dies at the same time.

28 EE291E Hybrid Systems – T. John Koo and Shankar Sastry 28 Conclusion Sensor nodes are aimed to be left without maintenance. Power is a detrimental concern in sensor world. Verification is needed for reliability. Power analysis is needed for the lifetime of the node. Network power analysis is needed for the lifetime of the network. Verification and Power analysis with HyTech. Network power analysis with SHIFT.


Download ppt "Verification and Power Analysis of TinyOS with Hybrid Automata Sinem Coleri Mustafa Ergen EECS"

Similar presentations


Ads by Google