Part I. TinyOS and NesC: 1. Introduction
2. Names and program structure
Part II. Basic Programming: 3. Components and interfaces
4. Configurations and wiring
5. Execution model
7. Mote-PC communication
Part III. Advanced Programming: 8. Advanced components
9. Advanced wiring
10. Design patterns
12. Device drivers and the hardware abstraction architecture (HAA)
13. Advanced applications: SoundLocalizer
Appendix: TinyOS APIs
Philip Levis is Assistant Professor of Computer Science and Electrical Engineering at Stanford University. A Fellow of the Microsoft Research Faculty, he is also Chair of the TinyOS Core Working Group and a Member of the TinyOS Network Protocol (net2), Simulation (sim), and Documentation (doc) Working Groups.
David Gay joined Intel Research in Berkeley in 2001 where he has been a designer and the principal implementer of the nesC language, the C dialect used to implement the TinyOS sensor network operating system, and its applications. He has a diploma in Computer Science from the Swiss Federal Institute of Technology in Lausanne and a Ph.D. from the University of California, Berkeley.