The Regiment Macroprogramming System

The development of high-level programming environments is essential if wireless sensor networks are to be accessible to nonexperts. In this paper, we present the Regiment system, which consists of a high-level language for spatiotemporal macroprogramming, along with a compiler that translates global programs into node-level code. In Regiment, the programmer views the network as a set of spatially-distributed data streams. The programmer can manipulate sets of these streams that may be defined by topological or geographic relationships between nodes. Regiment provides a rich set of primitives for processing data on individual streams, manipulating regions, performing aggregation over a region, and triggering new computation within the network. In this paper, we describe the design and implementation of the Regiment language and compiler. We describe the deglobalization process that compiles a network-wide representation of the program into a node-level, event-driven program. Deglobalization maps region operations onto associated spanning trees that establish region membership and permit efficient in-network aggregation. We evaluate Regiment in the context of a complex distributed application involving rapid detection of spatially-distributed events, such as wildfires or chemical plumes. Our results show that Regiment makes it possible to develop complex sensor network applications at a global level.

[1]  Om Ramki,et al.  Macro-programming Wireless Sensor Networks using , 2005 .

[2]  Yong Yao,et al.  The cougar approach to in-network query processing in sensor networks , 2002, SGMD.

[3]  Ryan Newton,et al.  Building up to macroprogramming: an intermediate language for sensor networks , 2005, IPSN 2005. Fourth International Symposium on Information Processing in Sensor Networks, 2005..

[4]  Viktor K. Prasanna,et al.  The Abstract Task Graph: a methodology for architecture-independent programming of networked sensor systems , 2005, EESR '05.

[5]  M. Welsh,et al.  Flask : A Language for Data-driven Sensor Network Programs , 2006 .

[6]  David M. Doolin,et al.  Wireless sensors for wildfire monitoring , 2005, SPIE Smart Structures and Materials + Nondestructive Evaluation and Health Monitoring.

[7]  Kamin Whitehouse,et al.  Semantic Streams: A Framework for Composable Semantic Interpretation of Sensor Data , 2006, EWSN.

[8]  Ramesh Govindan,et al.  Macro-programming Wireless Sensor Networks Using Kairos , 2005, DCOSS.

[9]  Srinivasan Seshan,et al.  IrisNet: An Architecture for Internet-scale Sensing Services , 2003, VLDB.

[10]  David E. Culler,et al.  Active sensor networks , 2005, NSDI.

[11]  Wei Hong,et al.  Beyond Average: Toward Sophisticated Sensing with Queries , 2003, IPSN.

[12]  Paul Hudak,et al.  Functional reactive animation , 1997, ICFP '97.

[13]  Matt Welsh,et al.  Programming Sensor Networks Using Abstract Regions , 2004, NSDI.

[14]  Srinivasan Seshan,et al.  IrisNet: An Architecture for Enabling Sensor-Enriched Internet Service , 2003 .

[15]  Tarek F. Abdelzaher,et al.  EnviroSuite: An environmentally immersive programming framework for sensor networks , 2006, TECS.

[16]  Robert Tappan Morris,et al.  a high-throughput path metric for multi-hop wireless routing , 2003, MobiCom '03.

[17]  Keith B. Ward,et al.  Chemical Plume Tracing , 2002 .

[18]  Ryan Newton,et al.  Region streams: functional macroprogramming for sensor networks , 2004, DMSN '04.

[19]  David E. Culler,et al.  Hood: a neighborhood abstraction for sensor networks , 2004, MobiSys '04.

[20]  Wei Hong,et al.  Proceedings of the 5th Symposium on Operating Systems Design and Implementation Tag: a Tiny Aggregation Service for Ad-hoc Sensor Networks , 2022 .