1 / 18

Projetar Cápsulas

Projetar Cápsulas. Aula de Laboratório. Diagrama de Estados. Revisão. Maquina de Estados. Maquinas de estados são utilizadas para: Indicar qual será o comportamento dos objetos de acordo com o seu estado. Indicar sequência de ações válidas. construtor. Maquina de Estados De um Banco.

bishop
Download Presentation

Projetar Cápsulas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Projetar Cápsulas Aula de Laboratório

  2. Diagrama de Estados Revisão

  3. Maquina de Estados • Maquinas de estados são utilizadas para: • Indicar qual será o comportamento dos objetos de acordo com o seu estado. • Indicar sequência de ações válidas. construtor Maquina de Estados De um Banco Saldo = 0 crédito debito Saldo > 0 crédito debito

  4. Noções básicas • Estado • Pode indicar a uma possível seqüência de eventos até o momento • Variáveis são consideradas estados também • Eventos • Métodos ou mensagens solicitando serviços • notificando uma informação • Transição • Ativado por um evento • Evento[guarda] / ação

  5. Transição Notação estado1 estado2 • O nome da transição deverá ser significativo • Explicar claramente o evento relacionado e a ação • O nome não poderá possuir caracteres especiais • Notação para explicar a transição • Evento[guarda] / ação Sem evento associado à transição e sem ação estado1 estado2 Com evento associado à transição e sem ação estado1 estado2 Com evento associado à transição e com ação

  6. Diagramas de EstadosNotação super-estado • Principais elementos transicão de origem externa Estado história H transicão inicial sub-estado estado sub-estado transicão auto-transicão estado transicão final

  7. Diagrama de EstadosEstados história • Permitem continuidade na execução de máquinas de estados internas a super-estados • Exemplo: • ... • t1 • estado1 • t2 • estado2 • t3 • estado3 • t6 • estado3.1 • t4 • estado3.1 • t7 • estado3.2 • t4 • estado3.2 • ... estado história H t5 t6 t1 estado1 estado3.1 estado3 t7 t2 t3 t4 estado2 estado3.2 t8

  8. Diagrama de Estrutura Revisão

  9. Diagrama de EstruturaNotação • Elementos • Instâncias de Cápsulas • Portas • Conexões Porta Porta Instancia_A Instancia_B conexão

  10. Diagrama de EstruturaTipos de Portas • Conjugada • Porta em que a definição dos sinais de entrada e saída é trocada. • End Port • Porta que direciona os sinais que passam por ela diretamente para o statechart da cápsula • Relay Port • Porta que permite a comunicação de cápsulas externas diretamente com as subcápsulas. Obs.:Podem existir portas com serviços especiais (ex.: timer, log, frame). [Non-wired port]

  11. Diagrama de EstruturaPortas Relay Port public Simboliza maq. estado End Port protected Porta conjugada Instancia_B Instancia_A Instancia_C

  12. Exercício Produtor/Consumidor • Produzir: • Criar Diagrama de Classes • Cápsulas Produtor e Consumidor • Protocolo de Comunicação • Criar Diagrama de Estados • De cada uma das cápsulas, com seus estados e transições • Criar Diagrama de Estrutura • Com a conexão entre as cápsulas

  13. Exemplo: Produtor-Consumidor Produtor Consumidor produz(): Q consome(q: Q) Comunicacao #/ timer +/ porta +/ porta~ incoming outgoing envia(Q ) Produtor Consumidor transicão inicial transicão inicial interrupcao/ produz(); porta.envia.send(); envio/ consome(); Produzindo Esperando

  14. Diagrama de EstruturaExemplo: Produtor Consumidor Produtor Consumidor timer porta porta~

  15. Diagrama de Estrutura • Crie uma cápsula Container com todo o seu projeto • Todo sistema deverá ter uma cápsula principal, por onde começa seu fluxo de execução

  16. Gerando códigoConfigure o tipo de projeto • Crie um novo componente na visão de componentes e abra sua especificação • Na aba General mude o tipo de componente para RT Java Project • Clique no botão Apply para aplicar a nova configuração • Na aba References, adicione todos os pacotes necessários para compilação do projeto, no nosso caso, somente o pacote modem. • Na aba RT Java Project: • Selecione a opção Build Jar • Modifique as opções GenerateCommand, CompileCommand e CleanAllCommand, substituindo $defaultMake por gmake • Selecione Gnu_make na opção MakeType • Finalize clicando no botão OK

  17. Executando o projeto • Crie um novo processador na visão de implantação e abra sua especificação • Arraste o componente criado para o campo Component Instances na aba Detail • Clique duas vezes na instancia criada para abrir sua especificação • Na aba Detail, modifique o campo Parameters acrescentando os seguintes parâmetros no começo da linha: • -java com.rational.rosert.DebugApplication Main • Clique no botão Ok das janelas abertas para confirmar e fechar • Clique com o botão direito na instancia do processo criado e selecione a opção Run • Clique na seta de Play.

  18. Gerando códigocriando dependências e compilando • Clique duas vezes no componente Main para abrir seu diagrama • Arraste o novo componente para o diagrama aberto • Arraste o componente classes dentro do pacote rosert da visão de componentes • Crie uma associação entre o novo componente e o componente classes • Clique com o botão direito do mouse no componente criado e selecione a opção Build e Build novamente no submenu • Clique no botão OK • Retire eventuais erros de compilação do projeto

More Related