The use of models for software development is increasing. Application developers now regularly use UML to describe these models. The rules of a modelling language such as UML and of a process to complement the product description are encapsulated in a metamodel. Recent work on OO metamodelling has identified a number of problems with the four-level hierarchy of strict metamodelling. These are explored in detail (for both UML and process metamodels) and a number of possible solutions analysed.