module Oven: input START, STOP, DOOROPEN, MINUTE; output HEAT, LIGHT, BEEP; signal MINUTE2 in loop trap T in [await immediate START; [ abort weak abort %BUG #2 used weak abort in place of abort sustain HEAT || sustain LIGHT when immediate [(DOOROPEN or STOP)]; when MINUTE2 do emit BEEP end abort; ] || loop await MINUTE; await MINUTE; await tick; % BUG #3 added await tick to delay MINUTE2 emit MINUTE2 end loop ]; end; await tick end loop || % Bug #1: changed every immediate to every below every DOOROPEN do abort sustain LIGHT when [not DOOROPEN] end every end signal end module