Stereotype (UML)

A stereotype is one of three types of extensibility mechanisms in the Unified Modeling Language (UML), the other two being tags and constraints. They allow designers to extend the vocabulary of UML in order to create new model elements, derived from existing ones, but that have specific properties that are suitable for a particular domain or otherwise specialized usage. The nomenclature is derived from the original meaning of stereotype, used in printing. For example, when modeling a network you might need to have symbols for representing routers and hubs. By using stereotyped nodes you can make these things appear as primitive building blocks.

Graphically, a stereotype is rendered as a name enclosed by guillemets (« » or, if guillemets proper are unavailable, << >>) and placed above the name of another element. In addition or alternatively it may be indicated by a specific icon. The icon image may even replace the entire UML symbol. For instance, in a class diagram stereotypes can be used to


 * 1) classify method behavior, e.g. with «constructor» and «getter» and
 * 2) refine the classifier itself, e.g. with «interface».

One alternative to stereotypes, suggested by Peter Coad in his book Java Modeling in Color with UML: Enterprise Components and Process is the use of colored archetypes. The archetypes indicated by different-colored UML boxes can be used in combination with stereotypes. This added definition of meaning indicates the role that the UML object plays within the larger software system.

Stereotype attributes
From version 2.0 the previously independent tagged value is considered to be a stereotype attribute. The name tagged value is still kept. Each stereotype has zero or more tag definitions, and all stereotyped UML elements have the corresponding number of tagged values.

Become
In UML, become is a keyword for a specific UML stereotype, and applies to a dependency (modeled as a dashed arrow). Become shows that the source modeling element (the arrow's tail) is transformed into the target modeling element (the arrow's head), while keeping some sort of identity, even though it may have changed values, state, or even class.

While UML 2.1 uses the «become» stereotype within the specification, it does not define it.

Examples
For example, three are used in the Entity-Control-Boundary pattern (ECB or BCE pattern) and four in the robustness diagram (Boundary, Control, Entity and Actor).