I tried to find some first generation “metamodels”. It is quite instructive to question how they were actually used.
Let’s call it Flowchart #1. Here is another one:
This is Flowchart #2.
Here we have three ones, from left to right: Flowchart #3, Flowchart #4, Flowchart #5.
Now, in the following picture, we have a metamodel Flowchart #6 (on the left) and a terminal model Model #1 (on the right):
Finally another terminal model Model #2 :
One question: to what metamodel does Model M#2 conforms?
One can see from all these simple examples that Flowcharts are some kind of rudimentary ontology i.e. a shared and conceptual set of abstraction for computation.
The next generation could be illustrated by the OMT or the Booch notations. The following figure shows the visual concrete syntax associated with Booch diagrams as well as three sample terminal models.
One remark that can be done here is that each element from a terminal model (diagram) relates to a corresponding symbol in the concrete syntax of the metamodel. This relation is called μ here.