https://www.mdu.se/

mdu.sePublikationer
Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
Protothreads: Simplifying Event-Driven Programming of Memory-Constrained Embedded Systems
Swedish Institute of Computer Science, Sweden.
TU Delft, Netherlands .
Swedish Institute of Computer Science, Sweden.
TU Delft, Netherlands .
2006 (Engelska)Ingår i: SenSys'06: Proceedings of the Fourth International Conference on Embedded Networked Sensor Systems, 2006, s. 29-42Konferensbidrag, Publicerat paper (Refereegranskat)
Abstract [en]

Event-driven programming is a popular model for writing programs for tiny embedded systems and sensor network nodes. While event-driven programming can keep the memory overhead down, it enforces a state machine programming style which makes many programs difficult to write, maintain, and debug. We present a novel programming abstraction called protothreads that makes it possible to write event-driven programs in a thread-like style, with a memory overhead of only two bytes per protothread. We show that protothreads significantly reduce the complexity of a number of widely used programs previously written with event-driven state machines. For the examined programs the majority of the state machines could be entirely removed. In the other cases the number of states and transitions was drastically decreased. With protothreads the number of lines of code was reduced by one third. The execution time overhead of protothreads is on the order of a few processor cycles

Ort, förlag, år, upplaga, sidor
2006. s. 29-42
Nationell ämneskategori
Datorsystem
Identifikatorer
URN: urn:nbn:se:mdh:diva-4059DOI: 10.1145/1182807.1182811Scopus ID: 2-s2.0-34547423275ISBN: 9781595933430 (tryckt)OAI: oai:DiVA.org:mdh-4059DiVA, id: diva2:120602
Konferens
SenSys'06: Proceedings of the Fourth International Conference on Embedded Networked Sensor Systems 2006, Pages 29-42 SenSys'06: 4th International Conference on Embedded Networked Sensor Systems; Boulder, CO; United States; 31 October 2006 through 3 November 2006
Tillgänglig från: 2007-01-11 Skapad: 2007-01-11 Senast uppdaterad: 2015-07-08Bibliografiskt granskad
Ingår i avhandling
1. Programming Memory-Constrained Networked Embedded Systems
Öppna denna publikation i ny flik eller fönster >>Programming Memory-Constrained Networked Embedded Systems
2007 (Engelska)Doktorsavhandling, sammanläggning (Övrigt vetenskapligt)
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.

Ort, förlag, år, upplaga, sidor
Institutionen för datavetenskap och elektronik, 2007. s. 214
Serie
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 40
Nyckelord
Wireless sensor networks, embedded systems, operating systems, programming, networking, TCP/IP
Nationell ämneskategori
Datavetenskap (datalogi)
Forskningsämne
Datavetenskap
Identifikatorer
urn:nbn:se:mdh:diva-173 (URN)978-91-85485-36-9 (ISBN)
Disputation
2007-02-15, , Electrum, Isafjordsgatan 22, Kista, 10:00
Opponent
Handledare
Tillgänglig från: 2007-01-11 Skapad: 2007-01-11 Senast uppdaterad: 2018-01-13

Open Access i DiVA

Fulltext saknas i DiVA

Övriga länkar

Förlagets fulltextScopus
Datorsystem

Sök vidare utanför DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetricpoäng

doi
isbn
urn-nbn
Totalt: 176 träffar
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf