Patent ID: 7266565

Claim:
A method for developing a software application related to a domain comprising: a) storing a plurality of metadata describing characteristics defining a class, each class in a plurality of classes 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; b) enabling any number of additional metadata to be added to the plurality of metadata of the class-head and class-body to represent a real world object and to facilitate the development of the software application; c) storing 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 d) storing 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.