We present a natural language realization component, called YAG, that is suitable for intelligent tutoring systems that use dialog. Dialog imposes unique requirements on a generation component, namely: dialog systems must interact in real-time; they must be capable of producing fragmentary output; and they may be re-deployed in a number of different domains. Our approach to real-time natural language realization combines a declarative, template-based approach for the representation of text structure with knowledge-based methods for representing semantic content. Possible text structures are defined in a declarative language that is easy to understand, maintain, and reuse. A dialog system can use YAG to realize text structures by specifying a template and content from its knowledge base. Content can be specified in one of two ways: (1) as a sequence of propositions along with some control features; or (2) a set of feature-value pairs. YAG’s template realization algorithm realizes text without any search (in contrast to systems that must find rules that unify with a feature structure).