Purely Functional Programming for Sensor Nets

Macroprogramming Myriads of Sensors


Or specifically, Region Streams: Functional Macroprogramming for Sensor Networks ("Macro" as in "big" not macros).

We are investigating high level languages for programming diverse, distributed networks of sensors. Our goal is to greatly simplify sensor network application design by providing high-level programming abstractions and primitives that automatically compile down to the complex, low-level operations implemented by each sensor node.


Sensor networks are an emerging computing platform consisting of large numbers of small, low-powered, wireless "motes" each with limited computation, sensing, and communication abilities. Sensor networks are being investigated for applications such as environmental monitoring, seismic analysis of structures, and tracking moving vehicles. Still, sensor network programming is incredibly difficult, due to the limited capabilities and energy resources of each node as well as the unreliability of the radio channel.

The language described in the paper, Regiment, is purely functional and uses techniques such as monads and functional reactive programming. It'd be quite ironic if this turned out to be the 'killer app' of pure FP. Sensor nets are related to Amorphous Computing and Swarm Computing which though mentioned in LtU appear never to have been a topic despite being quite deserving.