Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Conclusão
 
 
Acadêmico(a): Marco Aurélio Wehrmeister
Título: Software para Geração de Código Fonte a partir do Repositório da Ferramenta Case System Architect
 
Conclusão:
O objetivo principal deste trabalho que foi desenvolver um protótipo de software para a geração de código fonte de diversas linguagens, desde que sua especificação esteja em um arquivo texto utilizando a notação BNF estendida, a partir do repositório da ferramenta CASE System Architect, foi atendido. Para possibilitar a geração de código fonte, foi desenvolvida a metalinguagem LEL, que é utilizada para a especificação das classes em uma linguagem de programação. A metalinguagem LEL foi desenvolvida com base em linguagens livres de contexto, tendo a BNF como um método de especificação de sua sintaxe. A linguagem livre de contexto se mostrou adequada para o desenvolvimento da metalinguagem LEL. Para o desenvolvimento do compilador da metalinguagem LEL, foi utilizada a análise sintática top-down como técnica de implementação do analisador sintático. A análise top-down se mostrou eficiente, porém se a gramática a ser implementada for muito extensa, ou seja, possua um número muito grande de produções, o analisador sintático necessitará de muita memória para a execução. Isto pelo fato de cada produção ser um procedimento do analisador sintático, sendo que a pilha de chamadas de procedimentos poderá exceder sua capacidade gerando o erro de stack-overflow. Quanto a ferramenta CASE System Architect, vale ressaltar que é uma ferramenta flexível, pois permite realizar tanto a modelagem estrutural como a modelagem orientada a objetos. Porém esta flexibilidade trouxe dificuldades para a leitura do repositório, como a falta de padronização para o detalhamento das entidades nos diagramas modelados. Sendo assim houve a necessidade da criação de uma padronização para os tipos de dados na definição de alguns elementos no diagrama de classes, para que a leitura do repositório pudesse ser feita sem maiores problemas. Sobre as limitações impostas ao protótipo, pode-se destacar: a) a leitura do repositório ficou limitada a ler apenas três recursos primordiais da orientação a objetos que são a herança, a associação e a agregação; b) a padronização dos tipos de dados ficou limitada a quinze tipos de dados preestabelecidos. Finalizando, cabe ressaltar que a principal vantagem que o protótipo traz, graças a metalinguagem LEL, é a flexibilidade para geração do código fonte. Com a metalinguagem LEL é possível especificar uma grande quantidade de linguagens de programação disponíveis no mercado, como Java, Object Pascal, C++, entre outras. Juntos, a ferramenta CASE System Architect e o protótipo desenvolvido neste trabalho, formam um conjunto de ferramentas que permitem a modelagem das classes através do diagrama de classes da UML e a geração do “esqueleto” destas classes, na forma de código fonte, para a linguagem que o usuário necessitar, bastando apenas ele escrever a especificação desta linguagem.