Meta Meta Languages and Models

Meta Languages to define Languages and Meta Models to create Models

Meta, Metameta, and Metametameta Languages and Models

The Subject is part of the real world to be described by a Language or modelled by a model.

Meta, Metameta, and Metametameta Languages and Models

The Language or Model is an abstract representation of the real world.

Meta, Metameta, and Metametameta Languages and Models

The Meta Language or Meta Model is used to create languages or models.

Meta, Metameta, and Metametameta Languages and Models

The Metameta Language or Metameta Model is used to create meta languages or meta models.

Meta, Metameta, and Metametameta Languages and Models

The Metameta Language or Metameta Model is used to create meta languages or meta models.



About Meta Meta Modelling

Login Form



Summary History of Metameta Language and Model

Geoffrey Darnton, 2010

This article is a summary of key points, many of which are developed further in other articles on this site. It presents a summary of current views about the development of the metametamodel and metametalanguage concepts.

The concept of a metametamodel probably emerged in the late 1990s. There is a discussion of dictionary entries in the article 'Language or Model?'.<br /><br />From the late 1990s onwards, metametamodel has appeared in some significant initiatives including UML (Unified Modelling Language) and the EIA/CDIF (Electronic Industries Alliance/CASE Data Interchange Format) architecture framework.

Other discussions and uses include MEMO (Multi Perspective Enterprise Modelling) and XFeature.

See the menu item 'Meta Meta Modelling in the Literature' for more detailed articles about initiatives that use the term metametamodel.

All of the major projects using the term metamodel or metametamodel also refer to languages. Whereas the provenance of metamodel and metametamodel is not clear, there is far more clarity about the development of metalanguage and metametalanguage. The OED (Oxford English Dictionary) explains metalanguage as "A language which supplies terms for the analysis of an ‘object’ language; a system of propositions about other propositions". As noted elsewhere, the OED redirects meta-metalanguage to metalanguage.

The projects referred to above, are all concerned with using metametamodels to derive metamodels which in turn are used to create models of target subjects (or objects), all from around 1997 onwards. There is broad agreement and practice to have a four-layered model: metametamodel, metamodel, model, subject. However, these are not the first examples of projects to do that, although earlier examples are focussed on language rather than model.

An early project was the ISDOS (information System Design and Optimization System) which commenced very briefly at Case Western University (1967) and was then conducted at the University of Michigan (UoM) until ISDOS was spun out as a commercial company, and the research project at UoM continued as PRISE (Program for Researcjh into Information Systems Engineering). The Director of ISDOS was Prof. Daniel Teichroew. He did not use the term 'metametamodels'; he was primarily concerned about languages (although early use of the term 'model' is in some publications).

Much of the work done in the ISDOS project that was concerned with metametalanguages (or metametamodelling) remains unpublished (as at the beginning of 2012) notwithstanding all the research and development from the 1970s. There is a published paper that gives very strong hints about what was going on in this regard in the ISDOS project (Teichroew et al., 1980). That paper is concerned with languages, much more than models. Indeed, the ISDOS project produced an internal tool known as LDM (Language Definition Manager) referred to in the Teichroew et al. paper as an ISLDS (Information System Language Definition System) Architecture (ibid p19). What is not so well known is that LDM was used to define and generate the well known toolkit known as Problem Statement Language/Problem Statement Analyzer (PSL/PSA). PSL/PSA is discussed further in Case Studies, and there is a website devoted to it. It was also used for other Languages (discussed in Case Studies).

LDM has been used subsequently as a metametamodelling language to create other languages that are very different from PSL (for example, languages for information architecture and competence) (Darnton, 2002). The examples in that paper are developed further on this site in the section devoted to Case Studies.

LDM will be reincarnated by metaPSL®. metaPSL® is not a porting of LDM; it is a redesign from the bottom up, but founded on the fundamental research that lay behind LDM, including some of the ideas in the unpublished research material. Further information about metaPSL® is also available on this site.

The origin of systematic thinking about the levels of language involving 'meta' is the philosophical school of logical positivism. The most likely member of that school who has set out key principles for the formation of metalanguages and metametalanguages as implemented in the metamodels and metametamodels discussed above, is Rudolf Carnap. Carnap set out a constructor system with 4 levels of language. The ISDOS project was influenced by Carnap explicitly via at least one of the PhDs done within the ISDOS project, and Yourdon, a key figure behind the development of data flow diagrams was also influenced by Carnap, at least indirectly, through the use by one of his supporting references, of Carnap in relation to the graphs that are inherent in data flow diagrams.

In 1928, Carnap had laid down (Carnap 1928), albeit in German, many of the fundamental building blocks used today for various purposes related to systems analysis. His starting point is to the effect that there are certain fundamental concepts that underpin all science, starting with the term 'object': "The present investigations aim to establish a "constructional system", that is, an epistemic-logical system of objects or concepts. the word "object" is here always used in its widest sense, namely, for anything about which a statement can be made. Thus, among objects we count not only things, but also properties and classes, relations in extension and intension, states and events, what is actual as well as what is not...the present study is an attempt to apply the theory of relations to the task of analyzing reality" (Carnap, 1967: pp5-7).<br />Carnap adopted what he terms a 'constructor' approach by which he means that each subsequent modelling level can be (and has been) derived formally from the previous level.

Enforcing constructor principles requires that at the same time as using a metametamodelling language to create a metamodelling language, a device is created that is able to check that statements made using the created language are valid statements (Carnap 1928, 1958, 1967). He articulated object-property-relationship (OPR) modelling, and that was followed in the software development world by entity-relationship-attribute (ERA) where objects are called entities and properties are called attributes.

<p>There is deeper discussion of Carnap on this site, including an obervation that Carnap is the likely source of so many foundations of software and software development used today, including methods of analysis and design, object-oriented thinking, and relational theory - and these origins go back at least to 1928. In terms of ideas such as metamodels and metametamodels, the ideas, including the layered models, can be seen as diect descendants of Carnap's ideas. Hence Carnap can be seen as the originator of ideas used behind projects such as UML and EIA/CDIF.</p>

There are hints in the literature that increasing levels of abstraction from object to metametamodel via model and metamodel could be continued ad infinitum. However, the previous quotation from Carnap shows that although his metametalanguage consists of object, property, and relation, these are all instantiations of 'object'. Hence levels of abstraction by this scheme would stop at metametametalanguage, which consists of 'object'. In the metametamodelling literature, that is also, effectively, the conclusion of Frank (1998, p6): "Similarly to any other model, the definition of meta-metamodel requires a set of higher order concepts - we could also speak of a meta-meta-metalanguage. In order to avoid a regression ad infinitum, the concepts used for a language specification can be formalized at some point. That would require to define a set of symbols, a precise syntax and a calculus that would allow to generate all valid expressions (models)". This is what was implemented by the ISDOS Language Definition Manager. In any event, it is unlikely that such abstraction could continue ad infinitum.

This is why the pyramid used as the logo foundation for this site has 5 layers.


Carnap, R. (1928) Der Logische Aufbau der Welt, Berlin-Schlachtensee: Weltkreis Verlag.

Carnap, R. (1937) The Logical Syntax of Language, London: Kegan Paul, Trench, Trubner &amp; Co. Ltd.

Carnap, R. (1958) Introduction to Symbolic Logic and its Applications, (1st English ed.) New York: Dover Publications, Inc.

Carnap, R. The Logical Structure of the World and Pseudoproblems in Philosophy, (2nd (1st in German 1928)) London: Routledge &amp; Kegan Paul. 1967.

Darnton, G. (2002) "Modelling Requirements and Architecting Large-Scale On-Line Competence-Based Learning Systems" in Proceedings of IEEE International Conference on Advanced Learning Technologies (ICALT 2002), Kazan, Russia. pp170-174. Available at:

Frank, Ulrich (1998), The Memo Meta-Metamodel. Koblenz: University of Koblenz-Landau. Available at:

Teichroew , D., Macasovic, P., Hershey, E.A. III, Yamamoto, Y. (1980) "Application of the Entity-Relationship approach to Information Processing System Modeling" in Chen, P.P. (ed.) Entity-Relationship Approach to Systems Analysis and Design, Amsterdam: North-Holland. pp 15-38.