Algebraic Specifications:Algebraic CLOCK
operation signatures
init: –> CLOCK
tick: CLOCK –> CLOCK
setalarm: CLOCK x TIME –> CLOCK
enable: CLOCK –> CLOCK
disable: CLOCK –> CLOCK
time: CLOCK –> TIME
alarm_time: CLOCK –> TIME
bell: CLOCK –> {ringing, quiet}
alarm: CLOCK –> {on, off}