mdh.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Run-Time Dynamic Linking for Reprogramming Wireless Sensor Networks
Swedish Institute of Computer Science, Kista, Sweden .
Swedish Institute of Computer Science, Kista, Sweden .
Swedish Institute of Computer Science, Kista, Sweden .
Swedish Institute of Computer Science, Kista, Sweden .
2006 (English)In: SenSys'06: Proceedings of the Fourth International Conference on Embedded Networked Sensor Systems, 2006, 15-28 p.Conference paper, Published paper (Refereed)
Abstract [en]

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.

Place, publisher, year, edition, pages
2006. 15-28 p.
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:mdh:diva-4060DOI: 10.1145/1182807.1182810Scopus ID: 2-s2.0-34248333724ISBN: 9781595933430 (print)OAI: oai:DiVA.org:mdh-4060DiVA: diva2:120603
Conference
SenSys'06: 4th International Conference on Embedded Networked Sensor Systems; Boulder, CO; United States; 31 October 2006 through 3 November 2006
Available from: 2007-01-11 Created: 2007-01-11 Last updated: 2014-05-16Bibliographically approved
In thesis
1. Programming Memory-Constrained Networked Embedded Systems
Open this publication in new window or tab >>Programming Memory-Constrained Networked Embedded Systems
2007 (English)Doctoral thesis, comprehensive summary (Other scientific)
Abstract [en]

Ten years after the Internet revolution are we standing on the brink of another revolution: networked embedded systems that connect the physical world with the computers, enabling new applications ranging from environmental monitoring and wildlife tracking to improvements in health care and medicine. 98% of all microprocessors sold today are used in embedded systems. Those systems have much smaller amounts of memory than PC computers. An embedded system may have as little has a few hundred bytes of memory, which makes programming them a challenge.

This thesis focus on three topics regarding programming memory-constrained networked embedded systems: the TCP/IP for memory-constrained networked embedded systems, simplifying event-driven programming of memory-constrained systems, and dynamic loading of program modules in my Contiki operating system for memory-constrained systems. I show that the TCP/IP protocol stack can, contrary to previous belief, be used in memory-constrained embedded systems by implementing two small TCP/IP protocol stacks, lwIP and uIP.

I present a novel programming mechanism called protothreads that I show significantly reduce the complexity of event-driven programming for memory-constrained systems. Protothreads provide a conditional blocked wait mechanism on top of event-driven systems with a much smaller memory overhead than full multithreading; each protothread requires only two bytes of memory.

I show that dynamic linking of native code in standard ELF object code format is doable and feasible for wireless sensor networks by implementing a dynamic linker in the Contiki operating system. The results show that the energy overhead of dynamic linking of ELF files mainly is due to the ELF file format and not due to the dynamic linking mechanism as such.

The impact of the research in this thesis has been and continues to be large. The software I have developed as part of this thesis is currently used by hundreds of companies in embedded devices in such diverse systems as car engines and satellites. The papers in this thesis are included as required reading in advanced courses on networked embedded systems and wireless sensor networks.

Place, publisher, year, edition, pages
Institutionen för datavetenskap och elektronik, 2007. 214 p.
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 40
Keyword
Wireless sensor networks, embedded systems, operating systems, programming, networking, TCP/IP
National Category
Computer Science
Research subject
Datavetenskap
Identifiers
urn:nbn:se:mdh:diva-173 (URN)978-91-85485-36-9 (ISBN)
Public defence
2007-02-15, , Electrum, Isafjordsgatan 22, Kista, 10:00
Opponent
Supervisors
Available from: 2007-01-11 Created: 2007-01-11

Open Access in DiVA

No full text

Other links

Publisher's full textScopushttp://www.sics.se/~adam/dunkels06runtime.pdf

Search in DiVA

By author/editor
Eriksson, Joakim
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar

Altmetric score

Total: 58 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf