-
Notifications
You must be signed in to change notification settings - Fork 0
Definitions
copton edited this page Jan 13, 2011
·
6 revisions
- T-Code: the input to the compiler. The semantics of T-Code is cooperative threads with blocking operations. There is no runtime of T-Code. Thus, there is no T-Code implementation of basic operations.
- E-Code: the output of the compiler. The semantics of E-Code is events with split-phase (aka. non-blocking) operations. The execution of E-code requires an event-based runtime platform and a PAL.
- runtime platform: the event-based environment for which the E-Code is generated. Examples include TinyOS and Contiki.
- basic operation: on the T-Code side this is a blocking function of the runtime platform. Examples include I/O operations and
sleep. On the E-Code side, there is a split-phase implementation for each basic function included in the PAL. - PAL: the platform abstraction layer is the platform dependant set of implementations of basic functions.
- critical function: a basic function is a critical function. A function which calls a critical function is itself critical.
- critical call: a call of a critical function.
- start routine: the first function of a thread where its execution begins.
- context variable: a local variable of a critical function whose state must be preserved beyond the scope of the enclosing function, for instance because of a critical call.
- continuation: information about where to continue the computation upon completion of a split-phase operation. Depending on the applied compilation scheme this is a function pointer, a computed goto or a marker.
- T-stack: A per-thread structure containing thread context information. This includes context variable and continuations.
- E-stack: this is the normal runtime stack of the E-code.
- platform configuration file: a file that describes the runtime platform. Among other things this includes the set of basic operations and their signatures.