Projetar Processos
Durante a identificação de elementos de
projeto podem ser encontrados objetos
ativos (cápsulas) para se representar threads
- Em tese cada um deveria possuir sua própria
thread
Este mapeamento pode depender de
requisitos de tempo de resposta, devido ao:
- Overhead em mudanças de contexto
- Sobrecarga sobre recursos
Qualiti Software Processes
Projetar distribuição | 2
Copyright © 2002 Qualiti. Todos os direitos reservados.
Descrição do
Projeto Processos
Análise de requisitos de
concorrência
- Grau em que o sistema precisa ser distribuído
- Computação intensiva de algoritmos chaves
- Grau de paralelismo suportado pelo ambiente
- Necessidade de tolerância a falha
- Padrões de recebimento de eventos externos
(Periódicos e Aperiódicos)
Qualiti Software Processes
Projetar distribuição | 3
Copyright © 2002 Qualiti. Todos os direitos reservados.
Requisitos de concorrência são guiados por:
Processos x Threads
- Unidades independentes (ponto de vista de SO)
- Mais estáveis
- Podem ser recuperados independentemente de
outros processos
Threads (processos leves)
- Possuem controle de concorrência aninhado a
-
outros processos/threads
São mais leves
Compartilham área de memória
Qualiti Software Processes
Projetar distribuição | 4
Copyright © 2002 Qualiti. Todos os direitos reservados.
Processos
Identificar Processos e Threads
- Objetos ativos (cápsulas) agrupados em uma
-
mesma thread podem ser bloqueados por
chamadas síncronas.
Separação de conceitos
Aproveitar a existência de múltiplas CPUs
Aumentar a utilização da CPU
Priorizar atividades
Aumentar a disponibilidade
Qualiti Software Processes
Projetar distribuição | 5
Copyright © 2002 Qualiti. Todos os direitos reservados.
Preocupações
Mapeamento de objetos ativos
a threads/processos
2.
3.
4.
5.
respondidos, e defina uma thread de controle em separada
para tratá-los;
A partir do modelo de projeto, agrupe classes, subsistemas
e cápsulas em conjuntos de elementos que:
• Possuem grande cooperação que entre si;
• precisam executar em uma mesma thread de controle.
Considere então o impacto de possíveis comunicações
entre processos;
Combine processos gerados até reduzir ao máximo o
número de processos que ainda precisem de distribuição e
usem recursos físicos, de forma que sejam suportados pelo
ambiente.
Identifique se as threads de controle devem se
transformar em processos ou threads.
Qualiti Software Processes
Projetar distribuição | 6
Copyright © 2002 Qualiti. Todos os direitos reservados.
1. Identifique estímulos externos que precisam ser
Documentar ciclo de vida do processo
Identificar meios de comunicação interprocessos
- RPCs, MailBox, Event Boradcast, ...
Alocação de recursos
- Compartilhamento, aumentar recursos, diminuir
sua necessidade, ...
Qualiti Software Processes
Projetar distribuição | 7
Copyright © 2002 Qualiti. Todos os direitos reservados.
Outras Ações ...
Em um sistema ATM (Automated Teller Machine),
eventos assíncronos podem oriundos de três
fontes:
- Usuário
- Do dispositivo ATM (abertura do caixa para troco)
- Rede ATM (requisição de shutdown pela rede)
Para lidar com estes eventos, serão definidos
três threads de execução com o próprio ATM
(usando classes ativas – cápsulas).
Qualiti Software Processes
Projetar distribuição | 8
Copyright © 2002 Qualiti. Todos os direitos reservados.
Exemplo de um
diagrama de Processos
Exemplo de um
diagrama de Processos
Copyright © 2002 Qualiti. Todos os direitos reservados.
Pode ser construido através do diagrama de
componentes
Fonte:
Rational Unified Process
Version 2003.06.01.04
Qualiti Software Processes
Projetar distribuição | 9
Projetar Distribuição
Descrever como o sistema está organizado
nos seus nós físicos (sistemas distribuídos)
- Definir a configuração da rede
- Alocar processos aos nós
Trabalhar na Visão de Implantação ou
Distribuição (Deployment)
Qualiti Software Processes
Projetar distribuição | 11
Copyright © 2002 Qualiti. Todos os direitos reservados.
Descrever distribuição
Reduzir carga de processador
Requisitos especiais de processamento
Prover acesso distribuído ao sistema
Economia
- Ex.: Grid computer
Escalabilidade
- Ex.: Balanceamento de Carga
Confiabilidade
- Ex.: Tolerancia a Falhas
Qualiti Software Processes
Projetar distribuição | 12
Copyright © 2002 Qualiti. Todos os direitos reservados.
Motivação para distribuição do
sistema
Diagrama de implantação:
Elemento - Nó
- Def.: recurso computacional físico
Pode ser de dois tipos
- processador
- dispositivo
<<Node>>
<<Processor>>
Processador A
Lista de processos
que executam no
Processador A
<<Device>>
Dispositivo B
Processo C
Processo D
Qualiti Software Processes
Projetar distribuição | 13
Copyright © 2002 Qualiti. Todos os direitos reservados.
Nó
Conexões entre nós
identificam:
- mecanismo de comunicação
-
(tecnologia utilizada)
meio físico utilizado
protocolo de software
<<Processor>>
Processador A
Conexão
<<Device>>
Dispositivo B
Qualiti Software Processes
Projetar distribuição | 14
Copyright © 2002 Qualiti. Todos os direitos reservados.
Diagrama de implantação:
Elemento - Conexão entre nós
Máquinas dos usuários finais
Máquinas servidoras
Processadores especializados
Máquinas com configuração especial
- desenvolvimento
- testes
Qualiti Software Processes
Projetar distribuição | 15
Copyright © 2002 Qualiti. Todos os direitos reservados.
Tipos de processadores
De acordo com a configuração da rede, os
processos do sistema são alocados aos nós
levando em consideração:
- Capacidade do nó
- Largura de banda do meio de comunicação
- Disponibilidade de hardware e links de
-
comunicação
Requisitos de redundância e tolerância a falhas
Requisitos de tempo de resposta
Qualiti Software Processes
Projetar distribuição | 16
Copyright © 2002 Qualiti. Todos os direitos reservados.
Alocar processos a nós
QIB – Diagrama de distribuição
Cliente
Copyright © 2002 Qualiti. Todos os direitos reservados.
Diagrama de distribuição (visão parcial)
Cliente
Browser
Browser
Internet (HTTPS)
Internet (HTTPS)
Servidor
Web
Servidor Apache
...
...
Qualiti Software Processes
Projetar distribuição | 17
Exercício (opcional) – Qualiti Internet
Banking
- artefatos de requisitos
- modelo de análise e projeto
Produzir:
- Diagrama de processos (opcional)
- Diagrama de distribuição do QIB, descrevendo a
configuração de rede do sistema (nós e suas
conexões)
Qualiti Software Processes
Projetar distribuição | 18
Copyright © 2002 Qualiti. Todos os direitos reservados.
Dado:
Projetar Distribuição
Download

projetoDistribuicaoRT_rtr