Patent ID: 7130863

Claim:
A method for enhancing an object-oriented programming language, the method comprising: a) declaring a plurality of classes in databases comprising metadata describing characteristics defining a structure of each class, each class in the plurality comprising: i) a class-body comprising a plurality of class-body members, each member comprising a plurality of class-body member metadata in the plurality of metadata, the class-body metadata describing characteristics defining the class-body members, and wherein the plurality of class-body members metadata for a class are stored together, and ii) a class-head comprising a plurality of class-head metadata in the plurality of metadata, the class-head metadata describing characteristics defining the class-head; and b) extending the metadata associated with the class-head and class-body by adding additional metadata to the databases; c) storing the class-body into a plurality of rows and a plurality of columns in at least one database in said databases, each row representing a class-body member definition and each column representing metadata defining a single characteristic of the class-body member; d) declaring a plurality of metadata describing characteristics defining an application, each application in a plurality of applications comprising: i) an application-body comprising a plurality of class-heads for classes composing the application, wherein the plurality of class-heads of the classes that compose the application are stored together, and wherein each of the class-heads has metadata pointing to its class-body storage, ii) an application-head comprising a plurality of application-head metadata in the plurality of metadata, the application-head metadata describing characteristics defining the application; and e) declaring a plurality of metadata describing characteristics defining a domain wherein a plurality of software applications related to a domain are organized in a domain software catalog comprising a plurality of metadata describing characteristics defining a domain in a plurality of domains, each domain in the plurality comprising: i) a domain software catalog-body comprising a plurality of application-heads that make up the domain software catalog, and wherein the plurality of application-head metadata that make up the domain software catalog are stored together, and wherein each application-head has metadata pointing to said application body storage, and ii) a domain software catalog-head comprising a plurality of domain software catalog-head metadata in the plurality of metadata. the domain-head metadata describing characteristics defining the domain, and iii) storing the plurality of metadata for the plurality of domain software catalog-heads and wherein each domain-head has metadata pointing to its domain software catalog-body storage.