Metaprogramação extensível para a linguagem XAJ (eXtensible AspectJ)

Detalhes bibliográficos
Ano de defesa: 2013
Autor(a) principal: Pinheiro, Felipe da Silva
Orientador(a): Iorio, Vladimir Oliveira Di lattes
Banca de defesa: Bastos, Leacir Nogueira lattes
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Viçosa
Programa de Pós-Graduação: Mestrado em Ciência da Computação
Departamento: Metodologias e técnicas da Computação; Sistemas de Computação
País: BR
Palavras-chave em Português:
Palavras-chave em Inglês:
Área do conhecimento CNPq:
Link de acesso: http://locus.ufv.br/handle/123456789/2647
Resumo: 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.
id UFV_103170ebef04a9a8960be5f544e5569b
oai_identifier_str oai:locus.ufv.br:123456789/2647
network_acronym_str UFV
network_name_str LOCUS Repositório Institucional da UFV
repository_id_str
spelling Pinheiro, Felipe da SilvaOliveira, Alcione de Paivahttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788574J0Ferreira, Ricardo dos Santoshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4723626E5Iorio, Vladimir Oliveira Dihttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4784559J9Bastos, Leacir Nogueirahttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788213Z32015-03-26T13:10:34Z2013-06-112015-03-26T13:10:34Z2013-02-26PINHEIRO, 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.http://locus.ufv.br/handle/123456789/2647Domain 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.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.Coordenação de Aperfeiçoamento de Pessoal de Nível Superiorapplication/pdfporUniversidade Federal de ViçosaMestrado em Ciência da ComputaçãoUFVBRMetodologias e técnicas da Computação; Sistemas de ComputaçãoMetaprogramaçãoExtensibilidadeOrientação a aspectosMetaprogrammingExtensibilityAspect orientationCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOMetaprogramação extensível para a linguagem XAJ (eXtensible AspectJ)Extensible metaprogramming for the XAJ (eXtensible AspectJ) languageinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessreponame:LOCUS Repositório Institucional da UFVinstname:Universidade Federal de Viçosa (UFV)instacron:UFVORIGINALtexto completo.pdfapplication/pdf1989678https://locus.ufv.br//bitstream/123456789/2647/1/texto%20completo.pdf9c6ac595ece584cf8525355aebc85bc5MD51TEXTtexto completo.pdf.txttexto completo.pdf.txtExtracted texttext/plain75401https://locus.ufv.br//bitstream/123456789/2647/2/texto%20completo.pdf.txtc033b8dfe105523fde425cbc06731bb7MD52THUMBNAILtexto completo.pdf.jpgtexto completo.pdf.jpgIM Thumbnailimage/jpeg3622https://locus.ufv.br//bitstream/123456789/2647/3/texto%20completo.pdf.jpg828b53a313ec63396605c3a9ffdeeebfMD53123456789/26472016-04-08 23:12:34.365oai:locus.ufv.br:123456789/2647Repositório InstitucionalPUBhttps://www.locus.ufv.br/oai/requestfabiojreis@ufv.bropendoar:21452016-04-09T02:12:34LOCUS Repositório Institucional da UFV - Universidade Federal de Viçosa (UFV)false
dc.title.por.fl_str_mv Metaprogramação extensível para a linguagem XAJ (eXtensible AspectJ)
dc.title.alternative.eng.fl_str_mv Extensible metaprogramming for the XAJ (eXtensible AspectJ) language
title Metaprogramação extensível para a linguagem XAJ (eXtensible AspectJ)
spellingShingle Metaprogramação extensível para a linguagem XAJ (eXtensible AspectJ)
Pinheiro, Felipe da Silva
Metaprogramação
Extensibilidade
Orientação a aspectos
Metaprogramming
Extensibility
Aspect orientation
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Metaprogramação extensível para a linguagem XAJ (eXtensible AspectJ)
title_full Metaprogramação extensível para a linguagem XAJ (eXtensible AspectJ)
title_fullStr Metaprogramação extensível para a linguagem XAJ (eXtensible AspectJ)
title_full_unstemmed Metaprogramação extensível para a linguagem XAJ (eXtensible AspectJ)
title_sort Metaprogramação extensível para a linguagem XAJ (eXtensible AspectJ)
author Pinheiro, Felipe da Silva
author_facet Pinheiro, Felipe da Silva
author_role author
dc.contributor.author.fl_str_mv Pinheiro, Felipe da Silva
dc.contributor.advisor-co1.fl_str_mv Oliveira, Alcione de Paiva
dc.contributor.advisor-co1Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788574J0
dc.contributor.advisor-co2.fl_str_mv Ferreira, Ricardo dos Santos
dc.contributor.advisor-co2Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4723626E5
dc.contributor.advisor1.fl_str_mv Iorio, Vladimir Oliveira Di
dc.contributor.advisor1Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4784559J9
dc.contributor.referee1.fl_str_mv Bastos, Leacir Nogueira
dc.contributor.referee1Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788213Z3
contributor_str_mv Oliveira, Alcione de Paiva
Ferreira, Ricardo dos Santos
Iorio, Vladimir Oliveira Di
Bastos, Leacir Nogueira
dc.subject.por.fl_str_mv Metaprogramação
Extensibilidade
Orientação a aspectos
topic Metaprogramação
Extensibilidade
Orientação a aspectos
Metaprogramming
Extensibility
Aspect orientation
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.subject.eng.fl_str_mv Metaprogramming
Extensibility
Aspect orientation
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description 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.
publishDate 2013
dc.date.available.fl_str_mv 2013-06-11
2015-03-26T13:10:34Z
dc.date.issued.fl_str_mv 2013-02-26
dc.date.accessioned.fl_str_mv 2015-03-26T13:10:34Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv 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.
dc.identifier.uri.fl_str_mv http://locus.ufv.br/handle/123456789/2647
identifier_str_mv 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.
url http://locus.ufv.br/handle/123456789/2647
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Viçosa
dc.publisher.program.fl_str_mv Mestrado em Ciência da Computação
dc.publisher.initials.fl_str_mv UFV
dc.publisher.country.fl_str_mv BR
dc.publisher.department.fl_str_mv Metodologias e técnicas da Computação; Sistemas de Computação
publisher.none.fl_str_mv Universidade Federal de Viçosa
dc.source.none.fl_str_mv reponame:LOCUS Repositório Institucional da UFV
instname:Universidade Federal de Viçosa (UFV)
instacron:UFV
instname_str Universidade Federal de Viçosa (UFV)
instacron_str UFV
institution UFV
reponame_str LOCUS Repositório Institucional da UFV
collection LOCUS Repositório Institucional da UFV
bitstream.url.fl_str_mv https://locus.ufv.br//bitstream/123456789/2647/1/texto%20completo.pdf
https://locus.ufv.br//bitstream/123456789/2647/2/texto%20completo.pdf.txt
https://locus.ufv.br//bitstream/123456789/2647/3/texto%20completo.pdf.jpg
bitstream.checksum.fl_str_mv 9c6ac595ece584cf8525355aebc85bc5
c033b8dfe105523fde425cbc06731bb7
828b53a313ec63396605c3a9ffdeeebf
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv LOCUS Repositório Institucional da UFV - Universidade Federal de Viçosa (UFV)
repository.mail.fl_str_mv fabiojreis@ufv.br
_version_ 1794528613660360704