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
if , then
Let in
if and
, then
Let
in
if and
, then
The static simulation of an event graph is a sequence of
states,
, where