21.08.2013 Views

A State-Based Programming Model for Wireless Sensor Networks

A State-Based Programming Model for Wireless Sensor Networks

A State-Based Programming Model for Wireless Sensor Networks

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

9 Conclusions and Future Work<br />

In this final chapter, we conclude by summarizing the contributions of our work<br />

and by discussing its limitations. We also propose future work addressing concrete<br />

limitations of our approach.<br />

9.1 Conclusions<br />

Event-driven programming is a popular paradigm in the domain of sensor networks<br />

in general. For sensor networks that are operating at the very low end<br />

of the resource spectrum it is in fact the predominant programming model. Unlike<br />

the multi-threaded programming model, system support <strong>for</strong> event-driven<br />

programming requires very little of a system’s resources. The event-driven programming<br />

model has been adopted by a large number of programming frameworks<br />

<strong>for</strong> sensor networks, among them TinyOS / NesC, which currently may<br />

be the most popular of all.<br />

Despite its popularity, the event-driven programming model has significant<br />

shortcomings. Particularly in large and complex programs these shortcomings<br />

lead to issues with the readability and structure of the program code, its modularity<br />

and correctness, and, ironically, also the memory efficiency of the developed<br />

programs. Concretely, an event-driven program typically uses more RAM<br />

as a functionally equivalent sequential program because in the event-driven<br />

model a lot of temporary data has to be stored in global variables. A sequential<br />

program would use local variables instead, which are automatically memory<br />

managed and thus their memory is reused.<br />

With respect to these problems, the main contribution of this dissertation is to<br />

show how the event-based model can be extended so that it allows to specify<br />

well-structured, modular, and memory-efficient programs, yet requires as little<br />

runtime support as the original model. We have significantly improved sensornode<br />

programming by extending the event-driven model to a state-based model<br />

with a explicit notion of hierarchical and concurrent program states. We have<br />

also introduced a novel technique to use states as a scoping and lifetime qualifier<br />

<strong>for</strong> variables, so they can be automatically memory managed. This can lead to<br />

significant memory savings in temporary data structures. In the following we<br />

will list our contributions towards our solution in more detail.<br />

9.2 Contributions<br />

Below we will summarize our contributions towards the problem analysis, the<br />

solution approach and its implementation, as well as the evaluation. Some contributions<br />

have also been published in [21, 72, 74].

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!