Se estiver modelando um sistema e precisar estender o metamodelo UML para um uso específico, em vez de alterar o metamodelo, você poderá criar um conjunto de estereótipos e restrições e agrupá-los em um perfil UML customizado. Você pode aplicar um perfil UML customizado a um modelo e utilizar os estereótipos e restrições para marcar o modelo para uma plataforma ou domínio específico. Por exemplo, você pode criar um perfil que controle como uma transformação gera código C++ a partir de um modelo UML.