ACM Home Page
Please provide us with feedback. Feedback
The nesC language: A holistic approach to networked embedded systems
Full text PdfPdf (178 KB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation table of contents
San Diego, California, USA
SESSION: Embedded systems table of contents
Pages: 1 - 11  
Year of Publication: 2003
ISBN:1-58113-662-5
Also published in ...
Authors
David Gay  Intel Research, Berkeley, Berkeley, CA
Philip Levis  University of California, Berkeley, Berkeley, CA
Robert von Behren  University of California, Berkeley, Berkeley, CA
Matt Welsh  Intel Research, Berkeley, Berkeley, CA
Eric Brewer  University of California, Berkeley, Berkeley, CA
David Culler  University of California, Berkeley, Berkeley, CA and Intel Research, Berkeley, Berkeley, CA
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 46,   Downloads (12 Months): 347,   Citation Count: 215
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/781131.781133
What is a DOI?

ABSTRACT

We present nesC, a programming language for networked embedded systems that represent a new design space for application developers. An example of a networked embedded system is a sensor network, which consists of (potentially) thousands of tiny, low-power "motes," each of which execute concurrent, reactive programs that must operate with severe memory and power constraints.nesC's contribution is to support the special needs of this domain by exposing a programming model that incorporates event-driven execution, a flexible concurrency model, and component-oriented application design. Restrictions on the programming model allow the nesC compiler to perform whole-program analyses, including data-race detection (which improves reliability) and aggressive function inlining (which reduces resource consumption).nesC has been used to implement TinyOS, a small operating system for sensor networks, as well as several significant sensor applications. nesC and TinyOS have been adopted by a large number of sensor network research groups, and our experience and evaluation of the language shows that it is effective at supporting the complex, concurrent programming style demanded by this new class of deeply networked systems.


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
F. Bachmann, L. Bass, C. Buhrman, S. Cornella-Dorda, F. Long, J. Robert, R. Seacord, and K. Wallnau. Volume II: Technical Concepts of Component-Based Software Engineering, 2nd Edition. Technical Report CMU/SEI-2000-TR-008, Carnegie Mellon Software Engineering Institute, May 2000.
 
3
 
4
F. Boussinot and R. de Simone. The ESTEREL Language. Proceedings of the IEEE, 79(9):1293--1304, Sept. 1991.
 
5
6
 
7
D. L. Detlefs, K. R. M. Leino, G. Nelson, and J. B. Saxe. Extended static checking. Technical Report #159, Palo Alto, USA, 1998.
 
8
9
10
 
11
N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The synchronous data-flow programming language LUSTRE. Proceedings of the IEEE, 79(9):1305--1320, September 1991.
 
12
13
 
14
A. Herbert. An ANSA Overview. IEEE Network, 8(1):18--23, 1994.
15
16
17
 
18
IEEE Standard 1076-2002. VHDL Language Reference Manual.
 
19
 
20
International Organisation for Standardization. Ada 95 Reference Manual, Jan. 1995.
 
21
ISO/IEC International Standard 10746-3. ODP Reference Model: Architecture, 1995.
 
22
M. Jones. What really happened on mars rover pathfinder. The Risks Digest, 19(49).
 
23
 
24
E. Kohler, B. Chen, M. F. Kaashoek, R. Morris, and M. Poletto. Programming language techniques for modular router configurations. Technical Report MIT-LCS-TR-812, MIT Laboratory for Computer Science, Aug. 2000.
 
25
Lab Notes: Research from the College of Engineering, UC Berkeley. Smart buildings admit their faults., 2001. http://coe.berkeley.edu/labnotes/1101.smartbuildings.html.
26
 
27
28
29
30
31
 
32
Microsoft C# Language Specification. Microsoft Press. ISBN 0-7356-1448-2.
 
33
Microsoft. Windows CE. http://www.microsoft.com.
 
34
OLE2 Programmer's Reference, Volume One. Microsoft Press, 1994.
 
35
J. Mitchell. Mesa language manual. Technical Report CSL-79-3, Xerox PARC, 1979.
36
37
 
38
 
39
R. H. B. Netzer. Race condition detection for debugging shared-memory parallel programs. Technical Report CS-TR-1991-1039, 1991.
 
40
Object Management Group. Common Object Request Broker Architecture. Available at http://www.omg.org.
 
41
Object Management Group. CORBA Component Model (CCM) Specification. Available at http://www.omg.org.
 
42
QNX Software Systems, Ltd, Kanata, Ontatio, Canada. http://www.qnx.com.
 
43
A. Reid, M. Flatt, L. Stoller, J. Lepreau, and E. Eide. Knit: Component composition for systems software. In Proceedings of the 4th ACM Symposium on Operating System Design and Implementation, pages 347--360, Oct. 2000.
44
 
45
Sun Microsystems. Enterprise Java Beans. Available at http://java.sun.com/ejb.
 
46
SunSoft. Sun Workshop 5.0 Collection: Chapter 5, Lock Analysis Tool, 2000.
47
 
48
 
49
50
 
51
Wind River Systems, Inc, Alameda, CA, USA. http://www.vxworks.com.
 
52
53

CITED BY  217

Collaborative Colleagues:
David Gay: colleagues
Philip Levis: colleagues
Robert von Behren: colleagues
Matt Welsh: colleagues
Eric Brewer: colleagues
David Culler: colleagues