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.

142 Chapter 8. Related Work<br />

Control-Oriented Systems<br />

Instead of computing outputs data from input data, control-oriented embedded<br />

systems typically control the device they are embedded into. Often controloriented<br />

systems constantly react to their environment by computing output<br />

events from input events (i.e., stimuli from outside of the embedded system).<br />

Such systems are called reactive. Examples of reactive systems are protocol processors<br />

in fax machines as well as mobile phones, control units in automobiles<br />

(such as airbag release and cruise control), and fly-by-wire systems.<br />

A subcategory of reactive systems are interactive systems, which also react to<br />

stimuli from the environment. However, in interactive systems the computer<br />

is the leader of the interaction, stipulating its pace, its allowable input alphabet<br />

and order, etc. There<strong>for</strong>e, the design of a purely interactive system is generally<br />

considered easier than the design of an environmentally-driven reactive system.<br />

Many of the recent applications of embedded systems consist of both, controloriented<br />

and data-oriented parts. In general, the reactive part of the system<br />

controls the computationally intense trans<strong>for</strong>mative operations. In turn, results<br />

of the such operations are often feed back into the control-oriented part. Thus,<br />

actual embedded systems often expose both characteristics.<br />

Control and Data-oriented <strong>Wireless</strong> <strong>Sensor</strong> <strong>Networks</strong><br />

<strong>Wireless</strong> sensor nodes, too, include trans<strong>for</strong>mational as well as reactive parts.<br />

For example, trans<strong>for</strong>mational parts in sensor nodes compute from streams of<br />

data whether a product has been damaged [106] (acceleration data), the location<br />

where a gun has been fired [86] (audio data), the specific type of animal based on<br />

its call [64, 105, 117, 118] (again, audio data), and so on. The same sensor nodes<br />

also have control-oriented parts, <strong>for</strong> example, <strong>for</strong> processing network-level and<br />

application-level protocols (such as the Bluetooth protocol stack used in [106]<br />

and the EnviroTrack group-management application protocol discussed in the<br />

previous chapter). In WSNs, the feedback loop between the reactive and trans<strong>for</strong>mative<br />

parts is of particular importance. Due to the constrained nature of<br />

the nodes, resource-intense operations are often controlled by criteria that are<br />

themselves computed by a much less intense processing stage. In [118], <strong>for</strong> example,<br />

recorded audio samples are first rated how well they match calls of specific<br />

birds using a relatively simple algorithm. Only if there is a high confidence<br />

that a sample represents a desired birdcall, the samples are compressed and sent<br />

to the clusterhead in order to apply beam<strong>for</strong>ming <strong>for</strong> target localization, which<br />

are very resource-intense operations. Other criteria <strong>for</strong> controlling the behavior<br />

of sensor nodes may reflect the importance of a detection, the proximity (and<br />

thus expected sensing quality) of a target, the number of other nodes detecting<br />

the same target, and so on. In the extreme case, so called adaptive-fidelity<br />

algorithms allow to dynamically trade the quality of a sensing result against resource<br />

usage by controlling the amount of sampling and processing per<strong>for</strong>med<br />

by a node.

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

Saved successfully!

Ooh no, something went wrong!