Next: Code Generation Up: Static Simulation Previous: Static Simulation

Static Simulation State

The compiler runs through a static simulation of the program at compile time. A static simulation state captures a conservative approximation of the corresponding dynamic simulation state as follows:

We modify the functions from the dynamic simulation as follows:

We define the operator for , , and as follows:

We define a function , where and are sets of tuples . We assume the existence of a similar function for .

Finally, we extend the state transition function to static states. The definition of ensures that the set of sensitized events, currently waiting events and delayed events are a superset of the corresponding event sets in dynamic simulation. We define by , where

(Type I Transition)
This represents the execution of an event in the current simulation time step:

if , then
Let in

(Type II Transition)
This represents incrementing the simulation time to the next time during which an event can occur.

if and , then
Let

in

(Type III Transition)
This represents the end of simulation:

if and , then

The static simulation of an event graph is a sequence of states, , where



Next: Code Generation Up: Static Simulation Previous: Static Simulation


Robert French