Mensagens

Uma mensagem é um elemento do diagrama de seqüência UML (Linguagem de Modelagem Unificada) que define um tipo específico de comunicação entre instâncias em uma interação. Uma mensagem transporta informações de uma instância, que é representada por uma linha de vida, para uma outra instância em uma interação.

Uma mensagem especifica o emissor e o receptor e define o tipo de comunicação que ocorre entre as 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 pode ter três tipos de mensagens:

Conforme ilustrado na figura a seguir, 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; ou seja, da extremidade da mensagem de envio para a extremidade da mensagem de 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 síncrona, uma mensagem assíncrona e uma mensagem de destruição.

A mensagem que a linha de vida de origem envia para a linha de origem de destino representa uma operação ou um sinal que a linha de vida implementa. É possível nomear e ordenar mensagens. A aparência da linha ou da cabeça de seta reflete as propriedades da mensagem. A tabela a seguir ilustra os gráficos que representam mensagens em diagramas de seqüência.

Gráfico Descrição Representação
Uma linha com uma ponta de seta sólida apontando para a direita. Uma linha com uma cabeça de seta sólida que aponta em direção à linha de vida receptora Este gráfico representa 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 ponta de seta aberta apontando para a direita. Uma linha com uma ponta de seta aberta Este gráfico representa um sinal assíncrono ou uma chamada assíncrona em que o objeto de origem envia a mensagem e continua imediatamente com a próxima etapa.
Uma linha tracejada com uma ponta de seta sólida apontando para a esquerda. Uma linha tracejada com uma cabeça de seta sólida que aponta em direção à linha de vida originadora Este gráfico representa uma mensagem de retorno de uma chamada para um procedimento. Quando você cria uma mensagem síncrona, uma mensagem de retorno é criada por padrão. Esse padrão pode ser alterado na janela Preferências.
É possível utilizar dois outros tipos de mensagens nos diagramas de seqüência:

Você pode identificar as mensagens, utilizando um nome ou uma assinatura de operação.

Tipo Exemplo Descrição
Nome \Obter a Senha\ Um nome identifica apenas o nome da mensagem. 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. Geralmente, as assinaturas são utilizadas em diagramas durante a fase de design porque fornecem os detalhes que os desenvolvedores precisam quando codificam o design.

Manipulação de Mensagens Assíncronas

Uma mensagem assíncrona é o único tipo de mensagem em que você pode mover individualmente seu ponto de envio e ponto de recebimento. 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.

Conceitos relacionados
Linhas de Vida
Tarefas relacionadas
Criando Mensagens Síncronas ou Assíncronas
Incluindo Mensagens de Criação ou Destruição em Linhas de Vida
Designando Operações a Mensagens
Retardando o Recebimento de Mensagens Assíncronas
Customizando as Configurações Padrão para Mensagens em Diagramas de Seqüência UML
Mostrando Assinaturas de Operação e Mensagem em Diagramas de Seqüência UML
Termos de Utilização | Feedback
(C) Copyright IBM Corporation 2004, 2005. Todos os Direitos Reservados.