Sciweavers

SENSYS
2006
ACM

Protothreads: simplifying event-driven programming of memory-constrained embedded systems

14 years 6 months ago
Protothreads: simplifying event-driven programming of memory-constrained embedded systems
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 eventdriven 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. Categories and Subject...
Adam Dunkels, Oliver Schmidt, Thiemo Voigt, Muneeb
Added 14 Jun 2010
Updated 14 Jun 2010
Type Conference
Year 2006
Where SENSYS
Authors Adam Dunkels, Oliver Schmidt, Thiemo Voigt, Muneeb Ali
Comments (0)