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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

1.3. Thesis <strong>State</strong>ment 3<br />

event-driven model has been that its support in the underlying system software<br />

can be implementred resource efficiently.<br />

Secondly, the association of events to actions is static—there is no explicit support<br />

<strong>for</strong> adopting this association depending on the program state. As a consequence,<br />

in actions, programmers must manually dispatch the control flow to the<br />

appropriate function based on the current state. The additional code <strong>for</strong> state<br />

management and state-based function demultiplexing can obscure the logical<br />

structure of the application and is an additional source of error. Also, it hampers<br />

modularity since even minor changes in the state space of a program may<br />

require modifying multiple actions and may thus affect much of the program’s<br />

code base.<br />

While the identified issues are not particularly troublesome in relatively small<br />

programs, such as application prototypes and test cases, they pose significant<br />

problems in larger programs. But as the field of wireless sensor networks matures,<br />

its applications are getting more complex—projects grow and so does the<br />

code base and the number of programmers involved. Leaving these issues unsolved<br />

may severely hamper the field of wireless sensor networks to mature.<br />

1.3 Thesis <strong>State</strong>ment<br />

Because of the limitations outlined in the previous section, we argue that the<br />

simple event/action-abstraction of the event-driven programming model is inadequate<br />

<strong>for</strong> large or complex sensor network programs. The natural question<br />

then is, can the inadequacies of the event-driven programming model be repaired<br />

without impairing its positive aspects? In this dissertation we answer this<br />

question affirmatively. Concretely, we present the Object <strong>State</strong> <strong>Model</strong> (OSM),<br />

a programming model that extends the event-driven programming paradigm<br />

with an explicit abstraction and notion of hierarchical and concurrent program<br />

states. Our thesis is that such a state-based model allows to specify well-structured,<br />

modular, and memory-efficient sensor-node programs, yet requires as little runtimeresources<br />

as the event-driven model.<br />

1.4 Contributions<br />

The main contribution of this work then is to show<br />

• that OSM provides adequate abstractions <strong>for</strong> the specification of well structured<br />

and highly modular programs,<br />

• how OSM supports memory-efficient programming, and, finally,<br />

• that OSM does not incur significant overhead in the underlying system<br />

software and can thus indeed be implemented on resource-constrained<br />

sensor nodes.<br />

In this dissertation we present four elements to support our claim: (1) OSM,<br />

an abstract, state-based programming model, which is a state-extension to the<br />

conventional event-based programming model, (2) an implementation language

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

Saved successfully!

Ooh no, something went wrong!