Metamodels

A metamodel is the result of a process of abstraction, classification, and generalization on the problem domain of the modeling language. The box that we commonly think of as a class is a concept in a modeling language, as are the other concepts we know from the UML, such as operations, activities, and states. Fundamentally, then, a metamodel is a model of the modeling language.

Figure 4-1 shows a small subset of the UML metamodel. (“Small” actually doesn't do it justice. There are 805 pages of text in the recently released UML 2.0 specification [Object Management Group, 2003], supported by goodness knows how many figures.) The classes in the metamodel capture the concepts Class, Property, Operation, and so forth that we use to build ...

Get MDA Distilled: Principles of Model-Driven Architecture now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.