— We present design patterns used by software components in the TinyOS operating system. They differ significantly from traditional software design patterns due to TinyOS’s focus on static allocation and whole-program composition. We describe how nesC has evolved to support design patterns by including a few simple language primitives.
David Gay, Philip Levis, David E. Culler