Finalidade

Este mentor de ferramentas descreve os componentes de objetos ativos e explica como projetar com objetos ativos no Rational Rose RealTime.

Informações relacionadas no Rational Unified Process: Atividade: Design de Cápsula.

Visão Geral

Um objeto ativo consiste em cápsulas com protocolos e portas.

As cápsulas são objetos altamente encapsulados que usam comunicação baseada em mensagens com outras cápsulas através de seus objetos de porta. As cápsulas podem agregar outras cápsulas. Uma estrutura de cápsulas pode conter outras cápsulas, que são papéis de cápsula.

O conjunto de mensagens trocadas entre os dois objetos se adapta a um padrão de comunicação chamado protocolo. Trata-se basicamente de um contrato que define os tipos válidos de mensagens que podem ser trocados entre os participantes do protocolo.

Um diagrama de estados é um modo de definir o comportamento dos objetos. Ele mostra a seqüência de estados pelos quais passa um objeto ou uma interação durante sua vida em resposta a mensagens recebidas, juntamente com suas respostas e ações.

Passos na Ferramenta

Para projetar os objetos ativos no Rational Rose RealTime, é necessário:
  1. Criar um papel de cápsula
  2. Criar portas e vinculá-las a protocolos
  3. Definir uma máquina de estado de cápsula
  4. Definir estados e subestados
  5. Definir transições de estados
  6. Definir atributos nas classes

1. Criar um papel de cápsula Início da página

As cápsulas são criadas na Visão Lógica do navegador de modelos.
  1. Selecione a ferramenta Capsule Role na caixa de ferramentas. 
  2. Coloque o cursor no lugar onde será colocado o papel de cápsula e clique com o botão esquerdo do mouse. 
  3. Na lista suspensa, selecione a cápsula associada ao novo papel de cápsula. 
  4. Dê um nome adequado ao papel de cápsula. 
  5. Repita os passos acima para cada papel de cápsula a ser criado.

2. Criar portas e vinculá-las a protocolos Início da página

  1. Localize a cápsula no navegador de modelo ou em um diagrama de classes. 
  2. Expanda os elementos abaixo da cápsula no navegador ou clique com o botão direito do mouse em um diagrama de classes para abrir o diagrama de estrutura da cápsula. 
  3. Use a ferramenta Port na caixa de ferramentas para colocar uma porta no diagrama de estrutura de cápsulas. A porta pode ser colocada na borda da cápsula ou dentro da grande área retangular. 
  4. Defina o nome da porta. 
  5. Selecione um protocolo na lista ou crie um novo nome. 
  6. Clique com o botão direito do mouse na porta para selecionar a caixa de diálogo Port Specification. 
  7. Use a caixa de diálogo Port Specification para mudar o protocolo, para selecionar se a porta possui cabo ou não, e para definir se a porta é conjugada.

3. Definir uma máquina de estado de cápsula Início da página

  1. Localize a cápsula no navegador de modelo ou em um diagrama de classes. 
  2. Expanda os elementos abaixo da cápsula no navegador ou clique com o botão direito do mouse em um diagrama de classes para abrir o diagrama de estados da cápsula. 
  3. Use a caixa de ferramentas State Diagram para colocar os estados e as transições no diagrama de estados.

4. Definir estados e subsestados  Início da página

  1. Localize a cápsula cujo comportamento está sendo atualizado. As cápsulas podem ser encontradas no navegador de modelo ou em um diagrama de classes. 
  2. Clique com o botão direito do mouse na cápsula para abrir o State Diagram. Isso abrirá o diagrama em um State Diagram Editor. 
  3. Use a ferramenta State na caixa de ferramentas para colocar um novo estado no diagrama. Faça isso para cada estado que desejar criar. 
  4. Dê a cada estado um nome adequado. 
  5. Clique duas vezes em um estado que terá subestados. Isso mostrará um novo diagrama de estados ao qual você poderá adicionar subestados. 
  6. Use a guia na parte inferior da janela para escolher o nível de estado para o qual deseje voltar.

Observação: Você também pode adicionar estados através da área Navigator do State Diagram Editor.

5. Definir transições de estados Início da página

Adicione a transição inicial

  1. Clique no ponto inicial do diagrama e arraste a transição da parte superior do estado-alvo. O ponto inicial é o círculo preto que aparece no canto superior esquerdo do diagrama. 
  2. Dê um nome adequado à transição, caso não use o padrão. A transição inicial tem o nome padrão Initial. É possível mudar o nome selecionando o rótulo e digitando nele. A transição inicial será disparada automaticamente no tempo de execução quando uma instância de cápsula for criada. Qualquer código de ação associado com a transição inicial será executado assim que a instância de cápsula for criada.

Adicione transições

  1. Selecione a ferramenta de transição na caixa de ferramentas e desenhe uma transição partindo do estado de origem para o estado-alvo. 
  2. Dê um nome adequado à transição, ou aceite o padrão. 

Adicione código detalhado às máquinas de estado

Os códigos C, C++ ou Java podem ser adicionados como ações em transições, pontos de opção e entrada ou saída de estado nos diagramas de estados de cápsulas para serem executados em tempo de execução. Somente o código adicionado aos diagramas de estados de cápsula será incluído no código integrado do modelo. Ações detalhadas no protocolo ou em diagramas de estados de classes de dados não serão incluídas no código gerado para aquelas classes.

Adicione triggers

Para que um trigger possa ser definido para uma transição, a porta na qual o trigger será recebido deve ter sido previamente definida.

  1. Clique duas vezes na transição para abrir a caixa de diálogo Transition Specification. 
  2. Selecione a guia Trigger
  3. Com o cursor sobre a área da lista de portas, clique com o botão direito do mouse e selecione Insert no menu. 
  4. Na área Port, selecione a porta que receberá o trigger. 
  5. Na área Signal, selecione o sinal da porta que causará o evento disparador. 
  6. Clique nos botões OK para fechar as caixas de diálogos abertas.

Adicione código à transição

Agora que você tem todos os elementos necessários em seus lugares (estado inicial, transição inicial e portas), adicione código detalhado à transição inicial, bem como às transições de estados. O código detalhado será executado quando a transição inicial for executada no tempo de execução do modelo, ou quando um trigger for recebido no estado para transição de estados. 

  1. Clique duas vezes na transição para abrir a caixa de diálogo Transition Specification. 
  2. Selecione a guia Actions para exibir a janela de código. 
  3. Adicione o código que será executado na transição. 
  4. Selecione o botão OK para fechar a caixa de diálogo aberta. 

Observação: Não é necessário incluir chaves de abertura e fechamento '{`, `}'. Elas são adicionadas automaticamente pelo gerador de código.

6. Definir atributos nas classes Início da página

  1. Abra a caixa de diálogo Capsule Specification clicando duas vezes na cápsula no navegador, ou selecionando a cápsula de um diagrama e selecionando Open Specification no menu contextual. 
  2. Selecione a guia Attributes em Capsule Specification. 
  3. Com o cursor sobre a área aberta da guia, clique com o botão direito do mouse e selecione Insert
  4. Mude o nome de NewAttribute1 para algo mais significativo e pressione ENTER. 
  5. Clique duas vezes no novo atributo para exibir a caixa de diálogo Attribute Specification. 
  6. Use a caixa de diálogo Attribute Specification para definir o tipo de atributo e o valor inicial.

Copyright  (c) 1987 - 2001 Rational Software Corporation


Exibir o Rational Unified Process usando quadros

Rational Unified Process