Mensagens

Nos diagramas de seqüência, uma mensagem é um elemento de modelo que define um tipo específico de comunicação entre participantes de uma interação. Uma mensagem transporta informações de um participante, que é representado por uma linha de vida, para outro participante em uma interação.

Uma mensagem especifica o emissor e o receptor, e define o tipo de comunicação que a ocorrência de execução faz dispatch entre linhas de vida. Por exemplo, uma comunicação pode chamar uma operação utilizando synchCall ou asynchCall, lançar um sinal utilizando asynchSignal e criar ou destruir um participante.

Os diagramas de seqüência podem ter três tipos de mensagens:

Uma mensagem representa uma chamada de operação ou o envio e o recebimento de um sinal. Quando uma mensagem representa uma operação, os argumentos da mensagem são os argumentos de CallAction na linha de vida que envia e os argumentos de CallEvent na linha de vida que recebe. Quando uma mensagem representa um sinal, os argumentos da mensagem são os argumentos de SendAction na linha de vida que envia e os argumentos estão disponíveis em SignalEvent na linha de vida que recebe. Se a mensagem for uma chamada síncrona, normalmente ocorre uma mensagem de retorno a partir da linha de vida chamada para a linha de vida que a chamou antes que esta possa prosseguir.

Como a figura a seguir ilustra, uma mensagem é exibida em um quadro de interação como uma linha com uma seta que aponta na direção em que a mensagem é enviada; a partir da extremidade da mensagem enviada para a extremidade da mensagem recebida.

Um quadro de interação mostra uma linha de vida de origem e de destino. Uma mensagem de criação se estende pelas linhas de vida de origem e destino, seguida por uma mensagem síncrona, uma mensagem assíncrona e uma mensagem de destruição.

A mensagem enviada pela linha de vida de origem para a linha de vida de destino representa uma operação que esta executa. É possível nomear e ordenar mensagens. A aparência da linha ou da cabeça de seta reflete as propriedades da mensagem.

Gráfico Descrição Representação
Uma linha com uma cabeça de seta sólida aponta para a direita. Uma linha com uma cabeça de seta sólida que aponta em direção à linha de vida receptora Uma operação de chamada síncrona na qual o sistema aguarda a conclusão do fluxo de controle antes de continuar com o fluxo externo
Uma linha com uma seta aberta aponta para a direita. Uma linha com uma cabeça de seta aberta Um sinal assíncrono ou uma chamada assíncrona na qual o objeto de origem envia a mensagem e imediatamente continua com a próxima etapa
Uma linha tracejada com uma cabeça de seta sólida aponta para a esquerda. Uma linha tracejada com uma cabeça de seta sólida que aponta em direção à linha de vida originadora Uma mensagem de retorno de uma chamada para um procedimento. Ao criar uma mensagem síncrona, uma mensagem de retorno é criada por padrão; é possível alterar esse padrão na janela Preferências
É possível utilizar dois outros tipos de mensagens nos diagramas de seqüência:

É possível identificar as mensagens por um nome ou por uma assinatura de operação.

Tipo Exemplo Descrição
Nome \Obter a Senha\ Um nome identifica apenas o nome da mensagem. Normalmente são utilizados nomes simples em diagramas desenvolvidos durante a fase de análise porque as mensagens são identificadas por suas responsabilidades, não por suas operações. Uma convenção coloca o nome entre barras invertidas (\\) para indicar que o nome da mensagem não está associado a uma operação. Quando uma operação está associada a uma mensagem, o nome da operação substitui o nome.
Assinatura getPassword Quando uma operação é designada a uma mensagem, é possível exibir a assinatura da operação para identificar o nome da operação. Normalmente, as assinaturas são utilizadas em diagramas desenvolvidos durante a fase de design porque elas fornecem o detalhe que os desenvolvedores precisam ao codificar o design.

Manipulação de Mensagens Assíncronas

Uma mensagem assíncrona é o único tipo de mensagem no qual é possível mover individualmente o ponto de envio e o ponto de recebimento da mensagem. Você pode mover os pontos de uma mensagem assíncrona entre linhas de vida para manipular o retardo de tempo entre o evento de envio e o evento de recebimento; o resultado é chamado de mensagem desviada.

Como a figura a seguir ilustra, uma mensagem desviada é exibida como uma linha com uma seta aberta que possui múltiplas interações que ocorrem entre as linhas de vida de envio e recebimento.

Um quadro de interação mostra uma linha de vida de origem e de destino. Uma mensagem de criação se estende pelas linhas de vida de origem e destino, seguida por uma mensagem assíncrona que inicia na linha de vida de origem e cruza verticalmente duas mensagens síncronas. A mensagem termina na linha de vida de destino acima de uma mensagem de destruição.

O evento de envio não é bloqueado e as interações podem ocorrer entre o ponto na linha de vida de envio e o ponto na linha de vida de recebimento.

Tarefas relacionadas
Criando Mensagens em Diagramas de Seqüência
Incluindo Mensagens Síncronas e Assíncronas
Incluindo Mensagens de Criação e Destruição
Retardando o Recebimento de Mensagens Assíncronas
Movendo Mensagens Síncronas
Reordenando Mensagens
Excluindo Mensagens
Reconectando Mensagens
Designando Operações a Mensagens
Customizing the message signature settings for UML sequence diagrams
Showing operation and message signatures in UML sequence diagrams
Termos de Utilização | Feedback
(C) Copyright IBM Corporation 2004, 2005. Todos os Direitos Reservados.