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.

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

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

Saved successfully!

Ooh no, something went wrong!