Stereotypes were introduced into the UML in order to offer extensibility to the basic metamodel structure by the user and without actually modifying the metamodel. In UML version 1.x, this was accomplished by means of permitting virtual subtyping in the metamodel. However, this facility led many to misuse stereotypes, particularly in places where regular domain-level modelling would be more appropriate. In version 2.0 of the UML, the portion of the metamodel pertaining to stereotypes was drastically revised. The resulting mechanism is reviewed here and compared with that of version 1.x. From a set theory point of view, the new (2.0) metamodel is unfortunately untenable and the examples used in the OMG documentation unconvincing. This paper outlines the issues and suggests some possible steps to improve the UML 2.0 stereotype theory and practice.
['Brian Henderson-Sellers', 'Cesar Gonzalez-Perez']
Uses and abuses of the stereotype mechanism in UML 1.x and 2.0