1. A computer-readable storage device storing a computer program product operable to cause a data processing apparatus to: receive a metamodel in a first language, the first language comprising a customizable extension and the metamodel describing a diagram of classes that define one or more development objects, the development objects representing building blocks for developing an application; convert the metamodel to a model description that describes the metamodel in a second language according to an interchange format; generate a set of intermediate objects to represent the classes of the metamodel by parsing the model description, the generating including generating an Extensible Markup Language (XML) schema that enables implementation of the development objects by implementing at least one feature using the customizable extension, the at least one feature comprising at least one of an indication of a file border, a copy operation, or a paste operation; and generate code using the set of intermediate objects as inputs to derive a metadata Application Program Interface (API), the metadata API enabling development tools to access the development objects to develop the application.