A
system and method for automatically (i.e., programmatically) generating a
computer program based on program information, wherein the program includes a
graphical user interface (GUI) for specifying input values to or viewing output values from the program. In various embodiments, the program information may comprise any type of information specifying functionality for the generated program. In one embodiment, the program information may comprise information specifying a prototype, and the
system and method may automatically (i.e., programmatically) generate a
computer program from the prototype, wherein the program includes a
graphical user interface for specifying input parameter values to or viewing output parameter values from the program. The prototype may comprise a series of functional operations. One or more input and / or output parameters may be associated with each functional operation. In response to a user's request for a program implementing the prototype to be automatically generated, a
list of parameters associated with the operations included in the prototype may be displayed. The user may select from the displayed
list the input parameters which are desired to be interactively changeable. In response, the program may be generated such that the program has a
graphical user interface including a
user interface control associated with each selected input parameter. The
user interface control for a given input parameter may be operable to receive
user input and provide this input to the associated operation in the program. Similarly, the user may select from the displayed
list the output parameters which are desired to be interactively viewable, and a
user interface control for viewing each selected output parameter value on the graphical user interface may be included. Embodiments in which the program information upon which the programmatically generated program is based comprises other types of information besides prototype information are also described.