Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Conclusão
 
 
Acadêmico(a): Fernanda Gums
Título: Verificador de Propriedades em Gramática de Grafos
 
Conclusão:
No início do desenvolvimento do JVGG foram elencadas funcionalidades que ele deveria ter como: permitir criar vértices, arestas, grafo inicial e regras, para que a funcionalidade principal deste trabalho pudesse ser implementada, que é a verificação das propriedades de alcançabilidade, aplicabilidade e conflito potencial. Ao término pode-se observar que as funcionalidades foram criadas, atingindo os objetivos. Uma dificuldade encontrada foi à busca de materiais didáticos que abordassem o formalismo da gramática de grafos, mas especificamente sobre verificação de propriedades. Para resolver este problema, foi necessária uma visita à biblioteca da Universidade Federal do Rio Grande do Sul que tem materiais base sobre gramática de grafos, uma vez que é uma das linhas de pesquisa desenvolvidas nesta instituição. Com base nestes materiais encontrados, foi possível decidir pela utilização da abordagem SPO em vez da DPO. A escolha da abordagem SPO deu-se por não permitir a aplicação de regras em algumas situações. O motivo foi a facilidade de representação das regras e pela economia das transformações nos grafos e das estruturas que teriam que ser criadas. Outro fator levado em consideração é que grande parte dos sistemas que utilizam gramática de grafos são baseados na abordagem SPO para realizar a representação e transformação em grafos. Houve também dificuldade em relação à verificação das propriedades (alcançabilidade, aplicabilidade e conflito). Não foi encontrado nenhum material didático que sugerisse a implementação dos algoritmos. Por esse motivo, as verificações encontradas no presente trabalho foram implementadas apenas utilizando a teoria das gramáticas de grafos. A utilização das bibliotecas JGraph e JGraphT auxiliaram no desenvolvimento do JVGG, principalmente no que diz respeito a parte gráfica, que seria bem mais complexa de implementar caso não tivesse utilizado a JGraph. A JGraphT na parte de estrutura de dados facilitou a criação dos grafos, permitiu a utilização do algoritmo de Dijkstra e mostrou-se bastante completa para manipulação de grafos, podendo ser bastante útil no caso da implementação de algumas sugestões de extensão. No entanto, existem limitações no JVGG como: o engessamento dos rótulos dos vértices, obrigando que o rótulo seja composto de uma letra e um número; a alcançabilidade pode ser apenas verificada no grafo inicial e; a ausência de verificação do conflito real.