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