{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,1]],"date-time":"2026-07-01T11:58:08Z","timestamp":1782907088295,"version":"3.54.5"},"reference-count":65,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2008,3,1]],"date-time":"2008-03-01T00:00:00Z","timestamp":1204329600000},"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":["ACM Trans. Sen. Netw."],"published-print":{"date-parts":[[2008,3]]},"abstract":"<jats:p>Sensor networks have a significant potential in diverse applications some of which are already beginning to be deployed in areas such as environmental monitoring. As the application logic becomes more complex, programming difficulties are becoming a barrier to adoption of these networks. The difficulty in programming sensor networks is not only due to their inherently distributed nature but also the need for mechanisms to address their harsh operating conditions such as unreliable communications, faulty nodes, and extremely constrained resources. Researchers have proposed different programming models to overcome these difficulties with the ultimate goal of making programming easy while making full use of available resources. In this article, we first explore the requirements for programming models for sensor networks. Then we present a taxonomy of the programming models, classified according to the level of abstractions they provide. We present an evaluation of various programming models for their responsiveness to the requirements. Our results point to promising efforts in the area and a discussion of the future directions of research in this area.<\/jats:p>","DOI":"10.1145\/1340771.1340774","type":"journal-article","created":{"date-parts":[[2008,4,8]],"date-time":"2008-04-08T15:40:00Z","timestamp":1207669200000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":93,"title":["Programming models for sensor networks"],"prefix":"10.1145","volume":"4","author":[{"given":"Ryo","family":"Sugihara","sequence":"first","affiliation":[{"name":"University of California, San Diego, La Jolla, CA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Rajesh K.","family":"Gupta","sequence":"additional","affiliation":[{"name":"University of California, San Diego, La Jolla, CA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2008,4,8]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"ICDCS'04: Proceedings of the 24th International Conference on Distributed Computing Systems. 582--589","author":"Abdelzaher T.","unstructured":"Abdelzaher , T. , Blum , B. , Cao , Q. , Chen , Y. , Evans , D. , George , J. , George , S. , Gu , L. , He , T. , Krishnamurthy , S. , Luo , L. , Son , S. , Stankovic , J. , Stoleru , R. , and Wood , A . 2004. EnviroTrack: Towards an environmental computing paradigm for distributed sensor networks . In ICDCS'04: Proceedings of the 24th International Conference on Distributed Computing Systems. 582--589 . Abdelzaher, T., Blum, B., Cao, Q., Chen, Y., Evans, D., George, J., George, S., Gu, L., He, T., Krishnamurthy, S., Luo, L., Son, S., Stankovic, J., Stoleru, R., and Wood, A. 2004. EnviroTrack: Towards an environmental computing paradigm for distributed sensor networks. In ICDCS'04: Proceedings of the 24th International Conference on Distributed Computing Systems. 582--589."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1127777.1127801"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1031495.1031499"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.5555\/1160162.1160178"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/98.878531"},{"key":"e_1_2_1_6_1","volume-title":"ICDCS'04: Proceedings of the 24th International Conference on Distributed Computing Systems. 690--699","author":"Borcea C.","unstructured":"Borcea , C. , Intanagonwiwat , C. , Kang , P. , Kremer , U. , and Iftode , L . 2004. Spatial programming using smart messages: Design and implementation . In ICDCS'04: Proceedings of the 24th International Conference on Distributed Computing Systems. 690--699 . Borcea, C., Intanagonwiwat, C., Kang, P., Kremer, U., and Iftode, L. 2004. Spatial programming using smart messages: Design and implementation. In ICDCS'04: Proceedings of the 24th International Conference on Distributed Computing Systems. 690--699."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1066116.1066121"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/952532.952668"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1177\/10943420020160030901"},{"key":"e_1_2_1_10_1","volume-title":"VLDB'04: Proceedings of the 30th International Conference on Very Large Data Bases.","author":"Deshpande A.","unstructured":"Deshpande , A. , Guestrin , C. , Madden , S. , Hellerstein , J. , and Hong , W . 2004. Model-driven data acquisition in sensor networks . In VLDB'04: Proceedings of the 30th International Conference on Very Large Data Bases. Deshpande, A., Guestrin, C., Madden, S., Hellerstein, J., and Hong, W. 2004. Model-driven data acquisition in sensor networks. In VLDB'04: Proceedings of the 30th International Conference on Very Large Data Bases."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1182807.1182810"},{"key":"e_1_2_1_12_1","volume-title":"EmNetS-I: Proceedings of the 1st IEEE Workshop on Embedded Networked Sensors.","author":"Dunkels A.","unstructured":"Dunkels , A. , Gr\u00f6nvall , B. , and Voigt , T . 2004. Contiki\u2014a lightweight and flexible operating system for tiny networked sensors . In EmNetS-I: Proceedings of the 1st IEEE Workshop on Embedded Networked Sensors. Dunkels, A., Gr\u00f6nvall, B., and Voigt, T. 2004. Contiki\u2014a lightweight and flexible operating system for tiny networked sensors. In EmNetS-I: Proceedings of the 1st IEEE Workshop on Embedded Networked Sensors."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1182807.1182811"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/313451.313556"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1098918.1098944"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781133"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1182807.1182823"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1031495.1031505"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1182807.1182809"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/11502593_12"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1109\/MDSO.2006.19"},{"key":"e_1_2_1_22_1","unstructured":"Han C.-C. Goraczko M. Helander J. Priyantha J. L. B. and Zhao F. 2006. CoMOS: An operating system for heterogeneous multi-processor sensor devices. Res. tech. rep. MSR-TR-2006-177. Microsoft Research Redmond WA.  Han C.-C. Goraczko M. Helander J. Priyantha J. L. B. and Zhao F. 2006. CoMOS: An operating system for heterogeneous multi-processor sensor devices. Res. tech. rep. MSR-TR-2006-177. Microsoft Research Redmond WA."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1067170.1067188"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/990064.990096"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/MNET.2004.1265828"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/378993.379006"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1031495.1031506"},{"key":"e_1_2_1_28_1","volume-title":"Tech. Rep. CS2005-0827","author":"Intanagonwiwat C.","unstructured":"Intanagonwiwat , C. , Gupta , R. , and Vahdat , A . 2005. Declarative resource naming for macroprogramming wireless networks of embedded systems . Tech. Rep. CS2005-0827 . University of California, San Deigo, La Jolla, CA. Intanagonwiwat, C., Gupta, R., and Vahdat, A. 2005. Declarative resource naming for macroprogramming wireless networks of embedded systems. Tech. Rep. CS2005-0827. University of California, San Deigo, La Jolla, CA."},{"key":"e_1_2_1_29_1","volume-title":"-C","author":"Jaikaeo C.","year":"2000","unstructured":"Jaikaeo , C. , Srisathapornphat , C. , and Shen , C . -C . 2000 . Querying and tasking in sensor networks. In SPIE's 14th Annual International Symposium on Aerospace\/Defense Sensing, Simulation, and Control (Digitization of the Battlespace V). Vol. 4037. 184--197. Jaikaeo, C., Srisathapornphat, C., and Shen, C.-C. 2000. Querying and tasking in sensor networks. In SPIE's 14th Annual International Symposium on Aerospace\/Defense Sensing, Simulation, and Control (Digitization of the Battlespace V). Vol. 4037. 184--197."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605408"},{"key":"e_1_2_1_31_1","volume-title":"IPSN'05: Proceedings of the 4th International Symposium on Information Processing in Sensor Networks. 45--52","author":"Kasten O.","unstructured":"Kasten , O. and R\u00f6mer , K . 2005. Beyond event handlers: Programming wireless sensors with attributed state machines . In IPSN'05: Proceedings of the 4th International Symposium on Information Processing in Sensor Networks. 45--52 . Kasten, O. and R\u00f6mer, K. 2005. Beyond event handlers: Programming wireless sensors with attributed state machines. In IPSN'05: Proceedings of the 4th International Symposium on Information Processing in Sensor Networks. 45--52."},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1098918.1098945"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605407"},{"key":"e_1_2_1_34_1","volume-title":"NSDI'05: Proceedings of the 2nd USENIX\/ACM Symposium on Networked Systems Design and Implementation.","author":"Levis P.","unstructured":"Levis , P. , Gay , D. , and Culler , D . 2005a. Active sensor networks . In NSDI'05: Proceedings of the 2nd USENIX\/ACM Symposium on Networked Systems Design and Implementation. Levis, P., Gay, D., and Culler, D. 2005a. Active sensor networks. In NSDI'05: Proceedings of the 2nd USENIX\/ACM Symposium on Networked Systems Design and Implementation."},{"key":"e_1_2_1_35_1","unstructured":"Levis P. Gay D. Handziski V. Hauer J.-H. Greenstein B. Turon M. Hui J. Klues K. Sharp C. Szewczyk R. Polastre J. Buonadonna P. Nachman L. Tolle G. Culler D. and Wolisz A. 2005b. T2: A second generation os for embedded sensor networks. Tech. rep. TKN-05-007. Telecommunication Networks Group Technische Universit\u00e4t Berlin Berlin Germany.  Levis P. Gay D. Handziski V. Hauer J.-H. Greenstein B. Turon M. Hui J. Klues K. Sharp C. Szewczyk R. Polastre J. Buonadonna P. Nachman L. Tolle G. Culler D. and Wolisz A. 2005b. T2: A second generation os for embedded sensor networks. Tech. rep. TKN-05-007. Telecommunication Networks Group Technische Universit\u00e4t Berlin Berlin Germany."},{"key":"e_1_2_1_36_1","volume-title":"IPSN'03: Proceedings of the 2nd International Symposium on Information Processing in Sensor Networks. 502--517","author":"Li S.","unstructured":"Li , S. , Son , S. H. , and Stankovic , J. A . 2003. Event detection services using data service middleware in distributed sensor networks . In IPSN'03: Proceedings of the 2nd International Symposium on Information Processing in Sensor Networks. 502--517 . Li, S., Son, S. H., and Stankovic, J. A. 2003. Event detection services using data service middleware in distributed sensor networks. In IPSN'03: Proceedings of the 2nd International Symposium on Information Processing in Sensor Networks. 502--517."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/MPRV.2003.1251169"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/781498.781516"},{"key":"e_1_2_1_40_1","volume-title":"IPSN'03: Proceedings of the 2nd International Symposium on Information Processing in Sensor Networks. 518--528","author":"Lundquist J. D.","unstructured":"Lundquist , J. D. , Cayan , D. R. , and Dettinger , M. D . 2003. Meteorology and hydrology in Yosemite National Park: A sensor network application . In IPSN'03: Proceedings of the 2nd International Symposium on Information Processing in Sensor Networks. 518--528 . Lundquist, J. D., Cayan, D. R., and Dettinger, M. D. 2003. Meteorology and hydrology in Yosemite National Park: A sensor network application. In IPSN'03: Proceedings of the 2nd International Symposium on Information Processing in Sensor Networks. 518--528."},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/1236360.1236378"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/872757.872817"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2004.91"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1182807.1182825"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1007\/11776178_10"},{"key":"e_1_2_1_46_1","volume-title":"IPSN'05: Proceedings of the 4th International Symposium on Information Processing in Sensor Networks. 37--44","author":"Newton R.","unstructured":"Newton , R. , Arvind , and Welsh, M . 2005. Building up to macroprogramming: An intermediate language for sensor networks . In IPSN'05: Proceedings of the 4th International Symposium on Information Processing in Sensor Networks. 37--44 . Newton, R., Arvind, and Welsh, M. 2005. Building up to macroprogramming: An intermediate language for sensor networks. In IPSN'05: Proceedings of the 4th International Symposium on Information Processing in Sensor Networks. 37--44."},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/1236360.1236422"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1052199.1052213"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065040"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1007\/11776178_11"},{"key":"e_1_2_1_51_1","volume-title":"Proceedings of the USENIX Technical Conference (invited talk).","author":"Ousterhout J. K.","year":"1996","unstructured":"Ousterhout , J. K. 1996 . Why threads are a bad idea (for most purposes) . In Proceedings of the USENIX Technical Conference (invited talk). Ousterhout, J. K. 1996. Why threads are a bad idea (for most purposes). In Proceedings of the USENIX Technical Conference (invited talk)."},{"key":"e_1_2_1_52_1","volume-title":"IPSN'03: Proceedings of the 2nd International Symposium on Information Processing in Sensor Networks. 32--46","author":"Pattem S.","unstructured":"Pattem , S. , Poduri , S. , and Krishnamachari , B . 2003. Energy-quality tradeoffs for target tracking in wireless sensor networks . In IPSN'03: Proceedings of the 2nd International Symposium on Information Processing in Sensor Networks. 32--46 . Pattem, S., Poduri, S., and Krishnamachari, B. 2003. Energy-quality tradeoffs for target tracking in wireless sensor networks. In IPSN'03: Proceedings of the 2nd International Symposium on Information Processing in Sensor Networks. 32--46."},{"key":"e_1_2_1_53_1","volume-title":"Proceedings of the GI\/ITG Workshop on Sensor Networks. 49--54","author":"R\u00f6mer K.","year":"2004","unstructured":"R\u00f6mer , K. 2004 . Programming paradigms and middleware for sensor networks . In Proceedings of the GI\/ITG Workshop on Sensor Networks. 49--54 . R\u00f6mer, K. 2004. Programming paradigms and middleware for sensor networks. In Proceedings of the GI\/ITG Workshop on Sensor Networks. 49--54."},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/1031495.1031497"},{"key":"e_1_2_1_55_1","volume-title":"ICPP'00: Proceedings of the International Workshop on Parallel Processing. 23--30","author":"Srisathapornphat C.","unstructured":"Srisathapornphat , C. , Jaikaeo , C. , and Shen , C . -C. 2000. Sensor information networking architecture . In ICPP'00: Proceedings of the International Workshop on Parallel Processing. 23--30 . Srisathapornphat, C., Jaikaeo, C., and Shen, C.-C. 2000. Sensor information networking architecture. In ICPP'00: Proceedings of the International Workshop on Parallel Processing. 23--30."},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/1098918.1098955"},{"key":"e_1_2_1_57_1","volume-title":"CS2006-0854","author":"Sugihara R.","unstructured":"Sugihara , R. and Chien , A. A . 2006. An efficient general-purpose mechanism for data gathering with accuracy requirement in wireless sensor networks. Tech. rep . CS2006-0854 . University of California, San Diego, La Jolla, CA. Sugihara, R. and Chien, A. A. 2006. An efficient general-purpose mechanism for data gathering with accuracy requirement in wireless sensor networks. Tech. rep. CS2006-0854. University of California, San Diego, La Jolla, CA."},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/990680.990704"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1145\/1098918.1098925"},{"key":"e_1_2_1_60_1","volume-title":"HotOS IX: Proceedings of the 9th Workshop on Hot Topics in Operating Systems.","author":"von Behren R.","unstructured":"von Behren , R. , Condit , J. , and Brewer , E . 2003. Why events are a bad idea (for high-concurrency servers) . In HotOS IX: Proceedings of the 9th Workshop on Hot Topics in Operating Systems. von Behren, R., Condit, J., and Brewer, E. 2003. Why events are a bad idea (for high-concurrency servers). In HotOS IX: Proceedings of the 9th Workshop on Hot Topics in Operating Systems."},{"key":"e_1_2_1_61_1","volume-title":"NSDI'04: Proceedings of the 1st USENIX\/ACM Symposium on Networked Systems Design and Implementation.","author":"Welsh M.","unstructured":"Welsh , M. and Mainland , G . 2004. Programming sensor networks using abstract regions . In NSDI'04: Proceedings of the 1st USENIX\/ACM Symposium on Networked Systems Design and Implementation. Welsh, M. and Mainland, G. 2004. Programming sensor networks using abstract regions. In NSDI'04: Proceedings of the 1st USENIX\/ACM Symposium on Networked Systems Design and Implementation."},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/990064.990079"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1007\/11669463_4"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/1031495.1031498"},{"key":"e_1_2_1_65_1","volume-title":"INFOCOM'05: Proceedings of the 24th Annual Joint Conference of the IEEE Computer and Communications Societies. 878--890","author":"Yarvis M.","unstructured":"Yarvis , M. , Kushalnagar , N. , Singh , H. , Rangarajan , A. , Liu , Y. , and Singh , S . 2005. Exploiting heterogeneity in sensor networks . In INFOCOM'05: Proceedings of the 24th Annual Joint Conference of the IEEE Computer and Communications Societies. 878--890 . Yarvis, M., Kushalnagar, N., Singh, H., Rangarajan, A., Liu, Y., and Singh, S. 2005. Exploiting heterogeneity in sensor networks. In INFOCOM'05: Proceedings of the 24th Annual Joint Conference of the IEEE Computer and Communications Societies. 878--890."},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/1182807.1182822"}],"container-title":["ACM Transactions on Sensor Networks"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1340771.1340774","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1340771.1340774","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T13:39:13Z","timestamp":1750253953000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1340771.1340774"}},"subtitle":["A survey"],"short-title":[],"issued":{"date-parts":[[2008,3]]},"references-count":65,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2008,3]]}},"alternative-id":["10.1145\/1340771.1340774"],"URL":"https:\/\/doi.org\/10.1145\/1340771.1340774","relation":{},"ISSN":["1550-4859","1550-4867"],"issn-type":[{"value":"1550-4859","type":"print"},{"value":"1550-4867","type":"electronic"}],"subject":[],"published":{"date-parts":[[2008,3]]},"assertion":[{"value":"2006-12-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2007-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2008-04-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}