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.
7.1 Future Work<br />
We plan to reimplement the <strong>TinyGALS</strong> syntax <strong>and</strong> code generation tools to be compatible<br />
with nesC [18], the language written <strong>for</strong> TinyOS v1.0 <strong>and</strong> higher. We will then be able<br />
to take advantage <strong>of</strong> additional type checking provided by the nesC compiler. nesC will<br />
probably allow us to create a better way <strong>of</strong> declaring use <strong>of</strong> TinyGUYS global variables<br />
with scoping. David Culler notes that the <strong>TinyGALS</strong> scheduler could be implemented as<br />
a TinyOS task that posts itself <strong>and</strong> contains code to transfer data between components <strong>and</strong><br />
activate them. We plan to investigate the feasibility <strong>of</strong> this approach with respect to the<br />
generation <strong>of</strong> code <strong>for</strong> <strong>TinyGALS</strong> module input ports.<br />
We also plan to investigate how <strong>TinyGALS</strong> relates to the CI domain in Ptolemy II <strong>and</strong><br />
how this can be leveraged to create a <strong>TinyGALS</strong> domain or runtime system, similar to that<br />
<strong>of</strong> TM.<br />
Various improvements could be made to the <strong>TinyGALS</strong> framework. For example, a<br />
mechanism <strong>for</strong> writing to input ports whose queues are full could be added so that writes<br />
are blocking <strong>and</strong> will retry later when the queue is not full. The basic FIFO scheduling <strong>of</strong><br />
modules in <strong>TinyGALS</strong> could be replaced with a priority scheduling algorithm with queue<br />
insertions.<br />
We also wish to investigate the possibility <strong>of</strong> run-time reconfigurability <strong>of</strong> modules<br />
– how to replace or reconfigure modules in a <strong>TinyGALS</strong> system while it is executing.<br />
Another important direction <strong>of</strong> research is distributed multi-tasking, in which <strong>TinyGALS</strong><br />
could be extended to execute in a distributed fashion on multiple nodes, rather than its<br />
current single-node implementation. An interesting area to investigate is that <strong>of</strong> heterarchy<br />
[16], in which components may belong to multiple concurrent <strong>and</strong> cross-cutting networks.<br />
59