Mihai GALOS - ICECS Dynamic reconfiguration in Wireless Sensor Networks Mihai GALOS, Fabien Mieyeville, David Navarro Lyon Institute of Nanotechnology (INL) Lyon, France
Mihai GALOS - ICECS Outline Introduction to WSN (Wireless Sensor Networks) Dynamic Reconfiguration Existing solutions Motivation Our solution Supported Architectures Results Conclusion and Perspecitves
Mihai GALOS - ICECS WSN - Introduction Wireless sensor networks (WSNs) are composed of resource-constrained sensor nodes that can cooperatively monitor physical or environmental conditions, such as temperature, pressure, acceleration, … Applications: –environmental data collection –security or health monitoring –Vehicles –… Network standards: –IEEE –ZigBee
Mihai GALOS - ICECS WSN - Node Small size Low cost Low energy consumption Low processing power commercial " l ab assembled" Some existing platforms:
Mihai GALOS - ICECS WSN Dynamic Reconfiguration Node, typical application: –Sensing of an analog value –Processing of the read value –Sending it via RF Dynamic Reconfiguration (firmware update): add, modify or remove functionalities after deployment Reasons for Dynamic Reconfiguration: –Fine-tuning of algorithms (i.e. : compensating for meteorological conditions) –Adding / remove algorithms –Replacing a failing node
Mihai GALOS - ICECS Existing Solutions for Dynamic Reconfiguration Operating Systems Virtual Machines
Mihai GALOS - ICECS Existing solutions : Operating systems Fall into two categories –Monolithic (whole firmware image has to be sent over RF to reconfigure a node) –Modular (only the functionality in question is transmitted) NameTypeUpdate Cost Running Costs Heterogeneity support Update Type TinyOSMonolithicHigh LowLimitedMachine Code MantisOS ModularMedium NanoRK SOS
Mihai GALOS - ICECS Existing solutions: Virtual Machines Again, two categories –ASVM (Application-specific virtual machines) –General-purpose virtual machines NameTypeUpdate Cost Running Costs Heterogeneity Support Update Type MatéASVM LowMedium to HighYes Virtual Machine specific Bytecode DarjeelingGPVM VMSTARGPVM
Mihai GALOS - ICECS Desired solution
Mihai GALOS - ICECS Our approach: In situ Compilation Goal: implement solution to dynamically reconfigure a WSN, with the following requirements: –Running Cost: Low –Updade Cost: Low –Support for Heterogenity: Yes –Modularity: Yes Specifications –Hardware –8 or 16 bit CPU architecture running on the node –Less than 128kB of Flash –Less than 20Mhz of CPU speed –Less than 16kB or RAM –Lack of a Memory Management Unit –Software –Size of RAM poses limitations on input file for compilation High-level language, small bytecount + compilation Execution in Native format
Mihai GALOS - ICECS A new High-level language: MinTax Name: Minimal Syntax, inspired from C Small syntax means less radio time to transmit functionality Strongly typed high-level language Each clause is delimited from others with the ’;’ delimiter Functions do not have explicit return types NameSupported? Identifiers Yes, 2 bytes wide Data types Yes signed/unsigned 8bit or 16bit Arithmetic operations Yes, (+, -, /, * and %) For and While loopsYes If and Switch-Case clausesYes NestingYes StructuresYes PointersExperimental Digital I/O operationsYes ADCYes Preprocessor directivesNo TypedefinitionsNo
Mihai GALOS - ICECS MinTax: an example 1.aUk{ 2.^i=A2; 3.^j=8; 4.^u=i; 5. Wi<99 6. Wj>0 7. Pi,j; j- 10. # 11. i+ 12. # 13. }u; 1.Uint8_t a (uint16_t k){ 2.Uint8_t i = read_analog_pin(pin2); 3.Uint8_t j = 8; 4.Uint8_t u = i; 5.While(i<99){ 6. While(j>0){ 7. Pwm_output(i,j); 8. u=delay(k); 9. j - -; 10. } 11. i++; 12.} 13.return u;}
Mihai GALOS - ICECS The MinTax Compiler Analysis Stage –Lexical Analysis: splitting the input file into atoms or tokens – Implemented, generated with re2c –Syntactical Analysis: validation that the input file corresponds to the language’s formal grammar – Not Needed –Semantical Analysis: context evaluation of symbols (Symbol Table) – Implemented, merged with Lexical Analysis to make single-pass compilation Synthesis Stage - Implemented Variables are allocated to internal registers Small functionalities Faster execution, less energy used when executing generated code Position independent Code
Mihai GALOS - ICECS The MinTax Compiler: Supported WSN Nodes The WSN world usually comprises solutions around microcontrollers from Atmel and Texas Instruments Mica2 Z1 AVRRaven
Mihai GALOS - ICECS Results Sending of a “Blink” application, Mica2 platform: Compile, and reprogram:
Mihai GALOS - ICECS Conclusion and perspectives Conclusion –High-level language (MinTax) coupled with in-situ compilation –Energy-efficient solution for dynamic reconfiguration Perspectives –Heterogeneous network validation –Multi-OS Integration
Mihai GALOS - ICECS Thank you !
Mihai GALOS - ICECS