Rapid prototyping environments (RPEs) give the programmer great flexibility during the composition phase of program-creation. An RPE enables the designer/programmer to define and redefine fragments of programs in an ad hoc fashion with a minimum number of constraints.
Existing RPEs are based on programming languages which are unsuitable for use in long term production environments. This inability to move from the ad hoc development environment to a more structured production environment inhibits the long term value of the prototype: most prototypes are thrown away and the work is recreated in a compiler based environment. A persistent prototype is defined as a prototype which evolves into a mature program. Persistent prototypes are valuable because they eliminate the need to recreate work done in the prototyping environment in a compiler based environment.
This dissertation describes the requirements for rapid prototyping environments based on languages with strong typing, which are suitable for production use. Prototypes are written in interactive Ada, a variant of standard compiled Ada, which is suitable for prototyping. Interactive Ada relaxes the compiled Ada constraint that definitions are stored in a particular order. Thus, it is necessary to ezport the prototype from the interactive environment to a compiled environment by sorting the declarations into an appropriate order. The dependency relationships inherent in Ada's strong typing make this sorting process possible. The dissertation details the data structures and algorithms necessary to effect this transfer.