1. A computer method of extending metaclasses in a metamodel, comprising the steps of: defining an extension; applying the defined extension to a model element; and during run time, dynamically (i) creating a metamodel object representing the defined extension, and (ii) linking the created metamodel object to the model element.