The definition of a clean profile mechanism will play a crucial role in the UML's future in terms of how useful it will be to modellers and how well tool vendors may implement the new facilities. Unfortunately, in an attempt to restrict profile definitions to a single meta level, predefined modeling elements are currently specified exclusively at the meta-model level, and therefore can be applied solely through the mechanism of meta-instantiation. We identify the problems associated with such a restriction and explain why model level inheritance also has a role to play in the definition of predefined modeling elements. We point out the fundamental differences and relationships between the two mechanisms in the context of defining UML profiles and provide guidelines as to which mechanism should be used under which circumstance. We conclude by describing the necessity for the use of both mechanisms in the definition of UML profiles within a strict metamodeling framework.
24 pages.