Use este identificador para citar ou linkar para este item: https://locus.ufv.br//handle/123456789/2650
Tipo: Dissertação
Título: Um mecanismo para extensibilidade de AspectJ em tempo de costura
Título(s) alternativo(s): A mechanism for the extensibility of AspectJ at weave time
Autor(es): Trevenzoli, Cleverson Carneiro
Primeiro Orientador: Iorio, Vladimir Oliveira Di
Primeiro coorientador: Oliveira, Alcione de Paiva
Segundo coorientador: Braga, José Luis
Primeiro avaliador: Bastos, Leacir Nogueira
Abstract: 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.
Domain specific aspect languages (DSALs) are programming languages with aspectoriented features specially designed to solve specific domains. The use of DSALs may offer several advantages such as improved productivity and reduced costs in maintenance. Extensible languages are a way to embed DSALs on general purpose aspects oriented languages. The XAJ language (eXtensible AspectJ) is an extension of AspectJ which uses the concept of syntax classes, units that extend classes with syntax definitions, building modular specifications for extensions. XAJ is built based on AspectBench, a compiler that has adequate support to allow language extensions. Aiming to increase the power of expressiveness of AspectJ, reducing the limitations and restrictions of the language as a set of pointcuts designators fixed and non-extensible, we present a mechanism for automatic code generation at weave time for XAJ syntax classes. The mechanism allows the definition of new pointcut designators by the users but it is still restrict to extensions that use only static information from the base program. This thesis describes problems that were found and solved, when implementing in XAJ this general mechanism and demonstrates a gain for the automation of code in the process of extensibility, removing the need for the user to modify several classes of a specific compiler by hand.
Palavras-chave: Extensibilidade
XAJ
Designadores de pointcut
Extensibility
XAJ
Pointcut designators
CNPq: CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Idioma: por
País: BR
Editor: Universidade Federal de Viçosa
Sigla da Instituição: UFV
Departamento: Metodologias e técnicas da Computação; Sistemas de Computação
Citação: TREVENZOLI, Cleverson Carneiro. A mechanism for the extensibility of AspectJ at weave time. 2013. 109 f. Dissertação (Mestrado em Metodologias e técnicas da Computação; Sistemas de Computação) - Universidade Federal de Viçosa, Viçosa, 2013.
Tipo de Acesso: Acesso Aberto
URI: http://locus.ufv.br/handle/123456789/2650
Data do documento: 26-Abr-2013
Aparece nas coleções:Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
texto completo.pdf830,95 kBAdobe PDFThumbnail
Visualizar/Abrir


Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.