skip to main content
10.1145/1182807.1182810acmconferencesArticle/Chapter ViewAbstractPublication PagessensysConference Proceedingsconference-collections
Article

Run-time dynamic linking for reprogramming wireless sensor networks

Published: 31 October 2006 Publication History

Abstract

From experience with wireless sensor networks it has become apparent that dynamic reprogramming of the sensor nodes is a useful feature. The resource constraints in terms of energy, memory, and processing power make sensor network reprogramming a challenging task. Many different mechanisms for reprogramming sensor nodes have been developed ranging from full image replacement to virtual machines.We have implemented an in-situ run-time dynamic linker and loader that use the standard ELF object file format. We show that run-time dynamic linking is an effective method for reprogramming even resource constrained wireless sensor nodes. To evaluate our dynamic linking mechanism we have implemented an application-specific virtual machine and a Java virtual machine and compare the energy cost of the different linking and execution models. We measure the energy consumption and execution time overhead on real hardware to quantify the energy costs for dynamic linkin.Our results suggest that while in general the overhead of a virtual machine is high, a combination of native code and virtual machine code provide good energy efficiency. Dynamic run-time linking can be used to update the native code, even in heterogeneous networks.

References

[1]
A. Boulis, C. Han, and M.B. Srivastava. Design and implementation of a framework for efficient and programmable sensor networks. In Proceedings of The First International Conference on Mobile Systems, Applications, and Services (MOBISYS '03), May 2003.]]
[2]
Chipcon AS. CC2420 Datasheet (rev. 1.3), 2005. http://www.chipcon.com/]]
[3]
TIS Committee. Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2, May 1995.]]
[4]
H. Dai, M. Neufeld, and R. Han. Elf: an efficient log-structured flash file system for micro sensor nodes. In SenSys, pages 176--187, 2004.]]
[5]
A. Dunkels, B. Grönvall, and T. Voigt. Contiki - a lightweight and flexible operating system for tiny networked sensors. In Proceedings of the First IEEE Workshop on Embedded Networked Sensors, Tampa, Florida, USA, November 2004.]]
[6]
A. Dunkels, O. Schmidt, T. Voigt, and M. Ali. Protothreads: Simplifying event-driven programming of memory-constrained embedded systems. In Proceedings of the 4th International Conference on Embedded Networked Sensor Systems, SenSys 2006, Boulder, Colorado, USA, 2006.]]
[7]
D. Estrin (editor). Embedded everywhere: A research agenda for networked systems of embedded computers. National Academy Press, 1st edition, October 2001. ISBN: 0309075688]]
[8]
G. Ferrari, J. Stuber, A. Gombos, and D. Laverde, editors. Programming Lego Mindstorms with Java with CD-ROM. Syngress Publishing, 2002. ISBN: 1928994555]]
[9]
C. Fok, G. Roman, and C. Lu. Rapid development and flexible deployment of adaptive wireless sensor network applications. In Proceedings of the 24th International Conference on Distributed Computing Systems, June 2005.]]
[10]
D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. The nesC language: A holistic approach to networked embedded systems. In Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, pages 1--11, 2003.]]
[11]
J.A. Gutierrez, M. Naeve, E. Callaway, M. Bourgeois, V. Mitter, and B. Heile. IEEE 802.15.4: A developing standard for low-power low-cost wireless personal area networks. IEEE Network, 15(5):12--19, September/October 2001.]]
[12]
C. Han, R.K. Rengaswamy, R. Shea, E. Kohler, and M. Srivastava. Sos: A dynamic operating system for sensor networks. In MobiSYS '05: Proceedings of the 3rd international conference on Mobile systems, applications, and services. ACM Press, 2005.]]
[13]
J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister. System architecture directions for networked sensors. In Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems, November 2000.]]
[14]
J.W. Hui and D. Culler. The dynamic behavior of a data dissemination protocol for network programming at scale. In Proc. SenSys'04, Baltimore, Maryland, USA, November 2004.]]
[15]
J. Jeong and D. Culler. Incremental network programming for wireless sensors. In Proceedings of the First IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks IEEE SECON (2004), October 2004.]]
[16]
J. Jeong, S. Kim, and A. Broad. Network reprogramming. TinyOS documentation, 2003. Visited 2006-04-06. http://www.tinyos.net/tinyos-1.x/doc/NetworkReprogramming.pdf]]
[17]
J. Koshy and R. Pandey. Remote incremental linking for energy-efficient reprogramming of sensor networks. In Proceedings of the second European Workshop on Wireless Sensor Networks, 2005.]]
[18]
J. Koshy and R. Pandey. Vm*: Synthesizing scalable runtime environments for sensor networks. In Proc. SenSys'05, San Diego, CA, USA, November 2005.]]
[19]
P. Levis and D. Culler. Maté: A tiny virtual machine for sensor networks. In Proceedings of ASPLOS-X, San Jose, CA, USA, October 2002.]]
[20]
P. Levis, D. Gay, and D Culler. Active sensor networks. In Proc. USENIX/ACM NSDI'05, Boston, MA, USA, May 2005.]]
[21]
P. Levis, N. Patel, D. Culler, and S. Shenker. Trickle: A self-regulating algorithm for code propagation and maintenance in wireless sensor networks. In Proc. NSDI'04, March 2004.]]
[22]
J. Lilius and I. Paltor. Deeply embedded python, a virtual machine for embedded systems. Web page. 2006-04-06. http://www.tucs.fi/magazin/output.php?ID=2000.N2.LilDeEmPy]]
[23]
H. Liu, T. Roeder, K. Walsh, R. Barr, and E. Gün Sirer. Design and implementation of a single system image operating system for ad hoc networks. In MobiSys, pages 149--162, 2005.]]
[24]
T. Liu, C. Sadler, P. Zhang, and M. Martonosi. Implementing software on resource-constrained mobile sensors: Experiences with Impala and ZebraNet. In Proc. Second Intl. Conference on Mobile Systems, Applications and Services (MOBISYS 2004), June 2004.]]
[25]
G. Mainland, L. Kang, S. Lahaie, D.C. Parkes, and M. Welsh. Using virtual markets to program global behavior in sensor networks. In Proceedings of the 2004 SIGOPS European Workshop, Leuven, Belgium, September 2004.]]
[26]
A. Mainwaring, J. Polastre, R. Szewczyk, D. Culler, and J. Anderson. Wireless sensor networks for habitat monitoring. In First ACM Workshop on Wireless Sensor Networks and Applications (WSNA 2002), Atlanta, GA, USA, September 2002.]]
[27]
P. José Marrón, M. Gauger, A. Lachenmann, D. Minder, O. Saukh, and K. Rothermel. Flexcup: A flexible and efficient code update mechanism for sensor networks. In European Workshop on Wireless Sensor Networks, 2006.]]
[28]
A. Perrig, R. Szewczyk, V. Wen, D.E. Culler, and J.D. Tygar. SPINS: security protocols for sensor netowrks. In Mobile Computing and Networking, pages 189--199, 2001.]]
[29]
J. Polastre, R. Szewczyk, and D. Culler. Telos: Enabling ultra-low power wireless research. In Proc. IPSN/SPOTS'05, Los Angeles, CA, USA, April 2005.]]
[30]
N. Ramanathan, E. Kohler, and D. Estrin. Towards a debugging system for sensor networks. International Journal for Network Management, 3(5), 2005.]]
[31]
N. Reijers and K. Langendoen. Efficient code distribution in wireless sensor networks. In Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications, pages 60--67, 2003.]]
[32]
RF Monolithics. 868.35 MHz Hybrid Transceiver TR1001, 1999. http://www.rfm.com]]
[33]
J. Schiller, H. Ritter, A. Liers, and T. Voigt. Scatterweb - low power nodes and energy aware routing. In Proceedings of Hawaii International Conference on System Sciences, Hawaii, USA, 2005.]]
[34]
T. Stathopoulos, J. Heidemann, and D. Estrin. A remote code update mechanism for wireless sensor networks. Technical Report CENS-TR-30, University of California, Los Angeles, Center for Embedded Networked Computing, November 2003.]]
[35]
M. Welsh and G. Mainland. Programming sensor networks using abstract regions. In Proc. USENIX/ACM NSDI'04, San Francisco, CA, March 2004.]]
[36]
G. Werner-Allen, P. Swieskowski, and M. Welsh. Motelab: A wireless sensor network testbed. In Proc. IPSN/SPOTS'05, Los Angeles, CA, USA, April 2005.]]

Cited By

View all
  • (2025)Intermittent OTA Code Update Framework for Tiny Energy Harvesting DevicesIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2024.341839644:1(77-90)Online publication date: Jan-2025
  • (2024)Interactive Programming for Microcontrollers by Offloading Dynamic Incremental CompilationProceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3679007.3685062(28-40)Online publication date: 13-Sep-2024
  • (2024)Secure On-The-Fly Firmware Updates for Safety Critical Embedded Systems2024 IEEE 29th International Conference on Emerging Technologies and Factory Automation (ETFA)10.1109/ETFA61755.2024.10711047(1-7)Online publication date: 10-Sep-2024
  • Show More Cited By

Index Terms

  1. Run-time dynamic linking for reprogramming wireless sensor networks

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    SenSys '06: Proceedings of the 4th international conference on Embedded networked sensor systems
    October 2006
    444 pages
    ISBN:1595933433
    DOI:10.1145/1182807
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 31 October 2006

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. dynamic linking
    2. embedded systems
    3. operating systems
    4. virtual machines
    5. wireless sensor networks

    Qualifiers

    • Article

    Conference

    SenSys06: ACM Conference on Embedded Network Sensor Systems
    October 31 - November 3, 2006
    Colorado, Boulder, USA

    Acceptance Rates

    Overall Acceptance Rate 198 of 990 submissions, 20%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)25
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 27 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)Intermittent OTA Code Update Framework for Tiny Energy Harvesting DevicesIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2024.341839644:1(77-90)Online publication date: Jan-2025
    • (2024)Interactive Programming for Microcontrollers by Offloading Dynamic Incremental CompilationProceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes10.1145/3679007.3685062(28-40)Online publication date: 13-Sep-2024
    • (2024)Secure On-The-Fly Firmware Updates for Safety Critical Embedded Systems2024 IEEE 29th International Conference on Emerging Technologies and Factory Automation (ETFA)10.1109/ETFA61755.2024.10711047(1-7)Online publication date: 10-Sep-2024
    • (2022)Edge-Centric Programming for IoT Applications With Automatic Code PartitioningIEEE Transactions on Computers10.1109/TC.2021.312936771:10(2408-2422)Online publication date: 1-Oct-2022
    • (2021)Reprogramming of Embedded Devices using Zephyr: Review and Benchmarking2021 Joint European Conference on Networks and Communications & 6G Summit (EuCNC/6G Summit)10.1109/EuCNC/6GSummit51104.2021.9482443(484-489)Online publication date: 8-Jun-2021
    • (2020)Towards Automatic SW Integration in Dependable Embedded SystemsProceedings of the 2020 International Conference on Embedded Wireless Systems and Networks10.5555/3400306.3400317(85-96)Online publication date: 17-Feb-2020
    • (2020)Reprogramming Embedded Systems at Run-TimeInternational Journal on Smart Sensing and Intelligent Systems10.21307/ijssis-2019-0787:5(1-6)Online publication date: 15-Feb-2020
    • (2020)Geosocial Co-ClusteringACM Transactions on Intelligent Systems and Technology10.1145/339170811:4(1-26)Online publication date: 13-Jun-2020
    • (2020)Domain-attention Conditional Wasserstein Distance for Multi-source Domain AdaptationACM Transactions on Intelligent Systems and Technology10.1145/339122911:4(1-19)Online publication date: 31-May-2020
    • (2020)EdgeProg: Edge-centric Programming for IoT Applications2020 IEEE 40th International Conference on Distributed Computing Systems (ICDCS)10.1109/ICDCS47774.2020.00038(212-222)Online publication date: Nov-2020
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media