Mensagens

Uma mensagem é um elemento do diagrama de seqüência UML (Unified Modeling Language) 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.

É exibida uma mensagem do diagrama de seqüência.

A mensagem que a linha ativa de origem envia para a linha de origem de destino representa uma operação ou um sinal que a linha ativa 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
É exibida uma mensagem síncrona do diagrama de seqüência. Uma linha com uma cabeça de seta sólida que aponta em direção à linha ativa 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.
É exibida uma mensagem assíncrona do diagrama de seqüência. 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.
É exibida uma mensagem de retorno do diagrama de seqüência. Uma linha tracejada com uma cabeça de seta sólida que aponta em direção à linha ativa 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.

É exibida uma mensagem desviada do diagrama de seqüência.

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

Tarefas relacionadas
Desenvolvendo Mensagens
Criando Mensagens Síncronas ou Assíncronas
Incluindo Mensagens de Criação ou Destruição em Linhas de Vida
Excluindo Mensagens
Termos de Utilização | Feedback
(C) Copyright IBM Corporation 2004, 2005. Todos os Direitos Reservados.