• Nenhum resultado encontrado

Neste capítulo foi descrita a arquitetura do Yasc. Por meio dela, pode-se observar que o gerador de simuladores é dividido em módulos, dentre os quais estão: a interface gráfica para descrição de elementos e descrição comportamental do simulador a ser criado, o gerador e interpretador de bibliotecas de configuração, a interface icônica gerada e o motor de simulação.

Além disso, foi apresentado como ocorreu o desenvolvimento de cada um de tais módulos e como foi feita adaptação do motor de simulação do iSPD, software do Grupo de Sistemas Paralelos e Distribuídos, para que este pudesse realizar a simulação de modelos de maneira genérica em todos os simuladores criados a partir do Yasc.

1989) com a implementação disponível no motor do Yasc, obtendo resultados satisfatórios. Foram executados testes com dois objetivos distintos. O primeiro consiste em analisar a eficácia de uso da ferramenta considerando críticas e sugestões para obter-se melhorias, como será exposto na seção 4.2. No segundo, busca-se validar o simulador gerado comparando-o com outro simulador, o NS-3, como será apresentado na seção 4.3. Serão feitas algumas considerações sobre os testes na seção 4.4.

4.2 Teste de usabilidade e o estudo de casos na área de redes de computadores

O teste de usabilidade permite avaliar sistemas interativos por meio da observação de usuários reais realizando tarefas pré-definidas. Com isto, avalia o grau de efetividade da interação e determina o nível de satisfação com que o sistema apoia as necessidades dos usuários (PRESSMAN,2011). Visando qualificar o grau de eficácia oferecido pelo Yasc, submeteu-se a ferramenta a tal teste, com estudo de casos na área de redes de computadores.

4.2.1 Procedimentos para a realização do teste

O teste realizado para validação do Yasc foi dividido em etapas. Na primeira etapa, foi realizado o cálculo do tamanho do espaço amostral para o teste e definido o perfil dos usuários que participariam dele. Na segunda etapa, foi elaborado um plano de testes, no qual foi definido que o avaliador deveria fazer uso da ferramenta de maneira a criar um simulador de redes de computadores. Este simulador gerado foi usado posteriormente para reproduzir um modelo específico com nós terminais, canais de comunicação e roteadores, e também um questionário com perguntas sobre a eficácia dosoftwareque estava sendo testado. Procedimento que além de mostrar como criar um exemplo completo de um ambiente de redes, permite também que possa-se obter noção de funcionamento do programa para a criação de uma nova ferramenta de simulação. Na terceira etapa, após já ter feito uso de todas as funcionalidades da ferramenta, o usuário respondeu o questionário elaborado na etapa anterior e disponibilizou o simulador gerado para testes futuros. Na quarta etapa, os dados obtidos por meio do questionários foram

amostral, ou seja, a quantidade de usuários necessária para a validação. Assim, a partir da expressão matemátican= (Z2∗p∗(1−p))/e2, retirada de (BUSSAB; MORETTIN,2013), em que:

• n = tamanho da amostra

• Z = nível de confiança escolhido

• p = proporção do evento na população, em que 0 ‹ p ‹ 1)

• (1-p) = complemento de p

• e = erro amostral

calculou-se tal quantidade. Para isto, utilizou-se erro amostral e nível de confiança iguais a 10% e p com o valor de 50% (valor utilizado quando não tem-se uma noção da proporção do evento), obtendo-se como resultado, que um total de pelo menos 68 usuários deveriam fazer uso da ferramenta com a finalidade de verificar sua usabilidade.

Além disso, determinou-se que, como a validação foi feita com um estudo de caso de redes de computadores, os avaliadores deviam ter conhecimentos mínimos sobre o assunto, ou seja, o funcionamento de tais redes.

Elaboração do plano de testes e questionário

Conhecendo-se o tamanho do espaço amostral e os tipos de conhecimento que os usuários deveriam ter, foi elaborado o plano de testes e também o questionário a ser respondido após o final do procedimento.

Com o plano de testes, cuja descrição completa encontra-se no Apêndice A, teve início o estudo de caso, utilizando assim o Yasc para a geração de um simulador de redes de computadores e simulação de um modelo de rede específica.

Como últimas ações do cronograma de testes, cada usuário teve que responder a um questionário apresentado no Apêndice B, no qual relata como foi sua experiência, e em sequência entregar o simulador de redes criado. Esse simulador foi utilizado na comparação de resultados com o NS-3, conforme será apresentado na seção 4.3.

Após realizadas todas as avaliações programadas para o teste de usabilidade, os resultados obtidos foram analisados e serão apresentados nesta seção.

O questionário respondido por cada usuário foi composto por sete questões objetivas, nas quais cada resposta representava um grau de concordância com o que era afirmado, podendo este grau ser:

1. Discordo totalmente 2. Discordo em boa parte 3. Nem concordo nem discordo 4. Concordo em boa parte 5. Concordo integralmente

Ainda havia duas questões discursivas, em que o usuário respondia sobre os aspectos positivos e negativos do uso da ferramenta.

A partir das questões objetivas foram gerados gráficos para análise da avaliação, como pode ser visto nas Figuras 24, 25, 26, 27, 28, 29e 30. Em todas elas pode-se observar qual foi o questionamento feito ao usuário, o qual aparece na parte de cima da figura, e as quantidades apresentadas para cada uma das cinco possíveis respostas.

Na figura 24, em que o questionamento feito foi "O Yasc é fácil de usar?", pode-se concluir que, apesar do Yasc ainda estar em sua primeira versão, obteve excelente qualificação com relação a sua facilidade de uso. Isto foi confirmado pelos 63.2% dos validadores que concordam em boa parte ou integralmente com a informação.

Na Figura 25, cujo questionamento era: "As informações na interface do Yasc estão bem organizadas?", 64.7% dos usuários responderam positivamente, concordando totalmente ou parcialmente com isso.

Na Figura 26, em que o questionamento feito foi: "A aparência das telas do Yasc é bastante clara?", 77.9% dos avaliadores confirmaram o que foi perguntado.

Figura 24 – Resultado obtido para a primeira questão objetiva apresentada no questionário

Figura 25 – Resultado obtido para a segunda questão objetiva apresentada no questionário

Figura 26 – Resultado obtido para a terceira questão objetiva apresentada no questionário

Figura 27 – Resultado obtido para a quarta questão objetiva apresentada no questionário Encerrando as questões relacionadas com as interfaces gráficas do Yasc, na Figura 28, foi perguntado: "As mensagens do sistema são claras?". Questão que recebeu 63.2% das avaliações sendo positivas.

Figura 28 – Resultado obtido para a quinta questão objetiva apresentada no questionário Desta forma, com as respostas das questões das Figuras 25, 26, 27 e 28, pode-se concluir que quanto a organização, clareza, nomenclatura e aparência, o Yasc foi eficaz e agradou os usuários.

Por fim, mais duas questões objetivas foram feitas. Na primeira, que aparece em 29, o enunciado foi: "No geral, a utilização do Yasc foi interessante?". Dentre as respostas, 88.4%

Figura 29 – Resultado obtido para a sexta questão objetiva apresentada no questionário Na segunda, que aparece em 30, foi perguntado: "O Yasc é uma ferramenta interessante para geração de simuladores?", e 88.2% dos validadores responderam positivamente também concordando completamente ou parcialmente com a questão.

Figura 30 – Resultado obtido para a sétima questão objetiva apresentada no questionário Com relação às questões discursivas, a primeira, "Aponte os pontos positivos que você encontrou ao utilizar o sistema", teve como propósito questionar os usuários sobre quais pontos positivos foram encontrados durante a utilização da ferramenta. Assim, diversas respostas foram obtidas, porém todas destacavam:

• A simplicidade do Yasc.

negativos encontrados. Dentre as respostas obtidas, estavam:

• Problemas na interface gráfica, como textos cortados ou que não tinham seu idioma modificado ao alterar-se a linguagem de inglês para português.

• A falta de uma opção para excluir objetos criados na etapa de geração do simulador e a necessidade de maiores explicações sobre o que cada opção proporciona ao ser selecionada.

• Sugestões de melhorias, como a adição de exemplos de simuladores ao Yasc e a confecção de um manual de uso.

Com base nos pontos negativos levantados pelos usuários, foram realizadas alterações na implementação da ferramenta, solucionando os problemas encontrados, principalmente os de interface gráfica, como ausência de maior detalhamento das opções disponíveis nas telas, e adicionando novas funcionalidades, como a possibilidade de exclusão de um objeto criado. Além disso, realizou-se o planejamento para que nas próximas versões do Yasc sejam disponibilizados, o manual confeccionado, encontrado no Apêndice C, e também exemplos para a criação de novos simuladores.

4.3 Validação e resultados produzidos pelos simuladores ge- rados

Finalizado o teste de usabilidade, obteve-se como produto 68 simuladores de redes de computadores gerados pelos usuários. Tais simuladores foram utilizados para dar continuidade ao procedimento de validação do Yasc, e foram empregados para realizar a simulação de modelos, também construídos em equivalência para outra ferramenta da área, o NS-3. Possibilitando deste modo, a extração e comparação de métricas.

Foram elaborados e testados dois modelos, discutidos nas seções 4.3.1e 4.3.2.

Figura 31 – Ambiente de redes de computadores do primeiro modelo testado

Nele, foram realizadas simulações com fluxos de 100.000, 200.000 e 400.000 pacotes, sendo que cada um destes possuía o tamanho de 1.000 bytes. Houve duas séries de testes, sendo que na primeira a capacidade das filas presentes nos elementos da rede era infinita, não acontecendo perdas de pacotes, e no segundo a capacidade para estas era de 30.000 pacotes por fila, ocorrendo perdas. As validações para este modelo foram realizadas nos 68 simuladores obtidos pelo teste de usabilidade e no NS-3, comparando-se o tempo simulado, ou seja, tempo avançado pelo relógio virtual durante a simulação, entre eles.

Primeira série de testes

A partir da primeira série de testes, em que a capacidade das filas eram infinitas, pode-se perceber que dentre os resultados obtidos para os simuladores gerados, a maioria era muito próxima dos obtidos para o NS-3 (até 6% de diferença). Outros divergiam completamente deste (mais que 90% de diferença), como pode-se observar na Figura 32.

Observa-se que a maioria (79.4%) dos 68 testes possuem pequena diferença (até 6%) para o tempo simulado apresentado pelo NS-3, enquanto uma minoria (20.6%) possui tempos com faixas entre 90 e 100% de divergência para este. A partir de tais resultados, concluiu-se que tal desigualdade entre os 14 (20.6%) dos resultados ocorreu devido à utilização inadequada do Yasc por parte dos validadores da ferramenta. Durante a etapa de criação dos simuladores, eles modelaram todos os objetos que seriam disponibilizados nestes como instantâneos, o que resultou em um tempo simulado de valor 0 para qualquer simulação realizada. Desta forma, tais simuladores foram excluídos da avaliação e comparou-se apenas os tempos simulados corretos

Figura 32 – Representação da quantidade de testes sem perdas de pacotes

entre ambas as ferramentas. Nesta série não havia perda de pacotes, como pode ser observado na Tabela 2e no gráfico referente a ela presente na Figura 33. Estes descrevem tempos simulados do Network Simulator e do simulador gerado pelo Yasc que atingiu os melhores resultados, notando-se diferença praticamente inexistente entre os tempos.

Tabela 2 – Tempos simulados (em segundos) do primeiro modelo para o NS-3 e o resultado mais próximo obtido pelo simulador gerado pelo Yasc sem perdas de pacotes

Simulador/Node pacotes 100.000 200.000 400.000

NS-3 164,807 329,607 659,207

Yasc 164,17 328,35 656,68

Figura 33 – Comparativo entre tempos simulados do primeiro modelo para o NS-3 e o resultado mais próximo obtido pelo simulador gerado pelo Yasc sem perdas de pacotes

intermediária de simuladores cujos tempos possuíam uma diferença com valores entre 65 e 70%

dos que foram obtidos pelo NS-3. Para estes simuladores, notou-se que a desigualdade vinha novamente de problemas em sua criação, sendo agora os nós terminais elinksde comunicação descritos como instantâneos e os roteadores como o tipo básico uma fila e um servidor.

Desta forma, eles também foram descartados, sendo comparados apenas os que possuíam correta descrição. Assim, obtiveram-se os resultados apresentados nas Tabelas 3 e 4 e em seus respectivos gráficos, que aparecem nas Figuras 35e 36, em que observa-se novamente a grande proximidade entre os tempos simulados e agora também entre as quantidades de perdas de pacotes doNetwork Simulatore do simulador gerado com resultado mais próximo.

Figura 34 – Representação da quantidade de testes com resultados próximos ou não do NS-3 com perdas de pacotes

Tabela 3 – Tempos simulados (em segundos) do primeiro modelo para o NS-3 e o resultado mais próximo obtido pelo simulador gerado pelo Yasc com perdas de pacotes

Simulador/Node pacotes 100.000 200.000 400.000

NS-3 148,328 148,328 148,328

Yasc 147,76 147,76 147,76

Figura 35 – Comparativo entre tempos simulados do primeiro modelo para o NS-3 e o resultado mais próximo obtido pelo simulador gerado pelo Yasc com perdas de pacotes

Figura 36 – Comparativo entre as quantidades de pacotes perdidos pelo NS3 e o resultado mais próximo obtido pelo simulador gerado pelo Yasc para o primeiro modelo

de 1 Gbit/s e apenas o servidor ligado aoswitchpertencente aoclusterpor um canal de 10 Gbit/s, conforme mostrado na Figura 37.

Figura 37 – Ambiente de redes do segundo modelo testado, representando o laboratório GSPD Neste teste, as simulações também ocorreram com fluxos de 100.000, 200.000 e 400.000 pacotes, com 1.000bytescada. Os demais procedimentos foram todos repetidos, com duas séries de testes, sendo que na primeira a capacidade das filas era infinita, sem perdas de pacotes e na segunda, a capacidade para estas era de 30.000 pacotes por fila, ocorrendo perdas. As validações para este modelo também foram realizadas nos 68 simuladores obtidos pelo teste de usabilidade e no NS-3.

Primeira série de testes

A partir da primeira série de testes, em que a capacidade das filas eram infinitas, da mesma forma que no teste com o modelo hipotético, pode-se perceber que dentre os resultados obtidos para os simuladores gerados, a maioria era muito próxima dos obtidos para o NS-3 (até 6% de diferença). Outros divergiam completamente deste (mais que 90% de diferença), como pode-se observar na Figura 38.

Observa-se, novamente, que a maioria (79.4%) dos 68 testes possuem pequena diferença (até 6%) para o tempo simulado apresentado pelo NS-3, enquanto uma minoria (20.6%) possui tempos com faixas entre 90 e 100% de divergência para este. Tais resultados com desigualdade são causados devido à utilização inadequada do Yasc por parte dos validadores da ferramenta. No- vamente, os simuladores criados de maneira errônea foram excluídos da avaliação e comparou-se apenas os tempos simulados corretos entre ambas as ferramentas. Nesta série não havia perda de pacotes, como pode ser observado na Tabela 5e no gráfico referente a ela presente na Figura 39.

Figura 38 – Representação da quantidade de testes com resultados próximos ou não do NS-3 sem perdas de pacotes

Estes descrevem tempos simulados doNetwork Simulatore do simulador gerado pelo Yasc que atingiu os melhores resultados, notando-se diferença praticamente inexistente entre os tempos.

Tabela 5 – Tempos simulados (em segundos) do segundo modelo para o NS-3 e o resultado mais próximo obtido pelo simulador gerado pelo Yasc sem perdas de pacotes

Simulador/Node pacotes 100.000 200.000 400.000

NS-3 0,5753 1,1247 2,2233

Yasc 0,5472 1,0945 2,1889

Figura 39 – Comparativo entre tempos simulados do segundo modelo para o NS-3 e o resultado mais próximo obtido pelo simulador gerado pelo Yasc sem perdas de pacotes

intermediária de simuladores cujos tempos possuíam uma diferença com valores entre 50 e 55%

dos que foram obtidos pelo NS-3. Para estes simuladores, notou-se que a desigualdade vinha novamente de problemas em sua criação.

Eles também foram descartados, sendo comparados apenas os que possuíam correta descrição. Assim, obtiveram-se os resultados apresentados nas Tabelas 6 e 7 e em seus respectivos gráficos, que aparecem nas Figuras 41e 42, em que observa-se novamente a grande proximidade entre os tempos simulados e agora também entre as quantidades de perdas de pacotes doNetwork Simulatore do simulador gerado com resultado mais próximo.

Figura 40 – Representação da quantidade de testes com resultados próximos ou não do NS-3 com perdas de pacotes

Tabela 6 – Tempos simulados (em segundos) do segundo modelo para o NS-3 e o resultado mais próximo obtido pelo simulador gerado pelo Yasc com perdas de pacotes

Simulador/Node pacotes 100.000 200.000 400.000

NS-3 0,5204 0,5204 0,5204

Yasc 0,4925 0,4925 0,4925

Tabela 7 – Quantidade de pacotes perdidos para o segundo modelo do NS-3 e do resultado mais próximo obtido pelo simulador gerado pelo Yasc

Simulador/Node pacotes 100.000 200.000 400.000

NS-3 9998 110000 309998

Yasc 9998 109999 309998

Figura 41 – Comparativo entre tempos simulados do segundo modelo para o NS-3 e o resultado mais próximo obtido pelo simulador gerado pelo Yasc com perdas de pacotes

Figura 42 – Comparativo entre as quantidades de pacotes perdidos pelo NS3 e o resultado mais próximo obtido pelo simulador gerado pelo Yasc para o segundo modelo

4.4 Considerações finais

Neste capítulo foram apresentados resultados obtidos a partir da análise efetuada com a ferramenta implementada, o Yasc. Por meio dos testes e validações executados, cujos produtos foram satisfatórios, concluiu-se a simplicidade da utilização da ferramenta pelo usuário e a validade das métricas apresentadas por este em forma de resultado (desde que o usuário projete

filas básicas, o Yasc (Yes, a simulator’s compiler).

Para isto, foram feitos estudos dos mais diversos contextos de aplicações baseadas em filas a partir da modelagem e simulação. Esse estudo foi necessário devido a importância da observação do comportamento de sistemas que deve ser feita através de maneiras eficazes que permitam redução expressiva de tempo no processo de desenvolvimento de software. Tornando assim o uso de modelos básicos essencial, a fim de oferecer diretamente ao usuário um gerador de simuladores, ferramenta que possibilita a avaliação de sistemas.

As dificuldades de projeto envolveram a classificação de componentes dentro de padrões específicos, que permitem a aplicação dos modelos básicos em condições equivalentes dentro dos centros de serviço, ou seja, em como relacionar quais centros de serviços implementados no motor de simulação são equivalentes a quais atividades dos tipos de aplicação propostas.

Como principal contribuição, o Yasc possibilitará com que usuários leigos, que não conhecem linguagens de programação, ou possuem dificuldades ao trabalhar com essas lingua- gens, por não serem especialistas da área de computação, possam desenvolver simuladores que permitam avaliar o desempenho de seus trabalhos através de sua interface gráfica simples e amigável.

Deve-se ressaltar que todo o trabalho foi realizado com êxito conforme o cronograma que havia sido proposto.

Documentos relacionados