skip to main content
10.1145/1236360.1236422acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

The regiment macroprogramming system

Published: 25 April 2007 Publication History

Abstract

The development of high-level programming environments is essential if wireless sensor networks are to be accessible to non-experts. 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.

References

[1]
A. Bakshi, V. Prasanna, J. Reich, and D. Larner. The abstract task graph: A methodology for architecture-independent programming of networked sensor systems. In Workshop on End-to-End, Sense-and-Respond Systems, Applications, and Services (EESR), 2005.
[2]
D. D. Couto, D. Aguayo, J. Bicket, and R. Morris. A high-throughput path metric for multi-hop wireless routing, 2003.
[3]
E. A. Cowen and K. B. Ward. Chemical plume tracing. Environmental Fluid Mechanics, 2(1-2), June 2002.
[4]
D. M. Doolin and N. Sitar. Wireless sensors for wildfire monitoring. In Proc. SPIE Symposium on Smart Structures and Materials, 2005.
[5]
C. Elliott and P. Hudak. Functional reactive animation. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP'97), volume 32(8), pages 263--273, 1997.
[6]
R. Gummadi, O. Gnawali, and R. Govindan. Macro-programming wireless sensor networks using. In Proc. Int. Conference on Distributed Computing in Sensor Systems (DCOSS), 2005.
[7]
J. M. Hellerstein, W. Hong, S. Madden, and K. Stanek. Beyond average: Towards sophisticated sensing with queries. In Proc. the 2nd International Workshop on Information Processing in Sensor Networks (IPSN'03), March 2003.
[8]
P. Levis, D. Gay, and D. Culler. Active sensor networks. In NSDI'05: Proceedings of the Second USENIX/ACM Symposium on Networked System Design and Implementation, 2005.
[9]
L. Luo, T. Abdelzaher, T. He, and J. Stankovic. Envirosuite: An environmentally immersive programming framework for sensor networks. ACM Transactions on Computational Logic, V(N), October 2005.
[10]
S. Madden, M. J. Franklin, J. M. Hellerstein, and W. Hong. TAG: A Tiny AGgregation Service for Ad-Hoc Sensor Networks. In Proc. the 5th OSDI, December 2002.
[11]
S. Nath, Y. Ke, P. B. Gibbons, B. Karp, and S. Seshan. IrisNet: An architecture for enabling sensor-enriched Internet service. Technical Report IRP-TR-03-04, Intel Research Pittsburgh, June 2003.
[12]
R. Newton. Normalizing regiment queries. http://www.regiment.us/docs, Nov 2006.
[13]
R. Newton, Arvind, and M. Welsh. Building up to macroprogramming: An intermediate language for sensor networks. In Proc. Fourth International Conference on Information Processing in Sensor Networks (IPSN'05), April 2005.
[14]
R. Newton and M. Welsh. Region streams: Functional macroprogramming for sensor networks. In Proc. the First International Workshop on Data Management for Sensor Networks (DMSN), Toronto, Canada, August 2004.
[15]
G. M. M. Welsh and G. Morrisett. Flask: A language for data-driven sensor network programs. Technical Report TR-13-06, Harvard University Technical Report, May 2006.
[16]
M. Welsh and G. Mainland. Programming sensor networks using abstract regions. In Proc. the First USENIX/ACM Symposium on Networked Systems Design and Implementation (NSDI'04), March 2004.
[17]
K. Whitehouse, C. Sharp, E. Brewer, and D. Culler. Hood: A neighborhood abstraction for sensor networks. In Proc. the International Conference on Mobile Systems, Applications, and Services (MOBISYS'04), June 2004.
[18]
K. Whitehouse, F. Zhao, and J. Liu. Semantic streams: a framework for composable semantic interpretation of sensor data. In Proc. European Workshop on Wireless Sensor Networks (EWSN), 2006.
[19]
Y. Yao and J. E. Gehrke. The Cougar approach to in-network query processing in sensor networks. ACM Sigmod Record, 31(3), September 2002.

Cited By

View all
  • (2023)Macroprogramming: Concepts, State of the Art, and Opportunities of Macroscopic Behaviour ModellingACM Computing Surveys10.1145/357935355:13s(1-37)Online publication date: 13-Jul-2023
  • (2022)A field-based computing approach to sensing-driven clustering in robot swarmsSwarm Intelligence10.1007/s11721-022-00215-y17:1-2(27-62)Online publication date: 19-Sep-2022
  • (2019)GRASS: generic reactive application-specific schedulingProceedings of the 6th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems10.1145/3358503.3361274(21-30)Online publication date: 21-Oct-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
IPSN '07: Proceedings of the 6th international conference on Information processing in sensor networks
April 2007
592 pages
ISBN:9781595936387
DOI:10.1145/1236360
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 25 April 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. functional macroprogramming
  2. sensor networks

Qualifiers

  • Article

Conference

IPSN07
Sponsor:

Acceptance Rates

Overall Acceptance Rate 143 of 593 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)1
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Macroprogramming: Concepts, State of the Art, and Opportunities of Macroscopic Behaviour ModellingACM Computing Surveys10.1145/357935355:13s(1-37)Online publication date: 13-Jul-2023
  • (2022)A field-based computing approach to sensing-driven clustering in robot swarmsSwarm Intelligence10.1007/s11721-022-00215-y17:1-2(27-62)Online publication date: 19-Sep-2022
  • (2019)GRASS: generic reactive application-specific schedulingProceedings of the 6th ACM SIGPLAN International Workshop on Reactive and Event-Based Languages and Systems10.1145/3358503.3361274(21-30)Online publication date: 21-Oct-2019
  • (2019)DDFlowProceedings of the International Conference on Internet of Things Design and Implementation10.1145/3302505.3310079(172-177)Online publication date: 15-Apr-2019
  • (2019)Porthos: Macroprogramming Blockchain Systems2019 10th IFIP International Conference on New Technologies, Mobility and Security (NTMS)10.1109/NTMS.2019.8763784(1-5)Online publication date: Jun-2019
  • (2018)Distributed system development with ScalaLociProceedings of the ACM on Programming Languages10.1145/32764992:OOPSLA(1-30)Online publication date: 24-Oct-2018
  • (2018)AsyncRFJProceedings of the XXII Brazilian Symposium on Programming Languages10.1145/3264637.3264642(35-42)Online publication date: 20-Sep-2018
  • (2018)Reactive programming experience with REScalaCompanion Proceedings of the 2nd International Conference on the Art, Science, and Engineering of Programming10.1145/3191697.3214337(105-112)Online publication date: 9-Apr-2018
  • (2018)D'ArtagnanProceedings of the Real World Domain Specific Languages Workshop 201810.1145/3183895.3183899(1-9)Online publication date: 24-Feb-2018
  • (2018)Software Adaptation in Wireless Sensor NetworksACM Transactions on Autonomous and Adaptive Systems10.1145/314545312:4(1-29)Online publication date: 23-Jan-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media