Patent ID: 7856454

Claim:
A method in a computer system, the method comprising: defining a customizable data model, comprising defining a class, defining a plurality of derived classes, wherein each of the plurality of derived classes are derived from the class, and at least two of the plurality of derived classes are directly derived from the class, creating a hierarchy of data elements, using a processor of the computer system, wherein the hierarchy of data elements comprises the class and the plurality of derived classes, the hierarchy of data elements comprises one or more levels of data elements, and the hierarchy of data elements is configured to facilitate an upgrade operation, and defining each data element of the one or more levels of data elements in the hierarchy of data elements as comprising a non-customizable portion and a customizable portion, wherein the customizable portion is configured to support additional data elements, the non-customizable portion is configured to support data elements other than the additional data elements, and the additional data elements are configured to permit customization of the customizable data model; storing the customizable data model; generating a definition of a derived class of the plurality of derived classes, wherein the definition defines a custom data element of the hierarchy of data elements, and the custom data element is configured to allow customization of a data element of the customizable data model; storing the definition; and customizing the customizable data model, wherein the customizing comprises retrieving the customizable data model, retrieving the definition, and adding the custom data element to the customizable portion of the data element of the customizable data model.