https://www.mdu.se/

mdh.sePublikasjoner
Endre søk
RefereraExporteraLink to record
Permanent link

Direct link
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annet format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annet 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 (engelsk)Inngår i: SenSys'06: Proceedings of the Fourth International Conference on Embedded Networked Sensor Systems, 2006, s. 29-42Konferansepaper, Publicerat paper (Fagfellevurdert)
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

sted, utgiver, år, opplag, sider
2006. s. 29-42
HSV kategori
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
Konferanse
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
Tilgjengelig fra: 2007-01-11 Laget: 2007-01-11 Sist oppdatert: 2015-07-08bibliografisk kontrollert
Inngår i avhandling
1. Programming Memory-Constrained Networked Embedded Systems
Åpne denne publikasjonen i ny fane eller vindu >>Programming Memory-Constrained Networked Embedded Systems
2007 (engelsk)Doktoravhandling, med artikler (Annet vitenskapelig)
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.

sted, utgiver, år, opplag, sider
Institutionen för datavetenskap och elektronik, 2007. s. 214
Serie
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 40
Emneord
Wireless sensor networks, embedded systems, operating systems, programming, networking, TCP/IP
HSV kategori
Forskningsprogram
Datavetenskap
Identifikatorer
urn:nbn:se:mdh:diva-173 (URN)978-91-85485-36-9 (ISBN)
Disputas
2007-02-15, , Electrum, Isafjordsgatan 22, Kista, 10:00
Opponent
Veileder
Tilgjengelig fra: 2007-01-11 Laget: 2007-01-11 Sist oppdatert: 2018-01-13

Open Access i DiVA

Fulltekst mangler i DiVA

Andre lenker

Forlagets fulltekstScopus

Søk utenfor DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric

doi
isbn
urn-nbn
Totalt: 181 treff
RefereraExporteraLink to record
Permanent link

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