Use este identificador para citar ou linkar para este item:
https://locus.ufv.br//handle/123456789/2647
Tipo: | Dissertação |
Título: | Metaprogramação extensível para a linguagem XAJ (eXtensible AspectJ) |
Título(s) alternativo(s): | Extensible metaprogramming for the XAJ (eXtensible AspectJ) language |
Autor(es): | Pinheiro, Felipe da Silva |
Primeiro Orientador: | Iorio, Vladimir Oliveira Di |
Primeiro coorientador: | Oliveira, Alcione de Paiva |
Segundo coorientador: | Ferreira, Ricardo dos Santos |
Primeiro avaliador: | Bastos, Leacir Nogueira |
Abstract: | Linguagens de domínio específico orientadas a aspectos (DSALs) são linguagens projetadas especificamente para um domínio com funcionalidades orientadas a aspectos, gerando vantagens como produtividade e expressividade. Embarcar uma DSAL em uma linguagem de propósito geral orientada a aspectos pode apresentar algumas vantagens. Para conseguir isso, uma das técnicas utilizadas é a extensibilidade. A linguagem eXtensible AspectJ (XAJ ) é uma linguagem extensível baseada em AspectJ, principal linguagem orientada a aspectos. A definição de extensões para a linguagem é modular, sendo encapsulada em uma classe sintática, que permite definir a sintaxe
e a semântica da nova construção, além de representá-la na árvore de sintaxe abstrata (AST ). A definição da semântica de uma nova construção se dá pela tradução para construções já conhecidas. Nesse ponto, a linguagem pode-se beneficiar das vantagens da metaprogramação. A metaprogramação é uma técnica de escrever programas que geram ou manipulam programas. Assim, com uma sintaxe próxima à sintaxe concreta da linguagem, obtém-se maior facilidade de entendimento. Com um mecanismo de metaprogramação extensível, pode-se utilizar construções definidas pelo usuário na definição de novas construções. Este trabalho apresenta um mecanismo de metaprogramação extensível para a linguagem XAJ, apresentando exemplo de uso e suas vantagens. Domain specific aspect languages (DSALs) are languages specifically designed for a domain with aspect-oriented features, obtaining benefits such as productivity and expressiveness. To embed a DSAL in an aspect-oriented general purpose language may present some advantages. To achieve this, one of the techniques used is language extensibility. XAJ (eXtensible AspectJ ) is an extensible language based on AspectJ, the main aspect-oriented language. The definitions of extensions to the language are modular, being encapsulated in a syntax class. Syntax class allow users define the syntax and semantics of a new construction, and represent it in the abstract syntax tree (AST ). The definition of the semantics of a new construction is given by the translation to already known constructs. At this point, the language can benefit from the advantages of metaprogramming. Metaprogramming is a technique of writing programs that generate or manipulate other programs. Metaprogramming commands are very ease to understand especially when they use a syntax that is very similar to the concrete syntax of the language. With an extensible metaprogramming mechanism, user defined constructs can be used in the definitions of new constructs. This work presents an extensible metaprogramming mechanism for the XAJ language, presenting examples of usage and its advantages. |
Palavras-chave: | Metaprogramação Extensibilidade Orientação a aspectos Metaprogramming Extensibility Aspect orientation |
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: | PINHEIRO, Felipe da Silva. Extensible metaprogramming for the XAJ (eXtensible AspectJ) language. 2013. 45 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/2647 |
Data do documento: | 26-Fev-2013 |
Aparece nas coleções: | Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
texto completo.pdf | 1,94 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.