Statestep: a tool for systematic, incremental specification

Statestep is an interactive tool for editing and checking specifications based on the finite state machine (FSM) model. The tabular notation supported is a novel yet simple one, first developed to specify the external behaviour of a series of audio compact disc recorders. The technique helps to describe system behaviour in a systematic manner, intended principally to ensure that no unusual scenarios, or corner cases, are overlooked at the specification stage. The notation is readily understandable and can reduce or eliminate the need for internal events or other structuring primitives. It supports a naturally incremental approach to specification and seems especially suited to dealing with the kind of complexity that can arise in embedded user interfaces.