{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,28]],"date-time":"2025-09-28T04:21:22Z","timestamp":1759033282612,"version":"3.41.0"},"reference-count":32,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2015,9,11]],"date-time":"2015-09-11T00:00:00Z","timestamp":1441929600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"FAPERJ-Rio de Janeiro Research Foundation"},{"name":"CNPq-Brazilian National Counsel of Technological and Scientific Development"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Sen. Netw."],"published-print":{"date-parts":[[2015,12,23]]},"abstract":"<jats:p>Terra is a system for programming wireless sensor network (WSN) applications. It combines the use of configurable virtual machines with a reactive scripting language that can be statically analyzed to avoid unbounded execution and memory conflicts. This approach allows the flexibility of remotely uploading code on motes to be combined with a set of guarantees for the programmer. The choice of the specific set of components in a virtual machine configuration defines the abstraction level seen by the application script. We describe a specific component library built for Terra, which we designed taking into account the functionality commonly needed in WSN applications\u2014typically for sense and control. We also discuss the programming environment resulting from the combination of a statically analyzable scripting language with this library of components. Finally, we evaluate Terra by measuring its overhead in a basic application and discussing its use and cost in a typical monitoring WSN scenario.<\/jats:p>","DOI":"10.1145\/2811267","type":"journal-article","created":{"date-parts":[[2015,9,15]],"date-time":"2015-09-15T12:09:15Z","timestamp":1442318955000},"page":"1-27","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["Terra"],"prefix":"10.1145","volume":"11","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-5200-5212","authenticated-orcid":false,"given":"Adriano","family":"Branco","sequence":"first","affiliation":[{"name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro"}]},{"given":"Francisco","family":"Sant\u2019anna","sequence":"additional","affiliation":[{"name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro"}]},{"given":"Roberto","family":"Ierusalimschy","sequence":"additional","affiliation":[{"name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro"}]},{"given":"Noemi","family":"Rodriguez","sequence":"additional","affiliation":[{"name":"Pontif\u00edcia Universidade Cat\u00f3lica do Rio de Janeiro"}]},{"given":"Silvana","family":"Rossetto","sequence":"additional","affiliation":[{"name":"Universidade Federal do Rio de Janeiro"}]}],"member":"320","published-online":{"date-parts":[[2015,9,11]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1460412.1460472"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1272996.1273014"},{"key":"e_1_2_1_3_1","volume-title":"Proceedings of the 2005 Workshop on End-to-End, Sense-and-Respond Systems, Applications and Services (EESR\u201905)","author":"Bakshi Amol","year":"2005","unstructured":"Amol Bakshi , Viktor K. Prasanna , Jim Reich , and Daniel Larner . 2005 . The abstract task graph: A methodology for architecture-independent programming of networked sensor systems . In Proceedings of the 2005 Workshop on End-to-End, Sense-and-Respond Systems, Applications and Services (EESR\u201905) . USENIX Association, Berkeley, CA, 19--24. Amol Bakshi, Viktor K. Prasanna, Jim Reich, and Daniel Larner. 2005. The abstract task graph: A methodology for architecture-independent programming of networked sensor systems. In Proceedings of the 2005 Workshop on End-to-End, Sense-and-Respond Systems, Applications and Services (EESR\u201905). USENIX Association, Berkeley, CA, 19--24."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1176887.1176904"},{"key":"e_1_2_1_5_1","unstructured":"Adriano Branco. 2011. A WSN Programming Model with a Dynamic Reconfiguration Support. Master\u2019s thesis. Pontif\u00edcia Universidade Cat\u00f3lica Do Rio De Janeiro - PUC-RIO. Text in Portuguese.  Adriano Branco. 2011. A WSN Programming Model with a Dynamic Reconfiguration Support. Master\u2019s thesis. Pontif\u00edcia Universidade Cat\u00f3lica Do Rio De Janeiro - PUC-RIO. Text in Portuguese."},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1644038.1644056"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/ccnc08.2007.40"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/LCN.2004.38"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1182807.1182811"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/781131.781133"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1644038.1644040"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2004.08.005"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1067170.1067188"},{"key":"e_1_2_1_14_1","volume-title":"Retrieved","author":"Harbaum Till","year":"2005","unstructured":"Till Harbaum . 2005 . The NanoVM - Java for the AVR . Retrieved August, 2014 from http:\/\/www.harbaum.org\/till\/nanovm\/index.shtml. Till Harbaum. 2005. The NanoVM - Java for the AVR. Retrieved August, 2014 from http:\/\/www.harbaum.org\/till\/nanovm\/index.shtml."},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1098918.1098945"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250757"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/605397.605407"},{"key":"e_1_2_1_18_1","volume-title":"Proceedings of the 2nd Conference on Symposium on Networked Systems Design & Implementation -","volume":"2","author":"Levis Philip","year":"2005","unstructured":"Philip Levis , David Gay , and David Culler . 2005 . Active sensor networks . In Proceedings of the 2nd Conference on Symposium on Networked Systems Design & Implementation - Volume 2 (NSDI&rsquo;\u201905). USENIX Association, Berkeley, CA, 343--356. Philip Levis, David Gay, and David Culler. 2005. Active sensor networks. In Proceedings of the 2nd Conference on Symposium on Networked Systems Design & Implementation - Volume 2 (NSDI&rsquo;\u201905). USENIX Association, Berkeley, CA, 343--356."},{"volume-title":"Ambient Intelligence","author":"Levis Philip","key":"e_1_2_1_19_1","unstructured":"Philip Levis , Sam Madden , Joseph Polastre , Robert Szewczyk , Kamin Whitehouse , Alec Woo , David Gay , Jason Hill , Matt Welsh , Eric Brewer , and David Culler . 2004. TinyOS: An operating system for sensor networks . In Ambient Intelligence . Springer Verlag . Philip Levis, Sam Madden, Joseph Polastre, Robert Szewczyk, Kamin Whitehouse, Alec Woo, David Gay, Jason Hill, Matt Welsh, Eric Brewer, and David Culler. 2004. TinyOS: An operating system for sensor networks. In Ambient Intelligence. Springer Verlag."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1061318.1061322"},{"volume-title":"Retrieved","year":"2009","key":"e_1_2_1_21_1","unstructured":"Memsic. 2009 a. MicaZ datasheet. Product folder . Retrieved August, 2014 from http:\/\/www.memsic.com\/wireless-sensor-networks\/MPR2400CB. Memsic. 2009a. MicaZ datasheet. Product folder. Retrieved August, 2014 from http:\/\/www.memsic.com\/wireless-sensor-networks\/MPR2400CB."},{"volume-title":"Retrieved","year":"2009","key":"e_1_2_1_22_1","unstructured":"Memsic. 2009 b. TelosB datasheet. Product folder . Retrieved August, 2014 from http:\/\/www.memsic.com\/wireless-sensor-networks\/TPR2420. Memsic. 2009b. TelosB datasheet. Product folder. Retrieved August, 2014 from http:\/\/www.memsic.com\/wireless-sensor-networks\/TPR2420."},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1176866.1176868"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1922649.1922656"},{"key":"e_1_2_1_25_1","volume-title":"3rd Biennial Conference on Innovative Data Systems Research.","author":"Mueller Rene","year":"2007","unstructured":"Rene Mueller , Gustavo Alonso , and Donald Kossmann . 2007 . SwissQM: Next generation data processing in sensor networks . In 3rd Biennial Conference on Innovative Data Systems Research. Rene Mueller, Gustavo Alonso, and Donald Kossmann. 2007. SwissQM: Next generation data processing in sensor networks. In 3rd Biennial Conference on Innovative Data Systems Research."},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1236360.1236422"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1052199.1052213"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/2.660187"},{"key":"e_1_2_1_29_1","volume-title":"European Conference on Wireless Sensor Networks (EWSN\u201907)","author":"Riedel Till","year":"2007","unstructured":"Till Riedel , Andreas Arnold , and Christian Decker . 2007 . Poster abstract: An OO approach to sensor programming . In European Conference on Wireless Sensor Networks (EWSN\u201907) . Till Riedel, Andreas Arnold, and Christian Decker. 2007. Poster abstract: An OO approach to sensor programming. In European Conference on Wireless Sensor Networks (EWSN\u201907)."},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517351.2517360"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/2422966.2422974"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/1147685.1147768"}],"container-title":["ACM Transactions on Sensor Networks"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2811267","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2811267","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T05:48:49Z","timestamp":1750225729000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2811267"}},"subtitle":["Flexibility and Safety in Wireless Sensor Networks"],"short-title":[],"issued":{"date-parts":[[2015,9,11]]},"references-count":32,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2015,12,23]]}},"alternative-id":["10.1145\/2811267"],"URL":"https:\/\/doi.org\/10.1145\/2811267","relation":{},"ISSN":["1550-4859","1550-4867"],"issn-type":[{"type":"print","value":"1550-4859"},{"type":"electronic","value":"1550-4867"}],"subject":[],"published":{"date-parts":[[2015,9,11]]},"assertion":[{"value":"2014-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2015-09-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}