Building up to macroprogramming: an intermediate language for sensor networks

There is widespread agreement that a higher level programming model for sensor networks is needed. A variety of models have been developed, but the community is far from consensus. We propose an intermediate language to speed up the exploration of this design space. Our language, called the token machine language (TML) can be targeted by compilers for higher level systems. TML provides a layer of abstraction for a lower-level runtime environment, such as TinyOS. TML is intended to capture coordinated activity in a sensor network. Notable features of TML are its atomic action model of concurrency, and its unification of communication, control, and storage around the concept of a token. Tokens are small objects, typically under a hundred bytes, and can be disseminated across the network. A token causes computation upon its arrival at a site by invoking a token handler. The effect of the computation is to atomically change the token's own state as well as the state of shared variables at the site.

[1]  Philip Levis,et al.  Maté: a tiny virtual machine for sensor networks , 2002, ASPLOS X.

[2]  David E. Culler,et al.  Fine-grain parallelism with minimal hardware support: a compiler-controlled threaded abstract machine , 1991, ASPLOS IV.

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

[4]  Deborah Estrin,et al.  An evaluation of multi-resolution search and storage in resource-constrained sensor networks - eScholarship , 2003 .

[5]  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 .

[6]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[7]  Robert Szewczyk,et al.  System architecture directions for networked sensors , 2000, ASPLOS IX.

[8]  Liviu Iftode,et al.  Spatial programming using smart messages: design and implementation , 2004, 24th International Conference on Distributed Computing Systems, 2004. Proceedings..

[9]  Olivier Danvy,et al.  A generic account of continuation-passing styles , 1994, POPL '94.

[10]  Wendi B. Heinzelman,et al.  Adaptive protocols for information dissemination in wireless sensor networks , 1999, MobiCom.

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

[12]  Emin Gün Sirer,et al.  On the need for system-level support for ad hoc and sensor networks , 2002, OPSR.

[13]  David E. Culler,et al.  Fine-grain parallelism with minimal hardware support: a compiler-controlled threaded abstract machine , 1991, ASPLOS IV.

[14]  M. Felleisen,et al.  Reasoning about programs in continuation-passing style , 1993 .

[15]  Amr Sabry,et al.  The essence of compiling with continuations , 1993, PLDI '93.

[16]  Chris Hanson,et al.  Amorphous computing , 2000, Commun. ACM.

[17]  Deborah Estrin,et al.  An evaluation of multi-resolution storage for sensor networks , 2003, SenSys '03.

[18]  David E. Culler,et al.  Bridging the Gap: Programming Sensor Networks with Application Specific Virtual Machines , 2004 .

[19]  Deborah Estrin,et al.  A sensor network application construction kit (SNACK) , 2004, SenSys '04.

[20]  Seth Copen Goldstein,et al.  Active Messages: A Mechanism for Integrated Communication and Computation , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[21]  Deborah Estrin,et al.  Directed diffusion: a scalable and robust communication paradigm for sensor networks , 2000, MobiCom '00.

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

[23]  Sang Hyuk Son,et al.  USENIX Association Proceedings of MobiSys 2003 : The First International Conference on Mobile Systems , Applications , and Services , 2003 .

[24]  Deborah Estrin,et al.  DIFS: a distributed index for features in sensor networks , 2003, Ad Hoc Networks.

[25]  V. Michael Bove,et al.  Programming a paintable computer , 2002 .

[26]  Deborah Estrin,et al.  An implementation of multi-resolution search and storage in resource-constrained sensor networks , 2003 .

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