Um mecanismo para extensibilidade de AspectJ em tempo de costura
Linguagens de domínio específico orientadas a aspectos (DSALs) são linguagens de programação com funcionalidades orientadas a aspectos especialmente projetadas para resolver problemas de domínios específicos. O uso destas pode trazer diversas vantagens como a melhora da produtividade e diminuição do...
| Autor: | |
|---|---|
| Formato: | tesis de maestría |
| Estado: | Versión publicada |
| Fecha de publicación: | 2013 |
| País: | Brasil |
| Recursos: | Universidade Federal de Viçosa (UFV) |
| Repositorio: | LOCUS Repositório Institucional da UFV |
| Idioma: | portugués |
| OAI Identifier: | oai:locus.ufv.br:123456789/2650 |
| Acesso em linha: | http://locus.ufv.br/handle/123456789/2650 |
| Access Level: | acceso abierto |
| Palavra-chave: | Extensibilidade XAJ Designadores de pointcut Extensibility Pointcut designators CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| Resumo: | Linguagens de domínio específico orientadas a aspectos (DSALs) são linguagens de programação com funcionalidades orientadas a aspectos especialmente projetadas para resolver problemas de domínios específicos. O uso destas pode trazer diversas vantagens como a melhora da produtividade e diminuição dos custos na manutenção. Linguagens extensíveis são uma maneira de embutir DSALs em linguagens orientadas a aspectos de propósito geral. A linguagem XAJ (eXtensible AspectJ) é uma linguagem extensível baseada em AspectJ, que usa o conceito de classes de sintaxe, unidades que estendem classes com definições de sintaxe, construindo especificações modulares para extensões. XAJ é construída com base no abc (AspectBench Compiler), um compilador que possui suporte adequado para permitir extensões de linguagem. Visando aumentar o poder de expressividade de AspectJ, diminuindo as limitações e restrições da linguagem, como o conjunto de designadores de pointcut fixo e não-extensível, apresentamos um mecanismo de geração automática de código, processável em tempo de costura, para a classe de sintaxe de XAJ. O mecanismo possibilita a definição de novos designadores de pointcut pelo usuário mas ainda se limita a extensões que usam apenas informações estáticas do programa base para a geração de código. Essa dissertação descreve problemas encontrados e solucionados na implementação em XAJ desse mecanismo geral e demostra um ganho pela automação de código no processo de extensibilidade, retirando do usuário a necessidade de modificar várias classes do compilador à mão. |
|---|