| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 6.37 MB | Adobe PDF |
Orientador(es)
Resumo(s)
Com o aumento de soluções que facilitam a construção de linguagens de software, nomeadamente através de uma abordagem orientada a modelos, mas concentrados na definição da sintaxe concreta e abstracta, existe a necessidade de atribuição de significado a essas linguagens através da sua semântica.
É no seguimento deste objectivo que se pretende construir uma plataforma de prototipagem rápida de novas linguagens, nomeadamente possibilitando a atribuição rápida da sua semântica por transformação com o fim de definir uma linguagem em termos de uma outra formalmente bem definida e possivelmente de acordo com os conhecimentos do especialista da linguagem.
As diversas ferramentas actuais de transformação de modelos, não encontram um equilíbrio entre a usabilidade, validação e expressividade.
Neste trabalho, propomo-nos a implementar uma ferramenta de transformação baseada em
gramáticas de grafos para definição e aplicação de regras sobre modelos e que consiga um equilíbrio adequado dos três critérios acima mencionados. Isto envolve desenhar a linguagem de especificação das regras de transformação, construção do editor visual e implementação da
respectiva semântica.
Tendo em conta que esta linguagem, e correspondente editor, pretendem ser uma ajuda considerável ao desenvolvimento de novas linguagens, proporcionando aos especialistas da linguagem a atribuição de semântica através de transformações de modelos, a usabilidade terá, obrigatoriamente, que se centrar na simplicidade e numa curva de aprendizagem suave. Os utilizadores alvo podem assim desenvolver linguagens sem terem que se especializar numa plataforma de transformação e assim agilizar o processo de definição semântica de linguagens.
Descrição
Trabalho apresentado no âmbito do Mestrado em Engenharia Informática, como requisito parcial para obtenção do grau de Mestre em Engenharia Informática
Palavras-chave
Transformações de modelos Linguagens de domínio específico Engenharia de linguagens de software Desenvolvimento orientado a modelos Transformações de grafos
