This procedure activates a single execution cycle (step), once being called by LO_MAIN in the main module TOP_LEVEL. It activates the SCHEDULE_TIMEOUTS procedure to schedule potential timeouts, the user-written code for basic activities, and most importantly, it activates the hierarchical traversal of the state EXEC procedures by activating the EXEC procedures for all top-level statecharts that belong to the module.
procedure rail_cross_EXEC_ALL is
begin
SCHEDULE_TIMEOUTS;
if STARTED(CHECK_TIME1) then
CHECK_TIME1_TASK.START;
end if;
EXEC_Chart_BARRIER;
EXEC_Chart_RAIL_ROAD_CROSS;
EXEC_Chart_TRAIN_MOVE;
end rail_cross_EXEC_all ;