Propriétés des éléments de modèle

Vous pouvez définir les propriétés de concurrence, de multiplicité, de type et de visibilité des éléments de modèle.

Concurrence

La propriété de concurrence d'une opération dans un objet actif permet de préciser la manière dont se comporte un système lorsqu'un autre objet actif appelle l'opération.

La propriété de concurrence est pertinente uniquement lorsque votre application détient des objets, des processus ou des unités d'exécution actifs. Vous pouvez la définir pour des opérations appartenant aux objets actifs de votre application.
Valeur de concurrence Description
sequential (séquentiel) Il s'agit de la valeur par défaut de la propriété de concurrence d'une opération. Des conflits peuvent se produire entre des processus concurrents. Tous les appels d'objets doivent être coordonnés de sorte qu'un seul appel à la fois soit transmis à l'opération.
guarded (protégé) Plusieurs appels d'une opération peuvent avoir lieu simultanément, mais un seul est traité. Les appels suivants sont bloqués tant que le traitement du premier n'est pas terminé. Les concepteurs du système doivent s'assurer que les applications peuvent simultanément bloquer les appels aux opérations.
concurrent (simultané) Une opération peut recevoir plusieurs appels qui vont être traités simultanément.

Multiplicité

La propriété de multiplicité s'applique à plusieurs éléments de modèle, mais plus particulièrement aux attributs appartenant aux discriminants, aux parties de diagramme de structure composite et aux associations entre discriminants. La multiplicité d'un attribut vous indique le nombre de valeurs que vous pouvez associer à cet élément de modèle. Par exemple, vous pouvez définir un attribut appelé Attribute1 de données de type Entier dont la plage de valeurs est comprise entre 0 et 3, comme Attribute1 : Entier [0..3]. Une valeur de multiplicité ou plage de valeurs d'une fin d'association illustre le nombre d'objets pouvant participer à la relation. Une spécification de multiplicité peut être un entier positif unique, une plage d'entiers positifs (spécifiée par des limites inférieure et supérieure) ou une liste d'entiers positifs séparés par des virgules. Un astérisque indique une limite supérieure indéterminée. Par exemple, le tableau ci-dessous montre plusieurs spécifications de multiplicité :

Exemple Description
1 Exactement un
0..1 Zéro ou un
* Nombre quelconque, y compris zéro
1.. Un ou plus

Dans un contexte avec des paramètres comme un canevas, les limites supérieure et inférieure d'une spécification de multiplicité peuvent être des expressions ayant pour résultat des valeurs entières.

Si les valeurs de multiplicité sont associées à un attribut, elles apparaissent entre crochets, comme dans l'exemple suivant :

Un attribut appelé Attribute1 s'affiche. L'attribut est un entier et sa visibilité est publique. Il détient également une spécification de multiplicité (dont les valeurs sont comprises entre zéro et trois) apparaissant entre crochets en regard du type de l'attribut.

Si les valeurs de multiplicité sont associées aux parties de diagrammes de structure composite, elles apparaissent entre crochets, comme dans l'exemple suivant :

Une partie d'un diagramme de structure composite appelé PartName s'affiche. La partie contient une spécification de multiplicité comprise entre un et trois apparaissant entre crochets après le nom de la partie.

Si les valeurs de multiplicité sont associées à des fins d'association, elles s'affichent en regard de celles auxquelles elles s'appliquent, comme l'illustre l'exemple ci-dessous :

Deux discriminants appelés ClassifierOne et ClassifierTwo s'affichent. Ils sont reliés par une association dont la spécification de multiplicité est comprise entre un et trois au niveau de l'extrémité ClassifierOne et d'un astérisque (*) au niveau de l'extrémité ClassifierTwo.

Type

Vous pouvez préciser le type d'un attribut, d'une opération, d'un paramètre et d'une fin d'association. Ce type peut être une classe, un type de données UML (un entier, une chaîne, un naturel illimité ou un booléen, par exemple) ou une interface.

Visibilité

La visibilité permet de déterminer si des éléments de modèle peuvent accéder à d'autres éléments de modèle à partir de la même classe, du même package, d'une structure d'héritage ou d'une quelconque partie d'un système. Vous pouvez préciser la visibilité des éléments de modèle ci-dessous :

Par exemple, d'autres classes peuvent voir et utiliser les attributs et opérations d'une classe à visibilité publique. Si la visibilité des attributs et opérations est privée, seule la classe les contenant peuvent les voir et les utiliser.

En langage UML, les spécificateurs de visibilité sont identiques à ceux de nombreux langages de programmation orientés objet. Vous pouvez utiliser les icônes ou symboles textuels pour afficher le niveau de visibilité des attributs et des opérations. Un symbole textuel tel que le dièse (#) placé en regard du nom d'une fin d'association illustre la visibilité de ladite fin d'association.
Niveau Icônes des attributs Icônes des opérations Symbole textuel Description
Public Un attribut appelé Attribute1 s'affiche. A gauche de l'attribut se trouve un petit cercle vert vide indiquant que la visibilité de l'attribut est publique. Une opération appelée Operation1 s'affiche. A gauche de l'attribut se trouve un petit cercle vert plein indiquant que la visibilité de l'opération est publique. + Les éléments de modèle peuvent également afficher le conteneur et utiliser l'élément de modèle public.
Privé Un attribut appelé Attribute1 s'affiche. A gauche de l'attribut se trouve un petit carré rouge vide indiquant que la visibilité de l'attribut est privée. Une opération appelée Operation1 s'affiche. A gauche de l'attribut se trouve un petit carré rouge plein indiquant que la visibilité de l'opération est privée. - Les éléments de modèle qui se trouvent dans le même conteneur peuvent afficher et utiliser un élément de modèle privé de ce conteneur.
Protégé Un attribut appelé Attribute1 s'affiche. A gauche de l'attribut se trouve un petit losange jaune vide indiquant que la visibilité de l'attribut est protégée. Une opération appelée Operation1 s'affiche. A gauche de l'attribut se trouve un petit losange jaune plein indiquant que la visibilité de l'opération est protégée. # Les éléments de modèle qui se trouvent dans le même conteneur ou dans un conteneur descendant peuvent afficher un élément de modèle protégé de ce conteneur.
Package Un attribut appelé Attribute1 s'affiche. A gauche de l'attribut se trouve un petit triangle bleu vide indiquant que l'attribut détient une visibilité de package. Une opération appelée Operation1 s'affiche. A gauche de l'attribut se trouve un petit triangle bleu plein indiquant que l'opération détient une visibilité de package. ~ Les éléments de modèle qui se trouvent dans le même package que le conteneur peuvent afficher et utiliser un élément de modèle avec une visibilité de package.
Conditions d'utilisation | Retours d'informations
(C) Copyright IBM Corporation 2004, 2005. All Rights Reserved.