ForeC programs are compiled as standalone programs with no interface with its environment, i.e., the programmer has to manually implement reading and writing to external variables or I/O ports inside global ticks. This should be handled by the global tick scheduling routine, e.g., via interprocess communication over shared memory (sys/shm.h).