Loading...
Please wait, while we are loading the content...
Similar Documents
Flask : A Language for Data-driven Sensor Network Programs
| Content Provider | Semantic Scholar |
|---|---|
| Author | Mainland, Geoffrey Welsh, Matt Morrisett, Greg |
| Copyright Year | 2006 |
| Abstract | In this paper, we present Flask, a new programming language for sensor networks that is focused on providing an easy-to-use dataflow programming model. In Flask, programmers build applications by composing chains of operators into a dataflow graph that may reside on individual nodes or span multiple nodes in the network. To compose dataflow graphs across sensor nodes, Flask supports a lean, general-purpose communication abstraction, called Flows, that provides publish/subscribe semantics over efficient routing trees. At the heart of Flask is a programmatic wiring language, based on the functional language OCaml [13]. Flask's wiring language allows dataflow graphs to be synthesized programmatically. The Flask wiring program is interpreted at compile time to generate a sensor node program in NesC, which is then compiled to a binary. Our design of Flask makes three main contributions. First, Flask allows the programmer to specify distributed dataflow applications in a high-level language while retaining the efficiency of compiled binaries and full access to TinyOS components. Second, Flask provides a unified framework for distributing dataflow applications across the network, allowing programmers to focus on application logic rather than details of routing code. Finally, Flask's programmatic wiring language enables rich composition of dataflow operators, making it possible to develop higher-level programming models or languages directly in Flask. In this paper, we describe the design and implementation of the Flask language, its runtime system, the Flows communication interface, and a compiler that produces NesC code. We evaluate Flask through two motivating applications: a distributed detector of seismic activity (e.g., for studying earthquakes), and an implementation of the TinyDB query language built using Flask, showing that using Flask considerably reduces code complexity and memory size while achieving high runtime efficiency. |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://www.cl.cam.ac.uk/~ey204/teaching/ACS/R202/papers/S5_Stream_Query/papers/mainland_harvard_2006.pdf |
| Alternate Webpage(s) | http://www.eecs.harvard.edu/~mainland/publications/mainland06flask-tr.pdf |
| Alternate Webpage(s) | http://now.cs.berkeley.edu/~mdw/papers/flask-TR-13-06.pdf |
| Alternate Webpage(s) | http://www.eecs.berkeley.edu/~mdw/papers/flask-TR-13-06.pdf |
| Alternate Webpage(s) | http://www.cs.berkeley.edu/~mdw/papers/flask-TR-13-06.pdf |
| Alternate Webpage(s) | http://http.cs.berkeley.edu/~mdw/papers/flask-TR-13-06.pdf |
| Alternate Webpage(s) | http://www.eecs.harvard.edu/~mdw/papers/flask-TR-13-06.pdf |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |