Image Processing Reference
In-Depth Information
Main (includes scheduler)
Application (user components)
Acting
Sensing
Communication
Hardware abstraction
FIGURE .
SotwarearchitectureofTinyOS.
The design of TinyOS is based on the specific sensor network characteristics: small physical size,
low-power consumption, concurrency-intensive operation, multiple flows, limited physical paral-
lelism and controller hierarchy, diversity in design and usage, and robust operation to facilitate the
development of reliable distributed applications. The main intention of the TinyOS developers was
“retaining energy, computational and storage constraints of sensor nodes by managing the hard-
ware capabilities effectively, while supporting concurrency-intensive operation in a manner that
achieves efficient modularity and robustness” []. [].Therefore, TinyOS is optimized in terms of mem-
ory usage and energy efficiency. It provides defined interfaces between the components that reside in
neighboring layers. A layered model is shown in Figure ..
12.3.1.1 Elemental Properties
TinyOS utilizes an event model instead of a stack-based threaded approach, which would require
more stack space and multitasking support for context switching, to handle high levels of concurrency
in a very small amount of memory space. Event-based approaches are the favorite solution to achieve
high performance in concurrency intensive applications. Additionally, the event-based approach
uses CPU resources more efficiently and therefore takes care of the most precious resource, the
energy.
An event is serviced by an event handler. More complex event handling can be done by a task. he
event handler is responsible for posting the task to the task scheduler. Event and task scheduling is
performed by a two-level scheduling structure. his kind of scheduling provides that events, associ-
ated with a small amount of processing, can be performed immediately, while longer running tasks
can be interrupted by events. Tasks are handled rapidly, however, no blocking or polling is permitted.
The TinyOS system is designed to scale with the technology trends supporting both, smaller
designs and crossover of software components into hardware. he latter provides a straightforward
integration of software components into hardware.
12.3.1.2 TinyOS Design
The architecture of a TinyOS system configuration is shown in Figure .. It consists of the tiny
scheduler and a graph of components. Components satisfy the demand for modular software archi-
tectures. Every component consists of four interrelated parts: a command handler, an event handler,
an encapsulated fixed-size and statically allocated frame, and a bundle of simple tasks. The frame
represents the internal state of the component. Tasks, commands, and handlers execute in the con-
text of the frame and operate on its state. In addition, the component declares the commands it uses
and the events it signals. Through this declaration, modular component graphs can be composed.
The composition process creates layers of components. Higher-layer components issue commands
to lower-level components and these signal events to higher-level components. To provide an abstract
 
Search WWH ::




Custom Search