08-16-2017, 10:26 PM
TinyOS/Motes Overview
[attachment=16584]
Components
Programs are built out of components
Each component is specified by an interface. A Component has:
Frame (internal states)
Tasks (data processing)
Interface(s) (commands/events)
Commands and Events are function calls (later)
Application is a wiring of multiple interfaces(components).
The components are statically wired together based on their interfaces. (For
runtime efficiency)
Tasks
FIFO scheduling
non-preemptable by other task, preemtable by events
perform computationally intensive work
handling of multiple data flows:
a sequence of non-blocking command/event through the component graph
post task for computational intensive work
preempt the running task, to handle new data
Wiring
Not only the interfaces can be wired together, commands/events also can be;
any wired elements must be compatible;
Wiring statements:
S1 = S2
S1 and S2 are both external, one is provided and the other is used
one is internal, the other is external; and both are provided or used.
S1 > S2 or S2 < S1:
Both are internal. One is provided and other used.
internal specification element: from a configuration s specification
external specification element: from a configuration s component s specification