Design and Implementation of TinyGALS: A Programming Model for ...
Design and Implementation of TinyGALS: A Programming Model for ...
Design and Implementation of TinyGALS: A Programming Model for ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Table 4: Code size comparison <strong>of</strong> BLESS implementations (bytes in decimal)<br />
redesigned BLESS original BLESS<br />
BLESS_Start 540 BLESS_COMP 2196<br />
BLESS_Receive 2730<br />
BLESS_Send 96<br />
Total 3366<br />
New Application 12778 Old Application 10582<br />
6 Related Work<br />
In this section, we summarize the features <strong>of</strong> several operating systems <strong>and</strong>/or s<strong>of</strong>tware<br />
architectures <strong>and</strong> discuss how they relate to <strong>TinyGALS</strong>. We begin with TinyOS, which<br />
is closely tied with the component model <strong>of</strong> <strong>TinyGALS</strong>. We then discuss PBOs (port-<br />
based objects) <strong>and</strong> FPBOs (featherweight port-based objects), whose SVAR (state variable)<br />
mechanism influenced the design <strong>of</strong> TinyGUYS. We discuss the Click Modular Router<br />
project, which has interesting parallels to the <strong>TinyGALS</strong> model <strong>of</strong> computation. We also<br />
discuss Ptolemy II <strong>and</strong> the CI (component interaction) domain, as well as TM (Timed<br />
Multitasking), which are areas that we plan to explore in more detail in extensions to the<br />
existing <strong>TinyGALS</strong> model <strong>and</strong> implementation.<br />
6.1 TinyOS<br />
TinyOS is an operating system specifically designed <strong>for</strong> networked embedded systems.<br />
[20] describes TinyOS in detail. TinyOS provides a set <strong>of</strong> reusable s<strong>of</strong>tware components.<br />
A TinyOS application connects components using a wiring specification that is indepen-<br />
dent <strong>of</strong> component implementation. Some TinyOS components are thin wrappers around<br />
hardware, although most are s<strong>of</strong>tware modules which process data; the distinction is invis-<br />
ible to the developer. Decomposing different OS services into separate components allows<br />
unused services to be excluded from the application.<br />
42