While the UML provides various generic concepts for software and systems modeling, it cannot cover all imaginable application scenarios out of the box. Instead, it can be extended with Profiles to add custom model elements to suit your needs. You can define a UML profile to customize the standard model elements for specific purposes. A profile defines one or more UML stereotypes. A stereotype can be used to mark a type as representing a particular kind of object. A stereotype can also extend an element’s list of properties.
Profile diagram, a kind of structural diagram in the Unified Modeling Language (UML), provides a generic extension mechanism for customizing UML models for particular domains and platforms. Extension mechanisms allow refining standard semantics in strictly additive manner, preventing them from contradicting standard semantics. Profiles are defined using stereotypes, tagged value definitions, and constraints which are applied to specific model elements, like Classes, Attributes, Operations, and Activities. A Profile is a collection of such extensions that collectively customize UML for a particular domain (e.g., aerospace, healthcare, financial) or platform (J2EE, .NET).