On the Search for a Level-Agnostic Modelling Language Brian Henderson-Sellers 1 , Tony Clark 2 and Cesar Gonzalez-Perez 3 1 Faculty of Engineering and Information Technology, University of Technology, Sydney, PO Box 123, Broadway, NSW 2007, Australia 2 Middlesex University, The Burroughs, Hendon, London, NW4 4BT, UK. 4 Institute of Heritage Sciences (Incipit) Spanish National Research Council (CSIC) Santiago de Compostela, Spain 1 brian.henderson-sellers@uts.edu.au, 2 t.n.clark@mdx.ac.uk, 3 cesar.gonzalez- perez@incipit.csic.es Abstract. The use of models is increasing in software engineering, espe- cially within the MDE initiative. Models are usually communicated by vis- ualizing them, typically using a graphical modelling language. The archi- tecture commonly used to standardize a software engineering modelling language utilizes multiple levels despite the fact that the basic assumptions are only valid for a pair of levels. This has led several research groups to seek a means by which modelling languages can be created, and later standardized, without resorting to ‘fixes’ necessitated by the use of strict metamodelling and a multilevel hierarchy. Here, we describe a novel sin- gle-level approach based on ‘everything is an object’, which permits effec- tive flattening of such a hierarchy, thus obviating all the paradoxical con- cerns in the literature over the last two decades. Keywords: modelling, multi-level architecture, metamodelling, MDE 1. Introduction Contemporary and future engineering of information systems place an increasing emphasis on the use of models, either directly to aid design and implementation, in a more formal sense for code generation or as the backbone to model-driven engineering (MDE) (e.g. [1]) or model-based engineering [2]; although the costs and benefits of modelling for software development, and in particular the use of the Unified Modeling Language TM (UML TM ), are not well evaluated (see e.g. [3]). Models must be described in some way; typically using a notation (a.k.a. con- crete syntax) associated with a modelling language. The language itself may be defined in many ways but typically a metamodel is used e.g. [4-6]. That meta- model must itself be defined, by a metametamodel. Together with the instances conformant to the model, this leads to an identification of four abstraction levels