16. A computer-implemented method for altering a hierarchical structure of multiple model elements that constitute a computer program, the method comprising: of a computing system accessing the hierarchical structure of model elements; each element having an ancestral relationship status defined by the position of each model element in the hierarchical structure and parent-child associations of the each element and one or more other elements; the computing system determining that a first model element of the hierarchical structure is to be replaced, determining being at least in part behavior-based and based upon monitoring usage of the model elements; in response to the determination, an act of the computing system automatically replacing the first model element of with another model element that retains the same ancestral relationship status and position within the hierarchical structure and parent-child associations of the another model element is the same as the replaced first model element; and in response to replacing the first model element, automatically populating a property value of the another model element with an associated property value from the replaced first model element.
16. A computer-implemented method for altering a hierarchical structure of multiple model elements that constitute a computer program, the method comprising: of a computing system accessing the hierarchical structure of model elements; each element having an ancestral relationship status defined by the position of each model element in the hierarchical structure and parent-child associations of the each element and one or more other elements; the computing system determining that a first model element of the hierarchical structure is to be replaced, determining being at least in part behavior-based and based upon monitoring usage of the model elements; in response to the determination, an act of the computing system automatically replacing the first model element of with another model element that retains the same ancestral relationship status and position within the hierarchical structure and parent-child associations of the another model element is the same as the replaced first model element; and in response to replacing the first model element, automatically populating a property value of the another model element with an associated property value from the replaced first model element. 17. The method in accordance with claim 16 , wherein determining that the first model element is to be replaced is performed by monitoring usage of the computer program and making the determination based on a change in usage of the computer program.