Abstract:UML is defined through metamodelling in a four-layer metamodel hierarchy, where metamodels and meta-metamodels are also presented in the form of UML class diagrams. However, the meanings of models and metamodels as well as the basic concepts involved in modelling and metamodelling are not precisely defined in the OMG documentations. In the past few years, a large amount of research efforts on the formalisation of UML semantics has been reported in the literature, but how to formalise the metamodel hierarchy still remains an open problem. This paper presents a framework of unified formal semantics of the metamodel hierarchy. It is based on our previous work on the formal semantics of UML, in which we proposed the notions of descriptive semantics and functional semantics as two separate aspects of UML semantics. The former describes the structure of a model's instances, and the latter characterises the functional and behavioural properties of its instances. This paper further develops this approach by generalising it to metamodels and meta-metamodels. We prove that the semantics of models, metamodels and meta-metamodels can be defined in a unified way. The basic concepts involved in the metamodel hierarchy, such as subject domain and instance-of relation, can also be precisely defined based on the unified semantics framework.