A Classification of Stereotypes for Object-Oriented Modeling Languages

The Unified Modeling Language UML and the Open Modeling Language both have introduced stereotypes as a new means for user-defined extensions of a given base language. Stereotypes are a very powerful feature. They allow modifications ranging from slight notational changes up to the redefinition of the base language. However, the power of stereotypes entails risk. Badly designed stereotypes can do harm to a modeling language. In order to exploit the benefits of stereotypes and to avoid their risks, a better understanding of the nature and the properties of stereotypes is necessary. In this paper, we define a framework that classifies stereotypes according to their expressive power. We identify specific properties and typical applications for stereotypes in each of our four categories and illustrate them with examples. For each category, we discuss strengths and weaknesses of stereotypes and present a preliminary set of stereotype design guidelines.