This report describes a reactive system for reasoning about and performing complex tasks in dynamic environments. A powerful and theoretically sound scheme for representing and reasoning about actions and processes has been devised. The representation is sufficiently rich to describe the effects of arbitrary sequences of tests and actions, and the reasoning mechanism provides a means for directly using this knowledge to attain desired goals or to react to critical situations. A declarative semantics for the representation has been constructed that allows a user to specify facts about behaviors independently of context. An operational semantics has also been defined that shows how these facts can be used by a system to achieve its goals. Possession of both a declarative and an operational semantics provides the system with the ability to reason about complex actions, to explain its reasoning to others, to cope with modifications to its environment, and to be amenable to verification. The system also includes powerful metalevel reasoning capabilities, using the same formalism for representing this knowledge as for object-level knowledge. A practical implementation of such a system has been constructed and applied to some crucial problems in the automation of space operations.