  We present an abstraction and refinement methodology for the automated
controller synthesis to enforce general predefined specifications. The designed
controllers require quantized (or symbolic) state information only and can be
interfaced with the system via a static quantizer. Both features are
particularly important with regard to any practical implementation of the
designed controllers and, as we prove, are characterized by the existence of a
feedback refinement relation between plant and abstraction. Feedback refinement
relations are a novel concept introduced in this paper. Our work builds on a
general notion of system with set-valued dynamics and possibly
non-deterministic quantizers to permit the synthesis of controllers that
robustly, and provably, enforce the specification in the presence of various
types of uncertainties and disturbances. We identify a class of abstractions
that is canonical in a well-defined sense, and provide a method to efficiently
compute canonical abstractions. We demonstrate the practicality of our approach
on two examples.
