The document discusses software platforms and services for wireless sensor networks. It describes operating systems like TinyOS and Contiki that are designed for constrained embedded devices. TinyOS uses an event-driven programming model with nesC while Contiki supports both event-driven and thread-based programming. It also discusses features of these operating systems like dynamic programming, power management, and timers. Protothreads are presented as a way to simplify event-driven programming. The document provides examples of programming models in Contiki using processes and timers.