Systems and methods of generating and executing customized variants of a
software application are provided. The customized variants include
customization of user interfaces, data processing logic, and data models.
Customization is accomplished by overlaying custom metadata on base
metadata. The base metadata characterizes the software application and
the custom metadata characterizes variants of the software application.
The custom metadata and base metadata have an object-oriented
relationship. Related variants are optionally applied as a set to assure
compatibility between variants of the same software application.