Abstract
Wireless sensor networks are shifting to application platforms that poses several challenges on reprogramming efficiency. To better support the efficient reprogramming, this paper proposes a systematic approach named ReLog which consists of a programming language, a compiler, and a virtual machine. To make application programs concise and easy to modify, the ReLog language extends from a traditional logical programming language and makes the extension part have the similar coding style. To reduce the size of data for reprogramming, the compiler first produces extremely compact executable code by compiling application programs into high-level representations. It also implements efficient incremental reprogramming to diminish differences between the current and new executable code. To mitigate the energy consumption incurred by interpretive execution, the virtual machine optimizes the executable code as well as the execution process to improve the runtime efficiency. We have implemented ReLog and evaluated it with respect to real reprogramming cases. Our experimental results show that it is easy to modify ReLog programs to satisfy new application requirements. Meanwhile, the compiler reduces the size of executable code by 61.4%–83.2% compared to the existing work. In addition, the lifetime of sensors running the ReLog virtual machine is close (97.04%–98.31%) to that running the native code.
Original language | English |
---|---|
Pages (from-to) | 132-148 |
Number of pages | 17 |
Journal | Journal of Parallel and Distributed Computing |
Volume | 102 |
DOIs | |
Publication status | Published - Apr 2016 |
Externally published | Yes |
Keywords
- Wireless sensor network
- Reprogramming efficiency
- Logical programming language
- Compiler
- Virtual machine