Agradeço aos meus pais, Adevaldo e Alzira, e à minha irmã Jaqueline por me apoiarem em todos os momentos que precisei e em todas as decisões que tomei. Agradeço também aos meus tios e tias que sempre me trataram como um menino e me ajudaram em diversos momentos. Em primeiro lugar, quero agradecer aos meus pais, Carlos e Fumiko, pelo apoio que recebo todos os dias, tanto nos momentos felizes como nos difíceis.
INTRODUÇÃO
- C ONSIDERAÇÕES I NICIAIS
- M OTIVAÇÃO E E SCOPO
- O BJETIVO E M ETODOLOGIA
- O RGANIZAÇÃO DA M ONOGRAFIA
No entanto, este projeto abordará a construção de um protótipo para a interface icônica do simulador e a renderização de protótipos de modelos simuláveis, modelos icônicos e modelos SimGrid. Especificação, implementação e teste de protótipos para interpretadores de modelos internos (modelo simulável e modelo de sistema); Implementação do protótipo de interpretadores de modelo interno (modelo simulável e modelo de sistema), realizado por Aldo;.
REVISÃO BIBLIOGRÁFICA
- C ONSIDERAÇÕES I NICIAIS
- S IMULADORES DE G RADES C OMPUTACIONAIS
- SimGrid
- Bricks
- OptorSim
- GridSim
- R EDES DE F ILAS
- P ROJETO DE I NTERFACE
- Interação Humano-Computador
- Engenharia Cognitiva
- Características Para um Projeto de Interface
- C ONSIDERAÇÕES F INAIS
A Figura 2.4 mostra o arquivo que implementa a simulação, ou seja, implementa as funções específicas do SimGrid que fazem a simulação rodar. Uma central de atendimento é composta por um ou mais servidores que prestam serviços aos usuários, e uma fila de usuários esperando para serem atendidos quando a capacidade da central de atendimento é esgotada [Soares, (1992)]. A Figura 2.9 mostra duas lacunas que identificam cada passo seguido pelo usuário ao interagir com o sistema.
ATIVIDADES REALIZADAS
C ONSIDERAÇÕES I NICIAIS
E SPECIFICAÇÃO DAS G RAMÁTICAS P ARA M ODELOS S IMULÁVEIS
- Gramática Regular
- Gramática Livre de Contexto
O modelo de carga é representado pela palavra reservada MÁQUINA e recebe como parâmetros o número de tarefas (
Eles são, respectivamente:
O
E SPECIFICAÇÃO DAS G RAMÁTICAS P ARA M ODELOS I CÔNICOS
- Gramática Regular
- Gramática Livre de Contexto
Números inteiros e reais, identificadores, tipos de ícones e parâmetros de cada um foram definidos em uma gramática livre de contexto para o modelo icônico. Para o ícone "servidor" (
O ícone "conexão" possui um identificador, largura de banda, latência, taxa de ocupação e as duas máquinas conectadas à conexão (ponto a ponto). O ícone "internet" (
A carga do tipo máquina possui o identificador do mestre que recebe a carga de trabalho, o número de tarefas, o tamanho máximo e mínimo da tarefa e a carga de comunicação e a forma de distribuição da carga de trabalho. A carga aleatória gera uma carga aleatória e seus parâmetros são: capacidade mínima, média e máxima de processamento, taxa de probabilidade de processamento, capacidade mínima, média e máxima de comunicação, taxa de probabilidade de comunicação e tempo de chegada.
E SPECIFICAÇÃO DAS G RAMÁTICAS P ARA M ODELOS S IM G RID
- Gramática Regular
- Gramática Livre de Contexto
P ROTOTIPAÇÃO DOS I NTERPRETADORES
- Prototipação do Interpretador de Modelos Simuláveis
- Prototipação do Interpretador de Modelos Icônicos
- Prototipação do Interpretador de Modelos SimGrid
Para realizar a interpretação do modelo simulado para gerar os dados para realizar a simulação, o interpretador lê o arquivo de especificação do modelo simulado e adiciona os centros de serviços diretamente a um objeto da classe RedeDeFilas, instanciado no início do reconhecimento. Os escravos de um servidor mestre são armazenados em uma lista de objetos na classe privada Escravos, e serão acessados posteriormente para serem incluídos no objeto da classe RedesDeFilas. Para realizar a interpretação do modelo icônico para o modelo simulado, o parser lê o arquivo de especificação do modelo icônico e armazena os dados em um objeto que é uma coleção do tipo HashSet da classe DescreveIconesPrivado.
Para cada entrada das palavras-chave MAQ, REDE, CLUSTER e INET, é criada uma nova instância da classe DescribePrivateIcon, para a qual são passados todos os atributos necessários inseridos pelo usuário para a simulação. Se não houver erros nos processos de reconhecimento e validação do modelo icônico, a resposta é retornada ao usuário indicando que o modelo foi reconhecido. A master class é uma subclasse da server class e armazena a lista de escravos para cada master (slaves), o número de tarefas (numtasks), valores máximos e mínimos para tamanho da tarefa (maxcomp e mincomp) e comunicação (maxcomm e mincomp). mincomm ) para ser usado por cada mestre.
A classe Route é uma subclasse da classe Network e armazena um contador para distinguir links com os mesmos identificadores (net), origem (src) e destino (dst) de cada link. O método interpret(File file1, File file2) usa os arquivos application_file.xml e platform_file.xml como entrada e chama o método getInstance() da classe SimGrid. O método getInstance() serve para criar um objeto SimGrid, caso seja o primeiro modelo a ser interpretado desde a execução do simulador, ou para retornar o objeto da classe SimGrid existente.
Em seguida, o método ReInit(application_file) é chamado por meio do objeto da classe SimGrid para reinicializar o analisador se esta for a segunda interpretação e chama o método model() para executar o analisador.
P ROTOTIPAÇÃO DA I NTERFACE I CÔNICA
- Casos de Uso
- Atividades do Sistema
- Estrutura da Interface
- Configuração dos Ícones
A ação de adicionar um ícone inclui a ação do usuário de selecionar um ícone por meio dos botões de ícone exibidos e clicar em uma posição na tela de desenho para que o ícone seja inserido na posição selecionada pelo usuário. Cada alteração feita pelo usuário na tela de desenho a redesenha para que as alterações e os ícones fiquem visíveis. A interface possui áreas bem definidas com funções bem definidas para que o usuário possa aproveitar melhor as funcionalidades do sistema.
A área lateral esquerda da Figura 3.9, chamada de Configurações, é uma área onde todas as configurações de um determinado ícone podem ser visualizadas quando ele é selecionado. Além disso, foi inserida uma área de notificação para o usuário para que ele saiba tudo sobre o que está acontecendo na interface, essa área é chamada de Notificações e está ilustrada na parte inferior da interface na Figura 3.9. Todas essas funções servem para que o usuário se sinta bem em usar o sistema e tenha sucesso ao utilizá-lo.
Para inserir o ícone no desenho, um objeto da classe Icon é criado e este objeto é inserido em uma estrutura chamada HashSet. Os ícones organizados na prancheta podem ser movidos em qualquer direção com o mouse. Essas classes herdam as propriedades da classe JDialog para que uma nova janela possa ser aberta.
A Figura 3.12 mostra as janelas de configuração de cada ícone, demonstrando os parâmetros atribuídos a cada item.
C ONSIDERAÇÕES F INAIS
TESTES
- C ONSIDERAÇÕES I NICIAIS
- E XEMPLOS DE C ONVERSÕES DE M ODELO S IM G RID PARA M ODELO I CÔNICO
- Exemplo de Conversão 1
- Exemplo de Conversão 2
- Exemplo de Conversão com Erros
- U SO DA I NTERFACE I CÔNICA
- C ONSIDERAÇÕES F INAIS
Este último não será mostrado nesta monografia, uma vez que são utilizados algoritmos de escalonamento predefinidos (RoundRobin, WorkQueue, FPLTF, etc.) e, portanto, não é necessário que o protótipo do interpretador de modelos SimGrid interprete o arquivo escrito na linguagem C. Figura 4.2 mostra a plataforma de outro modelo de SimGrid transformada em um modelo icônico onde uma máquina mestre (gspd-fe) possui um poder computacional de 20000,0 Mflop/s, taxa de ocupação de 0% (servidor vazio) ex. A Figura 4.3 mostra mensagens de erro lexicais, sintáticas e semânticas correspondentes aos erros encontrados no modelo SimGrid importado.
Este arquivo de texto é lido pelo interpretador de modelos icônicos e converte toda a descrição do sistema para outro arquivo, que agora segue as definições especificadas na linguagem do modelo simulado. Este novo arquivo será lido pelo interpretador do modelo simulado e posteriormente convertido em um objeto da classe RedeDeFila, que será passado para o simulador executar a simulação. Como os arquivos de saída do interpretador de modelos icônicos e do interpretador de modelos simulados são gerados dentro do próprio sistema, nunca terão erros, pois a validação dos parâmetros de entrada fornecidos pelo usuário é realizada antes da interpretação dos modelos, ou seja, conforme assim que o usuário indicar ao sistema que já inseriu os parâmetros necessários.
A Figura 4.10 mostra uma mensagem de erro indicando que um número inteiro deve ser inserido. A Figura 4.11 exibe uma mensagem de erro indicando a maneira correta de inserir um número real. Nesta seção, alguns testes realizados com o SimGrid Model Interpreter foram mostrados usando exemplos de conversões de modelos SimGrid sem erros e modelos com erros lexicais, sintáticos e semânticos.
Os testes do interpretador de modelos icônicos e do interpretador de modelos simulados foram realizados juntamente com os testes da interface, uma vez que as validações dos modelos icônicos e dos modelos simulados são realizadas durante a entrada de parâmetros pelo usuário na interface icônica .
CONCLUSÕES
C ONTRIBUIÇÕES E D IFICULDADES E NCONTRADAS
C ONCLUSÕES
P ROPOSTAS P ARA T RABALHOS F UTUROS
Esta seção fornece exemplos de conversões de modelos SimGrid e modelos icônicos em formato de texto simples com referência aos exemplos descritos no Capítulo 4. Abaixo está o modelo gerado em formato de texto simples a partir do modelo icônico da Figura 4.1, que representa o modelo SimGrid descrito acima. Abaixo está o modelo gerado em formato de texto simples a partir do modelo icônico da Figura 4.2, que representa o modelo SimGrid descrito acima.
Nesta seção, é apresentado um exemplo de modelo simulado correspondente ao modelo do sistema no Apêndice B.