skip to main content
10.1145/1052199.1052213acmotherconferencesArticle/Chapter ViewAbstractPublication PagesdmsnConference Proceedingsconference-collections
Article

Region streams: functional macroprogramming for sensor networks

Published: 01 August 2004 Publication History

Abstract

Sensor networks present a number of novel programming challenges for application developers. Their inherent limitations of computational power, communication bandwidth, and energy demand new approaches to programming that shield the developer from low-level details of resource management, concurrency, and in-network processing. We argue that sensor networks should be programmed at the global level, allowing the compiler to automatically generate nodal behaviors from a high-level specification of the network's global behavior.This paper presents the design of a functional macroprogramming language for sensor networks, called Regiment. The essential data model in Regiment is based on region streams, which represent spatially distributed, time-varying collections of node state. A region stream might represent the set of sensor values across all nodes in an area or the aggregation of sensor values within that area. Regiment is a purely functional language, which gives the compiler considerable leeway in terms of realizing region stream operations across sensor nodes and exploiting redundancy within the network.We describe the initial design and implementation of Regiment, including a compiler that transforms a macroprogram into an efficient nodal program based on a token machine. We present a progresssion of simple programs that illustrate the power of Regiment to succinctly represent robust, adaptive sensor network applications.

References

[1]
T. Abdelzaher, B. Blum, Q. Cao, D. Evans, J. George, S. George, T. He, L. Luo, S. Son, R. Stoleru, J. Stankovic, and A. Wood. Envirotrack: Towards an environmental computing paradigm for distributed sensor networks.
[2]
J. Annevelik. Database programming languages: A functional approach. In Proc. of the ACM Conf. on Management of Data, pages 318--327, 1991.
[3]
A. Arasu, B. Babcock, S. Babu, J. Cieslewicz, M. Datar, K. Ito, R. Motwani, U. Srivastava, and J. Widom. STREAM: The Stanford Data Stream Management System. 2004.
[4]
Arvind and Rishiyur Nikhil. Implicit Parallel Programming in pH. Morgan Kaufman, 2001.
[5]
F. Bancilhon, T. Briggs, S. Khoshafian, and P. Valduriez. Fad, a powerful and simple database language. In Proc. Conf. on Very Large Data Bases (VLDB), 1987.
[6]
Guy E. Blelloch. NESL: A Nested Data-Parallel Language. Technical Report CMU-CS-93-129, April 1993.
[7]
Cristian Borcea, Chalermek Intanagonwiwat, Porlin Kang, Ulrich Kremer, and Liviu Iftode. Spatial programming using smart messages: Design and implementation. In 24th International Conference on Distributed Computing Systems (ICDCS 2004), March 2004.
[8]
Daniel Coore. Botanical Computing: A Developmental Approach to Generating Interconnect Topologies on an Amorphous Computer. PhD thesis, MIT Department of Electrical Engineering and Computer Science, February 1999.
[9]
Daniel Coore, Radhika Nagpal, and Ron Weiss. Paradigms for structure in an amorphous computer. Technical Report AIM-1614, MIT, 6, 1997.
[10]
Conal Elliott and Paul Hudak. Functional reactive animation. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP '97), volume 32(8), pages 263--273, 1997.
[11]
Deepak Ganesan, Ben Greenstein, Denis Perelyubskiy, Deborah Estrin, and John Heidemann. An evaluation of multi-resolution search and storage in resource-constrained sensor networks. In Proc. the First ACM Conference on Embedded Networked Sensor Systems (SenSys 2003), November 2003.
[12]
Benjamin Greenstein, Deborah Estrin, Ramesh Govindan, Sylvia Ratnasamy, and Scott Shenker. DIFS: A distributed index for features in sensor networks. In Proc. the First IEEE International Workshop on Sensor Network Protocols and Applications, May 2003.
[13]
Wendi Heinzelman, Joanna Kulik, and Hari Balakrishnan. Adaptive protocols for information dissemination in wireless sensor networks. In Proc. the 5th ACM/IEEE Mobicom Conference, August 1999.
[14]
Jason Hill, Robert Szewczyk, Alec Woo, Seth Hollar, David E. Culler, and Kristofer S. J. Pister. System architecture directions for networked sensors. In Proc. the 9th International Conference on Architectural Support for Programming Languages and Operating Systems, pages 93--104, Boston, MA, USA, November 2000.
[15]
Chalermek Intanagonwiwat, Ramesh Govindan, and Deborah Estrin. Directed diffusion: A scalable and robust communication paradigm for sensor networks. In Proc. International Conference on Mobile Computing and Networking, August 2000.
[16]
S. P. Jones and J. Hughes. Report on the programming language haskell 98., 1999.
[17]
Attila Kondacs. Biologically-inspired self-assembly of 2d shapes, using global-to-local compilation. In International Joint Conference on Artificial Intelligence (IJCAI), 2003.
[18]
Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein, and Wei Hong. TAG: A Tiny AGgregation Service for Ad-Hoc Sensor Networks. In Proc. the 5th OSDI, December 2002.
[19]
Eugenio Moggi. Computational lambda-calculus and monads. In Proceedings 4th Annual IEEE Symp. on Logic in Computer Science, LICS'89, Pacific Grove, CA, USA, 5-8 June 1989, pages 14--23. IEEE Computer Society Press, Washington, DC, 1989.
[20]
Nagpal, Shrobe, and Bachrach. Organizing a global coordinate system from local information on an ad hoc sensor network. In 2nd International Workshop on Information Processing in Sensor Networks (IPSN'03), April 2003.
[21]
Radhika Nagpal. Programmable Self-Assembly: Constructing Global Shape using Biologically-inspired Local Interactions and Origami Mathematics. PhD thesis, MIT Department of Electrical Engineering and Computer Science, June 2001.
[22]
Suman Nath, Yan Ke, Phillip B. Gibbons, Brad Karp, and Srinivasan Seshan. IrisNet: An architecture for enabling sensor-enriched Internet service. Technical Report IRP-TR-03-04, Intel Research Pittsburgh, June 2003.
[23]
Simon L. Peyton Jones and André L. M. Santos. A transformation-based optimiser for Haskell. volume 32, pages 3--47, 1998.
[24]
Pointon, Trinder, and Loidl. The design and implementation of Glasgow Distributed Haskell. Lecture Notes in Computer Science, 2001.
[25]
S. Ratnasamy, B. Karp, L. Yin, F. Yu, D. Estrin, R. Govindan, and S. Shenker. GHT: A geographic hash table for data-centric storage in sensornets. In Proc. the First ACM International Workshop on Wireless Sensor Networks and Applications (WSNA), Atlanta, Georgia, September 2002.
[26]
G. L. Steele and W. D. Hillis. Connection machine lisp: Fine grained parallel symbolic programming. pages 279--297.
[27]
Thorsten von Eicken, David E. Culler, Seth Copen Goldstein, and Klaus Erik Schauser. Active messages: a mechanism for integrating communication and computation. In Proc. the 19th Annual International Symposium on Computer Architecture, pages 256--266, May 1992.
[28]
P. Wadler and S. Blott. How to make ad-hoc polymorphism less ad-hoc. In Conference Record of the 16th Annual ACM Symposium on Principles of Programming Languages, pages 60--76. ACM, January 1989.
[29]
Matt Welsh. Exposing resource tradeoffs in region-based communication abstractions for sensor networks. In Proc. the 2nd ACM Workshop on Hot Topics in Networks (HotNets-II), November 2003.
[30]
Matt Welsh and Geoff Mainland. Programming sensor networks using abstract regions. In Proc. the First USENIX/ACM Symposium on Networked Systems Design and Implementation (NSDI '04), March 2004.
[31]
Kamin Whitehouse, Cory Sharp, Eric Brewer, and David Culler. Hood: A neighborhood abstraction for sensor networks. In Proc. the International Conference on Mobile Systems, Applications, and Services (MOBISYS '04), June 2004.
[32]
Yong Yao and J. E. Gehrke. The Cougar approach to in-network query processing in sensor networks. ACM Sigmod Record, 31(3), September 2002.
[33]
S. Zdonik, M. Stonebraker, M. Cherniack, U. Cetintemel, M. Balazinska, and H. Balakrishnan. The aurora and medusa projects. Bulletin of the Technical Committee on Data Engineering, 2001.

Cited By

View all
  • (2024)The eXchange Calculus (XC)Journal of Systems and Software10.1016/j.jss.2024.111976210:COnline publication date: 1-Apr-2024
  • (2024)A general framework and decentralised algorithms for collective computational processesFuture Generation Computer Systems10.1016/j.future.2024.04.020158:C(11-27)Online publication date: 1-Sep-2024
  • (2024)Towards Real-Time Aggregate ComputingLeveraging Applications of Formal Methods, Verification and Validation. Rigorous Engineering of Collective Adaptive Systems10.1007/978-3-031-75107-3_4(49-68)Online publication date: 27-Oct-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
DMSN '04: Proceeedings of the 1st international workshop on Data management for sensor networks: in conjunction with VLDB 2004
August 2004
124 pages
ISBN:9781450377959
DOI:10.1145/1052199
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

  • Intel: Intel

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 August 2004

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 6 of 16 submissions, 38%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)1
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2024)The eXchange Calculus (XC)Journal of Systems and Software10.1016/j.jss.2024.111976210:COnline publication date: 1-Apr-2024
  • (2024)A general framework and decentralised algorithms for collective computational processesFuture Generation Computer Systems10.1016/j.future.2024.04.020158:C(11-27)Online publication date: 1-Sep-2024
  • (2024)Towards Real-Time Aggregate ComputingLeveraging Applications of Formal Methods, Verification and Validation. Rigorous Engineering of Collective Adaptive Systems10.1007/978-3-031-75107-3_4(49-68)Online publication date: 27-Oct-2024
  • (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
  • (2023)Programming Distributed Collective Processes for Dynamic Ensembles and Collective TasksCoordination Models and Languages10.1007/978-3-031-35361-1_4(71-89)Online publication date: 15-Jun-2023
  • (2023)MacroSwarm: A Field-Based Compositional Framework for Swarm ProgrammingCoordination Models and Languages10.1007/978-3-031-35361-1_2(31-51)Online publication date: 15-Jun-2023
  • (2022)On the Dynamic Evolution of Distributed Computational Aggregates2022 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C)10.1109/ACSOSC56246.2022.00024(37-42)Online publication date: Sep-2022
  • (2022)Aggregate processes as distributed adaptive services for the Industrial Internet of ThingsPervasive and Mobile Computing10.1016/j.pmcj.2022.10165885:COnline publication date: 1-Sep-2022
  • (2022)Distributed runtime verification by past-CTL and the field calculusJournal of Systems and Software10.1016/j.jss.2022.111251187:COnline publication date: 1-May-2022
  • (2021)Aggregate centrality measures for IoT-based coordinationScience of Computer Programming10.1016/j.scico.2020.102584203(102584)Online publication date: Mar-2021
  • 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

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media