What's In a Language?
The structure of a language is different from its concrete syntax. We could, for example, represent classes with clouds or boxes, and states with elongated rectangles or ovals, and it makes no difference to the underlying meaning. Unfortunately, it's difficult to talk about classes and states without a notation, and once a notation becomes established, it's easy to confuse the notation with what it represents. When we talk about building modeling languages, we talk about the "definition of the language," which is expressed as a metamodel.
But what is that "definition of the language?" In OMG-speak, it is the abstract syntax, a phrase that captures the idea of the structure of the language, separated from its concrete notational symbols. The UML metamodel doesn't refer to the shapes used to represent the model elements in diagrams, and UML models can even be represented textually, using the Human Usable Textual Notation (HUTN 2002). The metamodel captures only the abstract syntax of a language, but not its representation (in other words, its concrete syntaxes).
Which is all rather peculiar, since the graphical notation of the UML is the feature that many people think is the UML. This is what comes from confusing the medium with the message.