Un profil UML personnalisé est un ensemble qui contient des stéréotypes, des
contraintes et parfois des classes et d'autres éléments qui adaptent le métamodèle UML à un domaine ou objectif particulier ; les profils
sont externes au modèle et étendent UML sans changer le métamodèle de base.
Vous pouvez créer des profils UML personnalisés si les profils par défaut ne correspondent pas aux exigences de votre projet. Vous pouvez
créer des profils de base qui fournissent simplement une fonctionnalité de présentation supplémentaire ; vous pouvez également créer des
profils complexes qui sont déployés à l'aide de plug-ins et contiennent le code correspondant, pour tirer parti des extensions de métamodèle
associées au profil.
Un profil UML personnalisé est utilisé dans les situations suivantes :
- pour étendre et personnaliser le métamodèle UML pour un domaine particulier
- pour fournir une syntaxe pour les constructions qui n'ont pas de notation UML
- pour fournir une notation différente pour des symboles existants
- pour ajouter de la sémantique que le métamodèle UML ne spécifie pas, telle que la façon de gérer les priorités des signaux dans une machine d'état
- pour ajouter de la sémantique qui n'existe pas dans le métamodèle UML, telle qu'un minuteur ou une horloge
- pour ajouter des informations utilisées par une transformation pour générer du code à partir d'un modèle
Un profil UML personnalisé est stocké dans un fichier doté de l'extension EPX ; vous pouvez afficher les profils dans la vue Explorateur
de projets.
Lorsque vous créez un profil, prenez en considération les informations suivantes d'aide au développement de profil personnalisé :
- Recherchez les profils existants, publiés, qui répondent déjà à vos besoins.
- Déterminez le niveau d'abstraction le plus significatif.
- Identifiez les termes clés du domaine que vous essayez de représenter dans le profil.
- Considérez le mode selon lequel les profils peuvent fonctionner avec des patterns et transformations personnalisés.
Important : Le profil constitue une extension du métamodèle et, par conséquent, devient essentiel à la définition de la structure interne du
modèle auquel il est appliqué. Un modèle ne peut être ouvert qu'en présence de tous les profils qui lui sont appliqués.