The approach is related to the so-called `reactive systems' (Georgeff & Lansky, 1987) (Firby, 1987) (Kaelbling, 1987) (Rosenschein & Kaelbling, 1987) (Schoppers, 1987) (Agre & Chapman, 1987) (Sanborn & Hendler, 1987). The emphasis in these architectures is on a more direct coupling of perception to action, distributedness and decentralization, dynamic interaction with the environment and inherent mechanisms to cope with resource limitations and incomplete knowledge. They deemphasize deliberation (or `thinking' in general) and internal models. The main difference between our algorithm and these systems is that we neither `prewire' nor `precompile' the control flow. The arbitration among modules is a run-time process which differs according to the goals that are given to the system and the situation the system finds itself in. It therefore constitutes a simpler, more distributed and more general solution to the problem of action selection.