|
ABSTRACT
Over the last several years, large-scale wireless mote networks have made possible the exploration of a new class of highly-concurrent and highly-distributed applications. As the horizon of what kinds of applications can be built on these networked embedded systems keeps expanding, there is a need to keep the activity of programming such systems easy, efficient, and scalable. We make three major contributions in this paper. First, we present a library for TinyOS and nesC that enables true multi-threading on a mote. This library includes support for all mote platforms in use currently (AVR, MSP). Second, we present a tool that can effectively and accurately compute stack requirements for multithreaded programs. Such analysis ensures that the stacks allocated to individual threads are correctly sized. Finally, we present a collection of programming abstractions that simplifies the construction of concurrent systems for the mote platform. We also present experimental results obtained from several example systems built using our concurrent programming abstractions and the underlying thread library.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
Atmel Corporation. Atmega128(l) data sheet. www.atmel.-com/dyn/resources/prod_documents/doc2467.pdf.
|
| |
3
|
Shah Bhatti , James Carlson , Hui Dai , Jing Deng , Jeff Rose , Anmol Sheth , Brian Shucker , Charles Gruenwald , Adam Torgerson , Richard Han, MANTIS OS: an embedded multithreaded operating system for wireless micro sensor platforms, Mobile Networks and Applications, v.10 n.4, p.563-579, August 2005
[doi> 10.1145/1160162.1160178]
|
| |
4
|
Dennis Brylow , Niels Damgaard , Jens Palsberg, Static checking of interrupt-driven software, Proceedings of the 23rd International Conference on Software Engineering, p.47-56, May 12-19, 2001, Toronto, Ontario, Canada
|
| |
5
|
|
| |
6
|
Chipcon, Texas Instruments. Cc2420 data sheet. www.chipcon.com/files/CC2420_Data_Sheet_1_3.pdf.
|
| |
7
|
A. Dunkels, O. Schmidt, and T. Voigt. Using Protothreads for Sensor Node Programming. In REALWSN'05, Stockholm, Sweden, June 2005.
|
| |
8
|
|
| |
9
|
R.S. Engelschall. Portable multithreading: The signal stack trick for user-space thread creation. In 2000 USENIX Annual Technical Conference, 2000.
|
 |
10
|
A. Krishnamurthy , D. E. Culler , A. Dusseau , S. C. Goldstein , S. Lumetta , T. von Eicken , K. Yelick, Parallel programming in Split-C, Proceedings of the 1993 ACM/IEEE conference on Supercomputing, p.262-273, December 1993, Portland, Oregon, United States
[doi> 10.1145/169627.169724]
|
| |
11
|
R. Gummadi, O. Gnawali, and R. Govindan. Macro-programming wireless sensor networks using kairos. In DCOSS '05, June 2005.
|
 |
12
|
Jason Hill , Robert Szewczyk , Alec Woo , Seth Hollar , David Culler , Kristofer Pister, System architecture directions for networked sensors, Proceedings of the ninth international conference on Architectural support for programming languages and operating systems, p.93-104, November 2000, Cambridge, Massachusetts, United States
|
 |
13
|
|
| |
14
|
|
| |
15
|
|
 |
16
|
|
 |
17
|
|
| |
18
|
P. Levis, N. Patel, D. Culler, and S. Shenker. Trickle: A self-regulating algorithm for code propagation and maintenance in wireless sensor networks. In NSDI '04, 2004.
|
| |
19
|
|
| |
20
|
T.D. May, S.H. Dunning, G.A. Dowding, and J.O. Hall-strom. An rpc design for wireless sensor networks. J. Pervasive Computing and Communication, March 2006.
|
| |
21
|
Moteiv Corporation. Tmote Sky data sheet. moteiv.com/products/docs/tmote-sky-datasheet.pdf.
|
 |
22
|
|
| |
23
|
C. Nitta, R. Pandey, and Y. Ramin. Y-Threads: Supporting concurrency in wireless sensor networks. In LNCS 4026 (DCOSS '06), pages 169--184, jun 2006.
|
 |
24
|
|
 |
25
|
|
| |
26
|
Texas Instruments. MSP430x1xx family user's guide (rev. f). www-s.ti.com/sc/psheets/slau049f/slau049f.pdf.
|
| |
27
|
J.R. von Behren, J. Condit, and E.A. Brewer. Why events are a bad idea (for high-concurrency servers). In M.B. Jones, editor, HotOS, pages 19--24. USENIX, 2003.
|
 |
28
|
Rob von Behren , Jeremy Condit , Feng Zhou , George C. Necula , Eric Brewer, Capriccio: scalable threads for internet services, Proceedings of the nineteenth ACM symposium on Operating systems principles, October 19-22, 2003, Bolton Landing, NY, USA
|
| |
29
|
M. Welsh and G. Mainland. Programming sensor networks using abstract regions. In NSDI, pages 29--42. USENIX, 2004.
|
 |
30
|
Kamin Whitehouse , Cory Sharp , Eric Brewer , David Culler, Hood: a neighborhood abstraction for sensor networks, Proceedings of the 2nd international conference on Mobile systems, applications, and services, June 06-09, 2004, Boston, MA, USA
[doi> 10.1145/990064.990079]
|
CITED BY 7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Qing Cao , Tarek Abdelzaher , John Stankovic , Kamin Whitehouse , Liqian Luo, Declarative tracepoints: a programmable and application independent debugging system for wireless sensor networks, Proceedings of the 6th ACM conference on Embedded network sensor systems, November 05-07, 2008, Raleigh, NC, USA
|
|
|
|
|
|
|
|