Propriétés d'un message

Pour visualiser ou modifier les propriétés d'un message, double-cliquez sur son symbole dans le diagramme ou sur l'entrée correspondante dans l'Explorateur d'objets ou dans une liste. Les onglets de feuille de propriétés et zones répertoriés ici sont ceux disponibles par défaut, avant toute personnalisation de l'interface par vous ou par un administrateur.

L'onglet Général contient les propriétés suivantes :

Propriété

Description

Nom/Code/Commentaire

Identifient l'objet. Le nom doit permettre à des utilisateurs non spécialistes de savoir à quoi sert l'objet, tandis que le code, qui est utilisé afin de générer du code ou des scripts, peut être abrégé, et ne doit normalement contenir aucun espace. Vous pouvez également spécifier un commentaire afin de fournir des informations plus détaillées sur l'objet. Par défaut, le code est généré à partir du nom en appliquant les conventions de dénomination spécifiées dans les options du modèle. Pour supprimer la synchronisation du nom et du code, cliquez sur le bouton = en regard de la zone Code.

Stéréotype

Etend la sémantique de l'objet au-delà de la définition UML. Vous pouvez saisir un stéréotype directement dans cette zone, ou bien ajouter des stéréotypes dans la liste en les spécifiant dans un fichier d'extension.

Emetteur

Objet d'origine du message. Utilisez les outils à droite de la liste pour créer ou sélectionner un objet, ou pour afficher les propriétés de l'objet sélectionné.

Récepteur

Objet sur lequel le message se termine. Utilisez les outils à droite de la liste pour créer ou sélectionner un objet, ou pour afficher les propriétés de l'objet sélectionné, ou bien pour inverser les sens du message.

Remarque : Vous pouvez pointer sur un message dans le diagramme, cliquer le bouton droit de la souris et sélectionner Inverser pour inverser les sens du message. Vous ne pouvez pas inverser le sens d'un message Création ou Destruction.

Numéro d'ordre

Permet d'ajouter manuellement un numéro d'ordre au message. Principalement utilisé dans des diagrammes de communication pour décrire l'ordre des messages, mais peut également être utilisé dans des diagrammes de séquence.

Mots clés

Permet de grouper de façon informelle des objets. Pour saisir plusieurs mots clés, séparez-les de virgules.

Onglet Détails

L'onglet Détails inclut les propriétés suivantes :

Propriété

Description

Action

Spécifie le type d'action du message. Vous pouvez choisir parmi les valeurs suivantes :
  • Création – l'objet émetteur instancie et initialise l'objet récepteur. Un message avec une action Création est le premier message entre un émetteur et un récepteur

  • Destruction – l'objet émetteur détruit l'objet récepteur. Un grand X est affiché sur la ligne de vie de l'objet récepteur. Un message avec une action Destruction est le dernier message entre un émetteur et un récepteur.

  • Auto-destruction – (disponible uniquement si la propriété Flux de contrôle est définie à "Retour") l'objet émetteur avertit l'objet récepteur qu'il se détruit. Un grand X est affiché sur la ligne de vie de l'objet émetteur. Un message avec une action Auto-destruction est le dernier message entre un émetteur et un récepteur

Flux de contrôle

Spécifie le mode d'envoi des messages. Vous pouvez choisir parmi les valeurs suivantes :
  • Asynchrone – l'objet émetteur n'attend pas un résultat et peut donc faire autre chose en parallèle. No-wait semantics

  • Appel de procédure – Appel d'une procédure. La séquence est terminée avant que la séquence suivante ne commence. L'émetteur doit attendre une réponse ou la fin de l'activation. Wait semantics

  • Retour – Généralement associé à un Appel de procédure. La flèche Retour peut être omise puisqu'elle est implicite à la fin d'une activation

  • Non défini – Aucun flux de contrôle n'est défini

Opération

Lie le message à une opération d'une classe. Si le récepteur d'un message est un objet, et si cet objet a une classe, le message, en tant que flux dynamique d'information, appelle une opération. Vous pouvez donc lier un message à une opération existante d'une classe mais également aux opérations définies sur les classes parent, ou bien vous pouvez créer une nouvelle opération à partir de la liste Opération dans la feuille de propriétés du message.

Si une opération est liée à un message, vous pouvez remplacer le nom du message par le nom de la méthode qu'un objet demande à l'autre d'appeler. Cette façon de procéder peut s'avérer très utile lors de la phase de mise en oeuvre. Pour afficher le nom de l'opération au lieu du nom du message, sélectionnez l'option Remplacer par le nom de l'opération dans les préférences d'affichage de message.

Vous avez même la possibilité de lier un message Création à une opération Constructeur d'une classe si vous souhaitez détailler encore plus avant la relation entre un message et une opération. Vous n'êtes toutefois pas autorisé à lier un message avec un flux de contrôle Retour à une opération.

Si vous modifiez la généralisation qui existe entre les classes, l'opération qui est liée au message peut ne plus être disponible. Dans ce cas, l'opération est automatiquement détachée du message. Il en va de même si vous inversez le sens du message, à moins toutefois que le nouvel objet récepteur ait la même classe.

Arguments

Arguments de l'opération.

Valeur de résultat

Valeur de résultat de fonction stockée dans une variable et qui peut être utilisée par d'autres fonctions.

Liste des prédécesseurs

Composée d'une liste de numéros d'ordre suivie de '/ ', la liste des prédécesseurs définit quels messages doivent être échangés avant que le message courant ne puisse être envoyé. Exemple : numéros de séquence 1, 2, 4 avant 3 = '1,2,4/ 3'.

Condition

Condition associée au message. Peut être spécifiée en plaçant une expression booléenne entre crochets sur le diagramme. Exemple : Condition pour le minutage : [durée de numérotation < 30 sec].

Heure de début

Alias d'heure défini par l'utilisateur, utilisé pour définir des contraintes. Exemple : Heure de début=t1, Heure de fin=t2, contrainte={t2 - t1 < 30 sec}.

Heure de fin

Alias d'heure défini par l'utilisateur, utilisé pour définir des contraintes.

Pris en charge du retard

Spécifie que le message peut avoir une durée. Le symbole du message sera incliné, et toujours orienté vers le bas.

Si vous avez désélectionné cette option, le message est instantané, ou rapide, et le symbole de message sera toujours horizontal dans le diagramme

Vous pouvez sélectionner également l'option Prise en charge du retard comme option par défaut dans la boîte de dialogue Options du modèle.

L'option Prise en charge du retard n'est pas disponible avec un message récursif, cette option apparaît alors sélectionnée et grisée.

Flux de contrôle

Un message a par défaut un flux de contrôle Non défini

Si vous souhaitez rendre un diagramme plus lisible, vous pouvez tracer une flèche Retour pour illustrer le moment exact auquel l'action est renvoyée à l'émetteur. Il s'agit d'un retour explicite qui se traduit par le renvoi d'une valeur à son point d'origine.

Dans l'exemple ci-dessous, le retour explicite provoque le renvoi des valeurs à leur activation d'origine.



Vous pouvez combiner des flux de contrôle de message et des actions de message en fonction du tableau ci-après :

Flux de contrôle

Symbole

Aucune action

Création

Destruction

Auto-destruction

Asynchrone



Oui

Appel de procédure



Oui

Retour



Oui

Oui

Non défini



Oui

Remarque : Vous pouvez accéder aux valeurs Action et Flux de contrôle d'un message. Pour ce faire, pointez sur le symbole du message dans le diagramme et cliquez le bouton droit de la souris, puis sélectionnez Action/Flux de contrôle dans le menu contextuel