1. A computer program product, tangibly embodied in an information carrier, the computer program product being operable to cause data processing apparatus to: receive a request to extend a modeling language entity; determine whether support to define an extension of the modeling language entity is to be provided to the modeling language entity based on a definition of the modeling language entity in a visual modeling language; provide the support if the support is to be provided to the modeling language entity; otherwise, exclude the support; receive input defining the extension; receive a request to generate an extended modeling language entity; determine whether the extension meets one or more conditions for being an extension to the modeling language entity; and generate the extended modeling language entity if the extension meets the conditions; otherwise, decline the request to generate the extended modeling language entity.