Pré. | Proc. |
Lignes de vie, messages et activations
Dans un Séquence de diagramme , les blocs qui participent à l'interaction ont une durée de vie représentée par une ligne en pointillés, partant de la base de l'élément et se poursuivant verticalement pendant la durée de vie de l'élément. Les éléments peuvent être créés ou détruits à tout moment pendant la période représentée par le Séquence de diagramme , et la ligne de vie représente donc leur existence. Les éléments présents en haut du diagramme sont créés au début de l'interaction. Un échange de messages entre un expéditeur et un destinataire commencera par une ligne de vie (l'expéditeur) et se terminera par une autre (le destinataire).
L'expéditeur appelle ou active effectivement un comportement fourni par la ligne de vie réceptrice. Enterprise Architect fournit des mécanismes utiles pour utiliser des comportements déjà définis sous la forme d'opérations. Cette illustration montre les propriétés d'un message existant, que le modélisateur peut sélectionner dans une liste déroulante d'opérations préalablement définies. Alternativement, le modélisateur peut définir une nouvelle opération en sélectionnant le bouton Opérations.
Formellement, lorsqu'un message cible une ligne de vie, une exécution se produit, ce qui signifie qu'un comportement est initié ou augmenté. Cette exécution est représentée visuellement par une activation, qui se dessine sur le diagramme sous la forme d'une mince incrustation rectangulaire sur la ligne de vie, dont la longueur représente la durée relative du comportement. L'étendue de l'activation du rectangle est terminée lorsqu'un message de réponse est renvoyé à l'appelant.
Un Bloc (instance) peut être à la fois l'expéditeur et le destinataire d'un message, qui peut être qualifié de message réflexif car il commence et se termine sur la même ligne de vie. Dans ce cas, un deuxième rectangle d'activation plus court est superposé à la première activation mais décalé vers la droite.
Messages qui créent et détruisent des blocs
N'importe quel nombre d'instances de Bloc peut faire partie d'une interaction, et souvent un ensemble de ces instances sera présent pendant la durée représentée par le Séquence de diagramme . Ces blocs seront positionnés dans une rangée en haut du diagramme . Il est cependant possible que des Blocs soient créés et détruits pendant la séquence du diagramme . Par exemple, un Bloc particulier peut n'être nécessaire que pendant une courte période et peut donc être instancié, remplir sa fonction, puis être détruit. Enterprise Architect permet à un ingénieur de spécifier qu'un message est un message de création , ce qui signifie que le Bloc récepteur sera instancié à ce point dans la séquence temporelle du diagramme . Ceci est réalisé en réglant l'action de message Cycle de vie sur « Nouveau », comme indiqué dans cette illustration.
La définition de cette propriété a pour effet de déplacer le Bloc ciblé vers une position inférieure dans le diagramme , ce qui signifie que l'instance de Bloc ne sera pas créée avant ce point dans la séquence temporelle globale du diagramme . Le style de la ligne de message est également modifié en une ligne en pointillés avec une pointe de flèche ouverte pour indiquer qu'il s'agit d'un message Créer . D'autres aspects de la sémantique et de l'effet de ce message sont inchangés.
De manière analogue, la durée de vie d'une instance peut être terminée en envoyant un message Destroy . Concrètement, cela signifie que l'instance a atteint son objectif et n'est plus nécessaire. Cela peut être réalisé facilement en définissant à nouveau une propriété de message, mais cette fois, nous définissons l'action de message Cycle de vie sur « Supprimer ».
La définition de cette propriété a pour effet de mettre fin immédiatement à la durée de vie de l'instance ; ceci est représenté visuellement par la ligne de vie en pointillés arrêtée par une petite croix sur la ligne de vie au moment où le message arrive.
Séquence diagramme de séquence représente un système logiciel dont la mémoire disponible est limitée, la destruction de l'instance ciblée entraînera le retour de la mémoire alloué au pool de mémoire. Dans l'ingénierie des systèmes, il peut y avoir une variété d'autres avantages de la gestion de la durée de vie des objets électromécaniques, tels que la consommation d'énergie, la surchauffe, la disponibilité ou même des risques tels que la sécurité.
Messages synchrones et asynchrones
Les messages représentent essentiellement l'envoi d'un certain type de demande d'un expéditeur à un destinataire. L'expéditeur d'un message peut interagir avec le destinataire de deux manières fondamentales. Le premier type de message est appelé message synchrone car les messages se produisent approximativement au même moment. Avec ce type de message, l'expéditeur attend que le destinataire réponde avant d'envoyer des messages supplémentaires. Le deuxième type de message est appelé Asynchrone car l'expéditeur n'attend pas de réponse du destinataire avant de poursuivre l'exécution, y compris l'envoi de messages supplémentaires à ce destinataire ou à d'autres.
Enterprise Architect crée par défaut des messages synchrones, mais le type de message peut être modifié en définissant la propriété 'Type de synchronisation' dans la boîte de dialogue ' Propriétés '. Lorsque le type de message est défini sur Synchrone (par défaut), cela définit le style de ligne sur solide avec une tête de flèche fermée pointant vers l'instance destinataire. La ligne peut être annotée avec le nom et les paramètres du message.
Les messages asynchrones représentent des appels à des opérations ou des signaux envoyés aux destinataires ; dans les deux cas, l'expéditeur n'attend pas de réponse et n'interrompt pas son exécution dans l'attente d'une réponse. Dans le cas de l'appel à une opération, l'opération elle-même serait définie comme asynchrone et le système ou la machine représenté par le diagramme sauraient ne pas attendre un retour de message (réponse). Enterprise Architect permet de définir ce type de message via la propriété 'Synch' comme expliqué précédemment. Lorsque le type de message est défini sur Asynchrone, cela définit le style de ligne sur pointillé avec une tête de flèche ouverte pointant vers l'instance du destinataire. La ligne peut être annotée avec le nom et les paramètres du message.
Il existe un troisième type de message qui peut éventuellement être utilisé avec un message synchrone, il s'agit du message de réponse . Ce message signifie qu'une opération a été invoquée sur le destinataire renvoyant un accusé de réception indiquant que le comportement a été exécuté et qu'il est terminé. L'inclusion de messages de réponse dans un diagramme est une décision stylistique. Certains ingénieurs et modélisateurs préfèrent les laisser en dehors des diagrammes pour réduire l'encombrement visuel. Si un type et une valeur de retour ont été définis, ils seront renvoyés dans le cadre du message de réponse.
Les blocs peuvent avoir à la fois des opérations et des réceptions spécifiées dans le cadre de leur définition ; ce paradigme décrit la relation entre les opérations et les réceptions et les messages et signaux.
- Invocation synchrone de l'opération - Message synchrone
- Invocation asynchrone de l'opération - Message asynchrone
- Réception Réception du signal - Message asynchrone