Middleware for sensor networks aims to support the development of applications for large populations of wirelessly connected nodes capable of computation, communication, and sensing. We examine the purpose, functionality, and characteristics of such middleware.