Reliable and efficient programming abstractions for wireless sensor networks

It is currently difficult to build practical and reliable programming systems out of distributed and resource-constrained sensor devices. The state of the art in today's sensornet programming is centered around a component-based language called nesC. nesC is a node-level language-a program is w...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:PLDI '07 : proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design & Implementation : San Diego, California, USA, June 10-13, 2007 California, USA, June 10-13, 2007, 2007-06, Vol.42 (6), p.200-210
Hauptverfasser: Kothari, Nupur, Gummadi, Ramakrishna, Millstein, Todd, Govindan, Ramesh
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 210
container_issue 6
container_start_page 200
container_title PLDI '07 : proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design & Implementation : San Diego, California, USA, June 10-13, 2007
container_volume 42
creator Kothari, Nupur
Gummadi, Ramakrishna
Millstein, Todd
Govindan, Ramesh
description It is currently difficult to build practical and reliable programming systems out of distributed and resource-constrained sensor devices. The state of the art in today's sensornet programming is centered around a component-based language called nesC. nesC is a node-level language-a program is written for an individual node in the network-and nesC programs use the services of an operating system called TinyOS. We are pursuing an approach to programming sensor networks that significantly raises the level of abstraction over this practice. The critical change is one of perspective: rather than writing programs from the point of view of an individual node, programmers implement a central program that conceptually has access to the entire network. This approach pushes to the compiler the task of producing node-level programs that implement the desired behavio. We present the Pleiades programming language, its compiler, and its runtime. The Pleiades language extends the C language with constructs that allow programmers to name and access node-local state within the network and to specify simple forms of concurrent execution. The compiler and runtime system cooperate to implement Pleiades programs efficiently and reliably. First, the compiler employs a novel program analysis to translate Pleiades programs into message-efficient units of work implemented in nesC. The Pleiades runtime system orchestrates execution of these units, using TinyOS services, across a network of sensor nodes. Second, the compiler and runtime system employ novel locking, deadlock detection, and deadlock recovery algorithms that guarantee serializability in the face of concurrent execution. We illustrate the readability, reliability and efficiency benefits of the Pleiades language through detailed experiments, and demonstrate that the Pleiades implementation of a realistic application performs similar to a hand-coded nesC version that contains more than ten times as much code.
doi_str_mv 10.1145/1273442.1250757
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_crossref_primary_10_1145_1273442_1250757</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>30980641</sourcerecordid><originalsourceid>FETCH-LOGICAL-c343t-994e618a316f6b24e972f56ae06a8fbed544c0c1823e77463a5b706ec611d5f03</originalsourceid><addsrcrecordid>eNotkEtLw0AUhQcfYK1du83KXdp7584jWUrxBQVBdB0m0ztlNE3qTIr47620q8OBj8PhE-IWYY6o9AKlJaXkHKUGq-2ZmKDWVYlo4FzMaluhrnVNhkheiAmQkSWSgitxnfMnABDIaiJWb9xF13ZcuH5dcAjRR-7HYpeGTXLbbew3hWvzmJwf49DnIgyp-ImJO865yNznQ-95_BnSV74Rl8F1mWennIqPx4f35XO5en16Wd6vSk-KxrKuFRusHKEJppWKayuDNo7BuCq0vNZKefBYSWJrlSGnWwuGvUFc6wA0FXfH3cPL7z3nsdnG7LnrXM_DPjcEdQVG4QFcHEGfhpwTh2aX4tal3wah-bfYnCw2J4v0B2hBYoM</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>30980641</pqid></control><display><type>article</type><title>Reliable and efficient programming abstractions for wireless sensor networks</title><source>ACM Digital Library Complete</source><creator>Kothari, Nupur ; Gummadi, Ramakrishna ; Millstein, Todd ; Govindan, Ramesh</creator><creatorcontrib>Kothari, Nupur ; Gummadi, Ramakrishna ; Millstein, Todd ; Govindan, Ramesh</creatorcontrib><description>It is currently difficult to build practical and reliable programming systems out of distributed and resource-constrained sensor devices. The state of the art in today's sensornet programming is centered around a component-based language called nesC. nesC is a node-level language-a program is written for an individual node in the network-and nesC programs use the services of an operating system called TinyOS. We are pursuing an approach to programming sensor networks that significantly raises the level of abstraction over this practice. The critical change is one of perspective: rather than writing programs from the point of view of an individual node, programmers implement a central program that conceptually has access to the entire network. This approach pushes to the compiler the task of producing node-level programs that implement the desired behavio. We present the Pleiades programming language, its compiler, and its runtime. The Pleiades language extends the C language with constructs that allow programmers to name and access node-local state within the network and to specify simple forms of concurrent execution. The compiler and runtime system cooperate to implement Pleiades programs efficiently and reliably. First, the compiler employs a novel program analysis to translate Pleiades programs into message-efficient units of work implemented in nesC. The Pleiades runtime system orchestrates execution of these units, using TinyOS services, across a network of sensor nodes. Second, the compiler and runtime system employ novel locking, deadlock detection, and deadlock recovery algorithms that guarantee serializability in the face of concurrent execution. We illustrate the readability, reliability and efficiency benefits of the Pleiades language through detailed experiments, and demonstrate that the Pleiades implementation of a realistic application performs similar to a hand-coded nesC version that contains more than ten times as much code.</description><identifier>ISSN: 0362-1340</identifier><identifier>ISBN: 9781595936332</identifier><identifier>ISBN: 1595936335</identifier><identifier>EISSN: 1558-1160</identifier><identifier>DOI: 10.1145/1273442.1250757</identifier><language>eng</language><ispartof>PLDI '07 : proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design &amp; Implementation : San Diego, California, USA, June 10-13, 2007, 2007-06, Vol.42 (6), p.200-210</ispartof><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c343t-994e618a316f6b24e972f56ae06a8fbed544c0c1823e77463a5b706ec611d5f03</citedby><cites>FETCH-LOGICAL-c343t-994e618a316f6b24e972f56ae06a8fbed544c0c1823e77463a5b706ec611d5f03</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>309,310,314,776,780,27901,27902</link.rule.ids></links><search><creatorcontrib>Kothari, Nupur</creatorcontrib><creatorcontrib>Gummadi, Ramakrishna</creatorcontrib><creatorcontrib>Millstein, Todd</creatorcontrib><creatorcontrib>Govindan, Ramesh</creatorcontrib><title>Reliable and efficient programming abstractions for wireless sensor networks</title><title>PLDI '07 : proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design &amp; Implementation : San Diego, California, USA, June 10-13, 2007</title><description>It is currently difficult to build practical and reliable programming systems out of distributed and resource-constrained sensor devices. The state of the art in today's sensornet programming is centered around a component-based language called nesC. nesC is a node-level language-a program is written for an individual node in the network-and nesC programs use the services of an operating system called TinyOS. We are pursuing an approach to programming sensor networks that significantly raises the level of abstraction over this practice. The critical change is one of perspective: rather than writing programs from the point of view of an individual node, programmers implement a central program that conceptually has access to the entire network. This approach pushes to the compiler the task of producing node-level programs that implement the desired behavio. We present the Pleiades programming language, its compiler, and its runtime. The Pleiades language extends the C language with constructs that allow programmers to name and access node-local state within the network and to specify simple forms of concurrent execution. The compiler and runtime system cooperate to implement Pleiades programs efficiently and reliably. First, the compiler employs a novel program analysis to translate Pleiades programs into message-efficient units of work implemented in nesC. The Pleiades runtime system orchestrates execution of these units, using TinyOS services, across a network of sensor nodes. Second, the compiler and runtime system employ novel locking, deadlock detection, and deadlock recovery algorithms that guarantee serializability in the face of concurrent execution. We illustrate the readability, reliability and efficiency benefits of the Pleiades language through detailed experiments, and demonstrate that the Pleiades implementation of a realistic application performs similar to a hand-coded nesC version that contains more than ten times as much code.</description><issn>0362-1340</issn><issn>1558-1160</issn><isbn>9781595936332</isbn><isbn>1595936335</isbn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2007</creationdate><recordtype>article</recordtype><recordid>eNotkEtLw0AUhQcfYK1du83KXdp7584jWUrxBQVBdB0m0ztlNE3qTIr47620q8OBj8PhE-IWYY6o9AKlJaXkHKUGq-2ZmKDWVYlo4FzMaluhrnVNhkheiAmQkSWSgitxnfMnABDIaiJWb9xF13ZcuH5dcAjRR-7HYpeGTXLbbew3hWvzmJwf49DnIgyp-ImJO865yNznQ-95_BnSV74Rl8F1mWennIqPx4f35XO5en16Wd6vSk-KxrKuFRusHKEJppWKayuDNo7BuCq0vNZKefBYSWJrlSGnWwuGvUFc6wA0FXfH3cPL7z3nsdnG7LnrXM_DPjcEdQVG4QFcHEGfhpwTh2aX4tal3wah-bfYnCw2J4v0B2hBYoM</recordid><startdate>20070610</startdate><enddate>20070610</enddate><creator>Kothari, Nupur</creator><creator>Gummadi, Ramakrishna</creator><creator>Millstein, Todd</creator><creator>Govindan, Ramesh</creator><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20070610</creationdate><title>Reliable and efficient programming abstractions for wireless sensor networks</title><author>Kothari, Nupur ; Gummadi, Ramakrishna ; Millstein, Todd ; Govindan, Ramesh</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c343t-994e618a316f6b24e972f56ae06a8fbed544c0c1823e77463a5b706ec611d5f03</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2007</creationdate><toplevel>online_resources</toplevel><creatorcontrib>Kothari, Nupur</creatorcontrib><creatorcontrib>Gummadi, Ramakrishna</creatorcontrib><creatorcontrib>Millstein, Todd</creatorcontrib><creatorcontrib>Govindan, Ramesh</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>PLDI '07 : proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design &amp; Implementation : San Diego, California, USA, June 10-13, 2007</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Kothari, Nupur</au><au>Gummadi, Ramakrishna</au><au>Millstein, Todd</au><au>Govindan, Ramesh</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Reliable and efficient programming abstractions for wireless sensor networks</atitle><jtitle>PLDI '07 : proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design &amp; Implementation : San Diego, California, USA, June 10-13, 2007</jtitle><date>2007-06-10</date><risdate>2007</risdate><volume>42</volume><issue>6</issue><spage>200</spage><epage>210</epage><pages>200-210</pages><issn>0362-1340</issn><eissn>1558-1160</eissn><isbn>9781595936332</isbn><isbn>1595936335</isbn><abstract>It is currently difficult to build practical and reliable programming systems out of distributed and resource-constrained sensor devices. The state of the art in today's sensornet programming is centered around a component-based language called nesC. nesC is a node-level language-a program is written for an individual node in the network-and nesC programs use the services of an operating system called TinyOS. We are pursuing an approach to programming sensor networks that significantly raises the level of abstraction over this practice. The critical change is one of perspective: rather than writing programs from the point of view of an individual node, programmers implement a central program that conceptually has access to the entire network. This approach pushes to the compiler the task of producing node-level programs that implement the desired behavio. We present the Pleiades programming language, its compiler, and its runtime. The Pleiades language extends the C language with constructs that allow programmers to name and access node-local state within the network and to specify simple forms of concurrent execution. The compiler and runtime system cooperate to implement Pleiades programs efficiently and reliably. First, the compiler employs a novel program analysis to translate Pleiades programs into message-efficient units of work implemented in nesC. The Pleiades runtime system orchestrates execution of these units, using TinyOS services, across a network of sensor nodes. Second, the compiler and runtime system employ novel locking, deadlock detection, and deadlock recovery algorithms that guarantee serializability in the face of concurrent execution. We illustrate the readability, reliability and efficiency benefits of the Pleiades language through detailed experiments, and demonstrate that the Pleiades implementation of a realistic application performs similar to a hand-coded nesC version that contains more than ten times as much code.</abstract><doi>10.1145/1273442.1250757</doi><tpages>11</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier ISSN: 0362-1340
ispartof PLDI '07 : proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design & Implementation : San Diego, California, USA, June 10-13, 2007, 2007-06, Vol.42 (6), p.200-210
issn 0362-1340
1558-1160
language eng
recordid cdi_crossref_primary_10_1145_1273442_1250757
source ACM Digital Library Complete
title Reliable and efficient programming abstractions for wireless sensor networks
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-03T00%3A54%3A07IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Reliable%20and%20efficient%20programming%20abstractions%20for%20wireless%20sensor%20networks&rft.jtitle=PLDI%20'07%20:%20proceedings%20of%20the%202007%20ACM%20SIGPLAN%20Conference%20on%20Programming%20Language%20Design%20&%20Implementation%20:%20San%20Diego,%20California,%20USA,%20June%2010-13,%202007&rft.au=Kothari,%20Nupur&rft.date=2007-06-10&rft.volume=42&rft.issue=6&rft.spage=200&rft.epage=210&rft.pages=200-210&rft.issn=0362-1340&rft.eissn=1558-1160&rft.isbn=9781595936332&rft.isbn_list=1595936335&rft_id=info:doi/10.1145/1273442.1250757&rft_dat=%3Cproquest_cross%3E30980641%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=30980641&rft_id=info:pmid/&rfr_iscdi=true