Un profil est un package stéréotypé qui contient des éléments de diagramme UML (Unified Modeling ) que vous pouvez personnaliser pour un domaine ou à une fin spécifiques à l'aide de mécanismes d'extension, des stéréotypes par exemple.
Un stéréotype est un mécanisme d'extension permettant d'élargir le vocabulaire UML en donnant dans un diagramme UML une signification plus spécifique à un artefact.
Les stéréotypes ne modifient pas la sémantique sous-jacente des artefacts. Vous pouvez, par exemple, modifier l'aspect du stéréotype d'une classe Java en lui rajoutant une icône de décoration, une icône représentant un élément de diagramme ou du texte encadré par des chevrons (<< >>) sans que la sémantique de la classe en soit affectée. La classe possède toujours les mêmes attributs, opérations et propriétés.
Comme l'illustre la figure ci-dessous, un stéréotype s'affiche sous la forme d'un nom entre chevrons (<< >>. Certains éléments de profil, comme les stéréotypes, les énumérations, les classes et les attributs de classes et de stéréotypes, doivent être des identifiants Java valides si l'on veut éviter les conflits de noms.