As sensing devices become increasingly sophisticated, more widely deployed in the real world, and more advanced in their capabilities, they are being deployed in richer, more diverse, and more sophisticated applications (such as providing visitor guides, monitoring patients in the home, or managing workflows). This project develops a new general-purpose programming model, group-based programming, for developing an emerging class of sensor applications that monitor heterogeneous data and abstract it into higher-level concepts like events, phenomena, and workflows. Group-based programming develops a unified, declarative framework for integrating heterogeneous data into abstract groups (sets of devices) and the data streams (views) they produce; composing groups and views; and, equally importantly, expressing communication, security, and privacy constraints. It synthesizes ideas and techniques from databases and data integration, real-time-systems, and streaming algorithms, in order to provide a higher-level framework for application development. The project develops an efficient runtime support layer for group-based programming across a broad array of sensor devices of different types, with automatic optimization capabilities that exploit the underlying properties of the underlying network and devices. Finally, it validates the suitability of this model across a variety of applications in hospital and home health care. The project will train two graduate students and a variety of summer students at the undergraduate and/or high school level, will develop a graduate/undergraduate course in sensor network applications, and will result in publicly available software.