Réserver une Démo
Pré. Proc.

Définir les contraintes du métamodèle

Lors de l'extension d' UML pour développer un profil spécifique à un domaine, Enterprise Architect vous permet de spécifier des contraintes pour restreindre les connecteurs pouvant être tirés d'un stéréotype, soit à l'aide du Quick Linker, soit à partir de la boîte à outils. Ces contraintes sont définies à l'aide des relations sous la page 'Métamodèle' de la boîte à outils 'Profil'.

Accéder

Ruban

Conception > Diagramme > Boîte à outils : Hamburger icon > Profil

Raccourcis Clavier

Ctrl+Maj+3

Ajouter des contraintes de métamodèle à un profil

Item

Détail

Voir également

Méta-relation

Un connecteur « métarelation » entre deux Stéréotypes est utilisé pour spécifier un Connecteur UML valide entre ces deux Stéréotypes.

Le nom du connecteur UML doit être défini dans la balise 'metaclass' sur le connecteur «metarelationship».

Showing how the metarelationship connector can be used to automatically create quicklinker definitions.

Dans l'exemple Profile, un connecteur « metarelationship » est tiré de ServiceSpecification vers ServiceInterface et le nom du connecteur UML est spécifié dans l'onglet 'Tags' de la fenêtre Propriétés du connecteur.

Après avoir importé ce profil dans un modèle, Enterprise Architect affichera le connecteur UML lorsque le Quick Linker est utilisé pour établir une relation entre une ServiceSpecification et ServiceInterface.

Méta-Contrainte

Un connecteur « métacontrainte » entre deux Stéréotypes permet de spécifier une contrainte entre ces deux Stéréotypes.

La contrainte doit être définie dans la balise 'umlRole' sur le connecteur Meta-Constraint.

Showing how the metaconstraint connector can be used to define model validation rules.

Dans l'exemple Profile, un connecteur « metaconstraint » est dessiné de ActualProjectMilestone vers ProjectMilestone et la contrainte est spécifiée comme classifieur sur la balise 'umlRole' dans la Valeur Étiquetés du connecteur.

Après avoir importé ce profil dans un modèle, Enterprise Architect affichera uniquement les éléments stéréotypés ProjectMilestone lors de l'attribution d'un classificateur pour l'élément ActualProjectMilestone.

Les valeurs de contrainte pour la balise 'umlRole' incluent :

  • classificateur - limite le classificateur de l'élément stéréotype source à l'élément stéréotype cible
  • type - limite le type de l'élément stéréotype source à l'élément stéréotype cible
  • behavior - limite le comportement de l'élément Stereotype source à l'élément Stereotype cible
  • transmis - limite l'élément transmis pour l'élément Stéréotype source à l'élément Stéréotype cible
  • emplacement - limite l'emplacement de l'élément stéréotype source à l'élément stéréotype cible
  • client/source/end[0].role/informationSource – limite la source d'un connecteur à l'élément cible Stereotype
  • supplier/target/end[1].role/informationTarget - limite la cible d'un connecteur à l'élément stéréotype cible
  • realizingConnector/realizingActivityEdge/realizingMessage - limite la relation qui peut réaliser un flux d'informations
  • typedElement/instanceSpecification - lors de la suppression en tant que classificateur de la fenêtre Navigateur , cette contrainte restreint le type à l'élément stéréotype cible
  • owner/class/activity/owningInstance – limite le conteneur de cet élément à l'élément Stereotype cible ; cette contrainte est utilisée pour créer des règles d'éléments intégrés pour le Quick Linker et valider l'imbrication lors de la validation du Modèle
  • OwnElement/ownedAttribute/ownedOperation/ownedParameter/ownedPort – restreint l'élément/l'attribut/l'opération/le paramètre/le port qui peut appartenir à l'élément stéréotype source ; cette contrainte est généralement utilisée pour valider l'imbrication lors de la validation du Modèle
  • annotatedElement/constrainedElement - limite la cible d'un connecteur Note Link à l'élément cible Stereotype
Contraintes sur le connecteur de méta-contrainte

Relation stéréotypée

Vous pouvez utiliser un connecteur « relation stéréotypée » entre deux stéréotypes ou métaclasses pour spécifier un connecteur stéréotypé valide entre les instances de ces éléments.

Lors de la spécification de la relation, si la relation référencée est définie dans le profil dans lequel la règle est définie, la propriété stéréotype peut être définie uniquement sur le nom de ce stéréotype. Toutefois, si la relation est définie dans un autre profil, vous devez utiliser un nom de stéréotype complet correspondant à l'endroit où le stéréotype est défini.

Showing how the stereotyped relationship connector can be used to automatically create quicklinker definitions and model validation rules.

Dans l'exemple Profile, un connecteur «relation stéréotypée» est tiré de ApplicationComponent vers ApplicationEvent et le stéréotype de la relation est défini sur 'Assignment' dans la Valeur Étiquetés du connecteur.

Après avoir importé ce profil dans un modèle, Enterprise Architect affichera l'option "Attribué" lorsque le Quick Linker est utilisé pour établir une relation entre un ApplicationComponent et ApplicationEvent.

Contraintes du métamodèle et Quick Linker

Métaclasses spéciales

Vous pouvez spécifier la source d'un connecteur comme étant une superclasse de tous les formulaires spécialisés et la cible vers une métaclasse spéciale qui spécifie une relation avec la métaclasse réelle lorsqu'elle est utilisée. Vous utilisez l'un de ces termes comme nom d'élément pour un élément Class avec le stéréotype « metaclass ».

Item

Détail

Voir également

source.metatype

L'élément cible doit correspondre au stéréotype exact défini à la source.

source.metatype.general

L'élément cible peut correspondre au stéréotype exact utilisé à la source et à tout stéréotype généralisé concret (isAbstract=false).

source.metatype.specific

L'élément cible peut correspondre au stéréotype exact utilisé à la source et à tout stéréotype spécialisé concret (isAbstract=false).

source.metatype.both

L'élément cible peut correspondre au stéréotype exact utilisé à la source et à tout stéréotype concret (isAbstract=false) généralisé ou spécialisé.

<profile_name>::*

Remplacez '<nom_profil>' par le nom d'un profil ; cela s'étendra à une liste de tous les stéréotypes concrets dans le profil donné.

<none>

Utilisez ce nom de métaclasse lorsque vous souhaitez empêcher l'élément source d'hériter le connecteur spécifié de ses supertypes.

Apprenez Plus