16. A computer-implemented tool for building a speech application, the tool comprising: a design module to generate a functional specification document describing the speech application based on user inputs specifying a set of dialog flows to be executed by the speech application, wherein the functional specification document is written in a natural language and comprises, for each dialog flow in the set of dialog flows, an image file representing said dialog flow; wherein the design module includes; a property sheet generation module to generate a set of property sheets for each of the dialog flows, and a document generation module to generate the functional specification document; a framework based on which to generate a graphical user interface, the graphical user interface including a first display area in which to display a flow of each of the dialog flows specified by the user inputs, and a second display area, displayed concurrently with the first display area, in which to display property sheets, in which the user can specify and edit properties of dialog states of the dialog flows, wherein the property sheets include input fields, which the user can (a) input data to and (b) edit; a binding module to provide a model for each of a plurality of types of objects relating to dialog flow design, including dialog states, and to create in-memory objects representing the dialog flows of the speech application, based on the models, in response to said user inputs; and a code generation module to generate executable code of the speech application, based on the in-memory objects, based on said user inputs, and to execute any of the dialog flows.
19. A tool as recited in claim 16 , wherein the design module further is to automatically make a modification to the executable code of the speech application in response to user inputs specifying a corresponding modification to the speech application.