Toward reliable reactive systems

The goal of the work reported here is to construct a system that supports the acquisition and correct implementation of software specifications for reactive systems. The system utilizes a finite state machine formalism derived from the work of Hare]. [5], set-theoretic data structures as exemplified by [I., 81, and relies on both classic verification techniques and consistency-preserving transformational implementation of specifications. Formal reasoning and manipulation of programs is greatly simplified by referentiGJ transparency, which insures that the meaning of a program fragment is not dependent on context or state.. The attractiveness of functional and !logic programming derive from their maintenance of referential transparency. Although suppression of the notion of state makes manipulation of programs easier, it seriously detracts from their expressiveness. In particular, specification of a reactive system is extremely awkward without the notion of state. The challenge addressed in this work is to provide a notion of state and state change in a way that supports