1. A computer-implemented method of managing a software program, the computer comprising a processor, a memory, and an input/output interface for receiving and transmitting information to and from the processor, the computer providing a development environment for developing a set of instructions executable by a system, the method comprising: receiving, by the processor, a first program containing information in machine-readable form, the information representing a first set of instructions executable by the system; creating a configuration for the system based on the received information; and generating, by the processor, a second program containing a second set of instructions executable by the system based on the configuration, wherein the second set of instructions corresponds to at least one algorithm assembled in a nested hierarchy; parsing, by the processor, the first program to extract data associated with the information contained therein; creating, by the processor, a metadata program; and storing, by processor, the data extracted from the information contained in the first program in the metadata program; wherein parsing the first program, comprises: interpreting hierarchy definition data from the information; identifying fields which require definition; and determining a category for the algorithm represented by the information; wherein creating the configuration for the system based on the received information comprises: creating a logical structure representing a physical environment in which the system will be applied and functional capabilities of the system; and associating at least one algorithm with the logical structure.