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.

Application definition.<br />

include modules{<br />

count;<br />

leds;<br />

};<br />

count_out -> leds_in 50<br />

START@ count_start<br />

Figure 6: Definition <strong>of</strong> the application shown in Figure 1.<br />

line in the definition says that the system start port is count_start. Note that arguments<br />

(initial data) may be passed to the system start port on the same line.<br />

Using the tuple notation given in Equation 3, the example application can be defined as<br />

2.3 <strong>TinyGALS</strong> Semantics<br />

A = (MODULESA = [count,leds],<br />

GLOBALSA = /0,<br />

VARMAPSA = /0,<br />

CONNECT IONSA = [(count out,leds in)],<br />

STARTA = count start).<br />

In this section, we discuss the semantics <strong>of</strong> execution within a component, between com-<br />

ponents within a module, <strong>and</strong> between modules within an application. We also include a<br />

discussion <strong>of</strong> the conditions <strong>for</strong> well-<strong>for</strong>medness an application.<br />

2.3.1 Assumptions<br />

The <strong>TinyGALS</strong> architecture is intended <strong>for</strong> a plat<strong>for</strong>m with a single processor. All mem-<br />

ory is statically allocated; there is no dynamic memory allocation. A <strong>TinyGALS</strong> program<br />

13

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

Saved successfully!

Ooh no, something went wrong!