A computer-implemented method for representing and manipulating data type structures stored in files, including: defining a first data type structure representing a hierarchy of at least one programming attribute for developing an application, wherein the first data type structure is stored in a first file (800; 902) to allow the data type structure to be used by other data type structures stored in other files, wherein the first data type structure is defined based on a definition for a second data type structure (702, 704; 906, 908) that is stored in a second file (700; 900); and producing a visual diagram including a graphical representation of each of the first data type structure, the second data type structure (702, 704; 906, 908), the first file (800; 902), and the second file (700; 900), wherein the graphical representation of each structure includes the name of the data type structure and a representation of each file includes a name of the file, the visual diagram also including: a first indicator (802, 804; 916, 918) linking the graphical representation of the first data type structure with the graphical representation of the second data type structure (702, 704; 906, 908), the first indicator showing that the first data type structure is defined based on the definition for the second data type structure (702, 704; 906, 908), and a second indicator (810; 920) connecting the graphical representation of the first file (800; 902) with the graphical representation of the second file (700; 900), the second indicator showing that the first data type structure stored in the first file (800; 902) is defined based on the definition for the second data type structure (702, 704; 906, 908) stored in the second file (700; 900),; displaying the visual diagram on a user interface; removing the graphical representation of the first and second files, manipulating the graphical representations of the first and second data type structures to define one or more data type structure groups, and creating one or more new files storing the one or more data type structure groups. defining a first data type structure representing a hierarchy of at least one programming attribute for developing an application, wherein the first data type structure is stored in a first file (800; 902) to allow the data type structure to be used by other data type structures stored in other files, wherein the first data type structure is defined based on a definition for a second data type structure (702, 704; 906, 908) that is stored in a second file (700; 900); and producing a visual diagram including a graphical representation of each of the first data type structure, the second data type structure (702, 704; 906, 908), the first file (800; 902), and the second file (700; 900), wherein the graphical representation of each structure includes the name of the data type structure and a representation of each file includes a name of the file, the visual diagram also including: a first indicator (802, 804; 916, 918) linking the graphical representation of the first data type structure with the graphical representation of the second data type structure (702, 704; 906, 908), the first indicator showing that the first data type structure is defined based on the definition for the second data type structure (702, 704; 906, 908), and a second indicator (810; 920) connecting the graphical representation of the first file (800; 902) with the graphical representation of the second file (700; 900), the second indicator showing that the first data type structure stored in the first file (800; 902) is defined based on the definition for the second data type structure (702, 704; 906, 908) stored in the second file (700; 900),; a first indicator (802, 804; 916, 918) linking the graphical representation of the first data type structure with the graphical representation of the second data type structure (702, 704; 906, 908), the first indicator showing that the first data type structure is defined based on the definition for the second data type structure (702, 704; 906, 908), and a second indicator (810; 920) connecting the graphical representation of the first file (800; 902) with the graphical representation of the second file (700; 900), the second indicator showing that the first data type structure stored in the first file (800; 902) is defined based on the definition for the second data type structure (702, 704; 906, 908) stored in the second file (700; 900),;