Customization > Extensibility Through Profiles, Stereotypes, Tag Definitions and Scripts > Extensibility through stereotype scripts and script items > Working with profile diagrams > Overview of profile diagrams
  
Overview of profile diagrams
A Profile Diagram allows you to model Stereotypes and Tag Definitions, including Stereotype inheritance and redefinition of inherited Tag Definitions and Scripts.
Packages
Show Model Packages on the Profile Diagram so that you can create Stereotypes in those Packages.
To create a Package: click the Package toolbar button, and then click in free space or within a Package.
Meta model types
Meta Model Types represent the item and diagram types in Modeler. On a Profile Diagram, they are used for defining valid model item types for Stereotypes (see the Extensions section that follows), and target model item types for reference Tag Definitions (see the Tag Definition section that follows).
To add a Meta Model Type: click the Meta Class toolbar button, and then click in free space.
Stereotypes
To create a Stereotype: click the Stereotype toolbar button, and then click in free space or within a Package.
When you create a Stereotype on the diagram background, Modeler makes that Stereotype a child item of the Package that owns the Stereotype. When you create a Stereotype on a Package, Modeler makes that Stereotype a child item of that Package.
Tag definitions
On the Profile Diagram, you can create non-reference Tag Definitions and reference Tag Definitions:
To create a non-reference Tag Definition (of type Boolean, Enumeration, Rich Text or Text): click the Non-reference Tag toolbar button, and then click the Stereotype for which you want to create the Tag Definition. You can then change the type of the Tag Definition through its Property Pages. If you want other Stereotypes to use the Tag Definition, drag the Tag Definition to those Stereotypes. Note that the name of a derived Tag Definition is preceded by a slash mark (/).
To create a reference Tag Definition (of type Reference): click the Reference Tag toolbar button, click the Stereotype for which you want to create the Tag Definition, and then click the Meta Model Type or Stereotype that you want to be referenced by the Tag Definition. Define other target Meta Model Types and Stereotypes for the Tag Definition by creating additional reference Tag Definition links between the Stereotype and other Meta Model Types and Stereotypes; when you do so, a popup menu allows you to select the Tag Definition for which you are creating the relationship.
Note that if a non-reference Tag Definition is Derived, the name of the Tag Definition is preceded by a slash mark (/).
Extensions
An Extension relationship defines a valid model item type for a Stereotype, that is, an item or diagram type to which the Stereotype can be applied.
To create an Extension: click the Extension toolbar button, click the Stereotype, and then click the Meta Model Type that is valid for the Stereotype. You can link a Stereotype to many Meta Model Types.
Generalizations (Stereotype inheritance)
A Generalization relationship defines inheritance between Stereotypes.
The sub Stereotype inherits the following features from the super Stereotype: Stereotype properties, valid Model Item Types (Extension relationships), Non-reference Tag Definitions, Reference Tag Definitions (Tag Definition relationships) and Scripts.
See the Redefining inherited Tag Definitions and Scripts section that follows.
Redefining inherited Tag Definitions and Scripts
When you define Stereotype inheritance through a Generalization, the sub Stereotype inherits the following features from the super Stereotype: Stereotype properties, valid Model Item Types (Extension relationships), Non-reference Tag Definitions, Reference Tag Definitions (Tag Definition relationships) and Scripts.
You can redefine inherited Tag Definitions and Scripts, so that you can change a sub Stereotype's Tag Definitions and Scripts independently of the super Stereotype's Tag Definitions and Scripts.
To redefine an inherited Tag Definition or Script: on the sub Stereotype, right-click the Tag Definition or Script, and then click Redefine.
You can then set the following properties of a sub Stereotype's redefined Tag Definition or Script independently of the super Stereotype's Tag Definition or Script:
For Tag Definitions: Name Alias, Description, Constraints, Derivation Script, Published, Hidden, Read Only, Browsable, Show On All Diagrams, Enumeration Values and target types for a reference Tag Definition. All other properties are shared.
For Script items: Script, Description, Constraints, Category, Command and Hidden.
* 
The Packages pane does not show redefinitions of Tag Definitions and Scripts, but you can view redefinitions of Tag Definitions and Scripts in the Relationships pane: expand the Packages folder, locate and expand the appropriate Stereotype, and then expand the Tag Definitions or Scripts folder.
Note that for an enumeration Tag Definitions, the Default Value is common to an enumeration Tag Definition and all its redefinitions.
Populating items and links
From the background of a diagram, you can populate links that are not shown between the items shown on the diagram. To populate missing links: right-click the diagram background, point to Populate, and then click Dependencies, Inheritance (for Generalizations), Meta Class Links (for Extensions) or Reference Tags.
From a Package, you can populate its Stereotypes. To populate a Package's Stereotypes: right-click the Package, point to Populate, and then click Stereotypes.
From a Stereotype, you can populate its missing links. When you populate a Stereotype's links, Modeler adds to the diagram any items required to show those links. To populate a Stereotype's links: right-click the Stereotype, point to Populate, and then click Meta Types (for Extensions), Reference Tags, Sub Stereotypes (for Generalizations) or Super Stereotypes (for Generalizations).
Moving items and links on a Profile Diagram
When you move a Stereotype to within a Package, Modeler makes the Stereotype a child item of that Package.
You can move the source end of an Extension relationship to a different Stereotype, and you can move the target end of an Extension relationship to a different Meta Model Type.
You can move the source end of a Tag Definition relationship to a different Stereotype, and you can move the target end of a Tag Definition relationship to a different Meta Model Type or Stereotype.