This website describes a catalog of metamodeling anti-patterns to be avoided when defining metamodels using the Meta Object Facility (MOF), a specification provided by the Object Management Group (OMG). The catalog groups anti-patterns into different categories based on the kind of problems they cover. The details of each anti-pattern include a prose description, a formal specification using the Query/View/Transformation (QVT) Relational language and an illustrative example.

The website also features a case study where the catalog has been used to analyze a number of 2.x revisions of the Unified Modeling Language (UML) metamodel. The detected anti-pattern occurrences are presented for each revision including the soon-to-be-released 2.4 revision. A quite noteworthy achievement of this work is its use by the UML Revision Task Force to detect and address many anti-pattern occurrences in the  2.4 revision of UML, resulting in a much higher quality revision. Getting the UML 2.4 metamodel as clean of anti-patterns as possible is quite important ahead of the anticipated submission to the UML Specification Simplification RFP, where the metamodel will be used to drive the automatic generation of the UML 2.5 specification document.

Before browsing the catalog of anti-patterns, it is recommended that viewers first go through the background material. A list of publications based on this work may also be checked to gain more information. The downloads section can be used to gain access to the various artifacts produced by this work. Viewers are strongly encouraged to provide positive feedback on this material by starting/engaging in group discussions. Interested viewers can also read the news or register in the news feed to get notified of any future developments of this material.


If you need to reference any part of this website's material, please use the following reference format:

Elaasar, M., Briand, L. and Labiche Y., "Metamodeling Anti-Patterns", 2010.