03.08.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

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

Saved successfully!

Ooh no, something went wrong!