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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

1. The values <strong>of</strong> all internal variables <strong>of</strong> all components (VCi ).<br />

2. The contents <strong>of</strong> the global event queue.<br />

3. The contents <strong>of</strong> all <strong>of</strong> the queues associated with module input ports in the applica-<br />

tion.<br />

4. The values <strong>of</strong> all TinyGUYS (GLOBALSA).<br />

Recall that the global event queue contains the events in the system, but the module<br />

input ports contain the data associated with the event, encapsulated as a token.<br />

There are two distinct kinds <strong>of</strong> system state: quiescent <strong>and</strong> active.<br />

Definition 2.1 (quiescent system state). A system state is quiescent if there are no events<br />

in the global event queue, <strong>and</strong> hence, no events in any <strong>of</strong> the module inport queues in the<br />

system.<br />

Definition 2.2 (active system state). A system state is active if there is at least one event<br />

in the global event queue, <strong>and</strong> hence, at least one event in the queue <strong>of</strong> at least one module<br />

inport.<br />

Note that a <strong>TinyGALS</strong> system actually starts in an active system state, since execution<br />

begins by triggering a module input port.<br />

Execution <strong>of</strong> the system can be partitioned into module iterations based on component<br />

execution.<br />

Definition 3 (Component execution). A source component is activated when the hardware<br />

it encapsulates receives an interrupt. A triggered or called component C is activated when<br />

one <strong>of</strong> its methods (in ACCEPT SC) is called. Component execution is the execution <strong>of</strong> the<br />

code in the body <strong>of</strong> the interrupt service routine or method through which the component<br />

has been activated.<br />

24

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

Saved successfully!

Ooh no, something went wrong!