{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,28]],"date-time":"2026-02-28T07:47:25Z","timestamp":1772264845547,"version":"3.50.1"},"reference-count":50,"publisher":"Association for Computing Machinery (ACM)","issue":"4S","license":[{"start":{"date-parts":[[2014,7,1]],"date-time":"2014-07-01T00:00:00Z","timestamp":1404172800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGPLAN Not."],"published-print":{"date-parts":[[2014,7]]},"abstract":"<jats:p>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, lowpower \"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.<\/jats:p>","DOI":"10.1145\/2641638.2641652","type":"journal-article","created":{"date-parts":[[2014,7,8]],"date-time":"2014-07-08T12:20:08Z","timestamp":1404822008000},"page":"41-51","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":38,"title":["The nesC language"],"prefix":"10.1145","volume":"49","author":[{"given":"David","family":"Gay","sequence":"first","affiliation":[{"name":"Research, Berkeley, Berkeley, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Philip","family":"Levis","sequence":"additional","affiliation":[{"name":"University of California, Berkeley, Berkeley, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Robert","family":"von Behren","sequence":"additional","affiliation":[{"name":"University of California, Berkeley, Berkeley, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Matt","family":"Welsh","sequence":"additional","affiliation":[{"name":"Research, Berkeley, Berkeley, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eric","family":"Brewer","sequence":"additional","affiliation":[{"name":"University of California, Berkeley, Berkeley, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"David","family":"Culler","sequence":"additional","affiliation":[{"name":"University of California, Berkeley, Berkeley, CA and Research, Berkeley, Berkeley, CA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2014,7]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Architectural Reasoning in ArchJava. In European Conference on Object Oriented Programming (ECOOP)","author":"Aldrich J.","year":"2002","unstructured":"J. Aldrich , C. Chambers , and D. Notkin . Architectural Reasoning in ArchJava. In European Conference on Object Oriented Programming (ECOOP) , June 2002 . J. Aldrich, C. Chambers, and D. Notkin. Architectural Reasoning in ArchJava. In European Conference on Object Oriented Programming (ECOOP), June 2002."},{"key":"e_1_2_1_2_1","doi-asserted-by":"crossref","DOI":"10.21236\/ADA379930","volume-title":"Volume II: Technical Concepts of Component-Based Software Engineering","author":"Bachmann F.","year":"2000","unstructured":"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 , 2 nd Edition. Technical Report CMU\/SEI- 2000 -TR-008, Carnegie Mellon Software Engineering Institute , May 2000. 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.","edition":"2"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(91)90001-E"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/5.97299"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1021794608392"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378811"},{"key":"e_1_2_1_8_1","volume-title":"Proceedings of Usenix Annual Technical Conference","author":"Fassino J.-P.","year":"2002","unstructured":"J.-P. Fassino , J.-B. Stefani , J. Lawall , and G. Muller . THINK: A Software Framework for Component-based Operating System Kernels . In Proceedings of Usenix Annual Technical Conference , June 2002 . J.-P. Fassino, J.-B. Stefani, J. Lawall, and G. Muller. THINK: A Software Framework for Component-based Operating System Kernels. In Proceedings of Usenix Annual Technical Conference, June 2002."},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/277650.277730"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/268998.266642"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1109\/5.97300"},{"key":"e_1_2_1_12_1","unstructured":"S. P. Harbison. Modula-3. Prentice Hall 1991.   S. P. Harbison. Modula-3. Prentice Hall 1991."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/384198.384208"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/65.260069"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/161468.161469"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/378993.379006"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/52324.52332"},{"key":"e_1_2_1_18_1","unstructured":"IEEE Standard 1076-2002. VHDL Language Reference Manual.  IEEE Standard 1076-2002. VHDL Language Reference Manual."},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/850928.851836"},{"key":"e_1_2_1_20_1","volume-title":"Jan.","author":"Standardization International Organisation","year":"1995","unstructured":"International Organisation for Standardization . Ada 95 Reference Manual , Jan. 1995 . International Organisation for Standardization. Ada 95 Reference Manual, Jan. 1995."},{"key":"e_1_2_1_21_1","volume-title":"ODP Reference Model: Architecture","author":"International IEC","year":"1995","unstructured":"ISO\/ IEC International Standard 10746-3. ODP Reference Model: Architecture , 1995 . ISO\/IEC International Standard 10746-3. ODP Reference Model: Architecture, 1995."},{"key":"e_1_2_1_22_1","unstructured":"M. Jones. What really happened on mars rover pathfinder. The Risks Digest 19(49).  M. Jones. What really happened on mars rover pathfinder. The Risks Digest 19(49)."},{"key":"e_1_2_1_23_1","volume-title":"The C Programming Language","author":"Kernighan B. W.","year":"1988","unstructured":"B. W. Kernighan and D. M. Ritchie . The C Programming Language , Second Edition. Prentice Hall , 1988 . B. W. Kernighan and D. M. Ritchie. The C Programming Language, Second Edition. Prentice Hall, 1988."},{"key":"e_1_2_1_25_1","volume-title":"UC Berkeley. Smart buildings admit their faults.","author":"Notes Lab","year":"2001","unstructured":"Lab Notes : Research from the College of Engineering , UC Berkeley. Smart buildings admit their faults. , 2001 . http:\/\/coe.berkeley.edu\/labnotes\/1101.smartbuildings.html. Lab Notes: Research from the College of Engineering, UC Berkeley. Smart buildings admit their faults., 2001. http:\/\/coe.berkeley.edu\/labnotes\/1101.smartbuildings.html."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/800215.806568"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.1993.274940"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605407"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.5555\/1060289.1060303"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/570738.570751"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/125826.125861"},{"key":"e_1_2_1_32_1","unstructured":"Microsoft C# Language Specification. Microsoft Press. ISBN 0-7356-1448-2.  Microsoft C# Language Specification. Microsoft Press. ISBN 0-7356-1448-2."},{"key":"e_1_2_1_33_1","unstructured":"Microsoft. Windows CE. http:\/\/www.microsoft.com.  Microsoft. Windows CE. http:\/\/www.microsoft.com."},{"key":"e_1_2_1_34_1","unstructured":"OLE2 Programmer's Reference Volume One. Microsoft Press 1994.  OLE2 Programmer's Reference Volume One. Microsoft Press 1994."},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/319151.319166"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/238721.238771"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.5555\/646253.683940"},{"key":"e_1_2_1_39_1","volume-title":"Technical Report CS-TR-1991-1039","author":"Netzer R. H. B.","year":"1991","unstructured":"R. H. B. Netzer . Race condition detection for debugging shared-memory parallel programs. Technical Report CS-TR-1991-1039 , 1991 . R. H. B. Netzer. Race condition detection for debugging shared-memory parallel programs. Technical Report CS-TR-1991-1039, 1991."},{"key":"e_1_2_1_40_1","unstructured":"Object Management Group. Common Object Request Broker Architecture. Available at http:\/\/www.omg.org.  Object Management Group. Common Object Request Broker Architecture. Available at http:\/\/www.omg.org."},{"key":"e_1_2_1_41_1","unstructured":"Object Management Group. CORBA Component Model (CCM) Specification. Available at http:\/\/www.omg.org.  Object Management Group. CORBA Component Model (CCM) Specification. Available at http:\/\/www.omg.org."},{"key":"e_1_2_1_42_1","unstructured":"QNX Software Systems Ltd Kanata Ontatio Canada. http:\/\/www.qnx.com.  QNX Software Systems Ltd Kanata Ontatio Canada. http:\/\/www.qnx.com."},{"key":"e_1_2_1_43_1","first-page":"347","volume-title":"Proceedings of the 4th ACM Symposium on Operating System Design and Implementation","author":"Reid A.","year":"2000","unstructured":"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 . 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."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/265924.265927"},{"key":"e_1_2_1_45_1","unstructured":"Sun Microsystems. Enterprise Java Beans. Available at http:\/\/java.sun.com\/ejb.  Sun Microsystems. Enterprise Java Beans. Available at http:\/\/java.sun.com\/ejb."},{"key":"e_1_2_1_46_1","volume-title":"Sun Workshop 5.0 Collection: Chapter 5, Lock Analysis Tool","year":"2000","unstructured":"SunSoft. Sun Workshop 5.0 Collection: Chapter 5, Lock Analysis Tool , 2000 . SunSoft. Sun Workshop 5.0 Collection: Chapter 5, Lock Analysis Tool, 2000."},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/139669.140382"},{"key":"e_1_2_1_48_1","first-page":"155","volume-title":"Event-Driven FRP. In Proceedings of the Internation Symposium on Principles of Declarative Languages (PADL)","volume":"2257","author":"Wan Z.","year":"2001","unstructured":"Z. Wan , W. Taha , and P. Hudak . Event-Driven FRP. In Proceedings of the Internation Symposium on Principles of Declarative Languages (PADL) , volume 2257 , pages 155 -- 172 , 2001 . Z. Wan, W. Taha, and P. Hudak. Event-Driven FRP. In Proceedings of the Internation Symposium on Principles of Declarative Languages (PADL), volume 2257, pages 155--172, 2001."},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.5555\/619059.621630"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/570738.570747"},{"key":"e_1_2_1_51_1","unstructured":"Wind River Systems Inc Alameda CA USA. http:\/\/www.vxworks.com.  Wind River Systems Inc Alameda CA USA. http:\/\/www.vxworks.com."},{"key":"e_1_2_1_52_1","volume-title":"Programming in Modula-2","author":"Wirth N.","year":"1992","unstructured":"N. Wirth . Programming in Modula-2 . Springer Verlag , 1992 . N. Wirth. Programming in Modula-2. Springer Verlag, 1992."},{"key":"e_1_2_1_53_1","volume-title":"Programming in Oberon - Steps Beyond Pascal and Modula","author":"Wirth N.","year":"1992","unstructured":"N. Wirth and M. Reiser . Programming in Oberon - Steps Beyond Pascal and Modula . Addison-Wesley , 1992 . ISBN 0-201-56543-9. N. Wirth and M. Reiser. Programming in Oberon - Steps Beyond Pascal and Modula. Addison-Wesley, 1992. ISBN 0-201-56543-9."}],"container-title":["ACM SIGPLAN Notices"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2641638.2641652","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2641638.2641652","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T06:56:19Z","timestamp":1750229779000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2641638.2641652"}},"subtitle":["a holistic approach to networked embedded systems"],"short-title":[],"issued":{"date-parts":[[2014,7]]},"references-count":50,"journal-issue":{"issue":"4S","published-print":{"date-parts":[[2014,7]]}},"alternative-id":["10.1145\/2641638.2641652"],"URL":"https:\/\/doi.org\/10.1145\/2641638.2641652","relation":{},"ISSN":["0362-1340","1558-1160"],"issn-type":[{"value":"0362-1340","type":"print"},{"value":"1558-1160","type":"electronic"}],"subject":[],"published":{"date-parts":[[2014,7]]},"assertion":[{"value":"2014-07-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}