State Transition Specifications:ASLAN Clock - 2
TRANSITION set_alarm (new_time: INTEGER) ENTRY TRUE EXIT (alarm_time = new_time) & (if ((alarm_time = time) & (alarm = enabled)) then (bell = ringing) else (bell = bell????fi? ?????? &??time = time?) & (alarm = alarm?)
TRANSITION enable_alarm ENTRY alarm = disabled EXIT (alarm = enabled) & (if (alarm_time = time) then (bell = ringing) else (bell = bell?) fi) & (time = time?) & (alarm_time = alarm_time?)
TRANSITION disable_alarm ENTRY alarm = enabled EXIT (alarm = disabled) & (bell = quiet)