Um mecanismo para extensibilidade de AspectJ em tempo de costura

Detalhes bibliográficos
Autor(a) principal: Trevenzoli, Cleverson Carneiro
Data de Publicação: 2013
Tipo de documento: Dissertação
Idioma: por
Título da fonte: LOCUS Repositório Institucional da UFV
Texto Completo: http://locus.ufv.br/handle/123456789/2650
Resumo: 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.
id UFV_22287e9d2b92710fde74942358df93a7
oai_identifier_str oai:locus.ufv.br:123456789/2650
network_acronym_str UFV
network_name_str LOCUS Repositório Institucional da UFV
repository_id_str 2145
spelling Trevenzoli, Cleverson Carneirohttp://lattes.cnpq.br/2919014388359363Oliveira, Alcione de Paivahttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788574J0Braga, José Luishttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4787263E8Iorio, 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-252015-03-26T13:10:34Z2013-04-26TREVENZOLI, 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.http://locus.ufv.br/handle/123456789/2650Domain 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.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.application/pdfporUniversidade Federal de ViçosaMestrado em Ciência da ComputaçãoUFVBRMetodologias e técnicas da Computação; Sistemas de ComputaçãoExtensibilidadeXAJDesignadores de pointcutExtensibilityXAJPointcut designatorsCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOUm mecanismo para extensibilidade de AspectJ em tempo de costuraA mechanism for the extensibility of AspectJ at weave timeinfo: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/pdf850890https://locus.ufv.br//bitstream/123456789/2650/1/texto%20completo.pdf407593c59d46b3a22b0d2374ae0f61b4MD51TEXTtexto completo.pdf.txttexto completo.pdf.txtExtracted texttext/plain158958https://locus.ufv.br//bitstream/123456789/2650/2/texto%20completo.pdf.txt432908eba3b481daeeababed5083a0f7MD52THUMBNAILtexto completo.pdf.jpgtexto completo.pdf.jpgIM Thumbnailimage/jpeg3665https://locus.ufv.br//bitstream/123456789/2650/3/texto%20completo.pdf.jpg9f73510832a48fb1e90ae578166eaec2MD53123456789/26502016-04-08 23:13:19.49oai:locus.ufv.br:123456789/2650Repositório InstitucionalPUBhttps://www.locus.ufv.br/oai/requestfabiojreis@ufv.bropendoar:21452016-04-09T02:13:19LOCUS Repositório Institucional da UFV - Universidade Federal de Viçosa (UFV)false
dc.title.por.fl_str_mv Um mecanismo para extensibilidade de AspectJ em tempo de costura
dc.title.alternative.eng.fl_str_mv A mechanism for the extensibility of AspectJ at weave time
title Um mecanismo para extensibilidade de AspectJ em tempo de costura
spellingShingle Um mecanismo para extensibilidade de AspectJ em tempo de costura
Trevenzoli, Cleverson Carneiro
Extensibilidade
XAJ
Designadores de pointcut
Extensibility
XAJ
Pointcut designators
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Um mecanismo para extensibilidade de AspectJ em tempo de costura
title_full Um mecanismo para extensibilidade de AspectJ em tempo de costura
title_fullStr Um mecanismo para extensibilidade de AspectJ em tempo de costura
title_full_unstemmed Um mecanismo para extensibilidade de AspectJ em tempo de costura
title_sort Um mecanismo para extensibilidade de AspectJ em tempo de costura
author Trevenzoli, Cleverson Carneiro
author_facet Trevenzoli, Cleverson Carneiro
author_role author
dc.contributor.authorLattes.por.fl_str_mv http://lattes.cnpq.br/2919014388359363
dc.contributor.author.fl_str_mv Trevenzoli, Cleverson Carneiro
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 Braga, José Luis
dc.contributor.advisor-co2Lattes.fl_str_mv http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4787263E8
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
Braga, José Luis
Iorio, Vladimir Oliveira Di
Bastos, Leacir Nogueira
dc.subject.por.fl_str_mv Extensibilidade
XAJ
Designadores de pointcut
topic Extensibilidade
XAJ
Designadores de pointcut
Extensibility
XAJ
Pointcut designators
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
dc.subject.eng.fl_str_mv Extensibility
XAJ
Pointcut designators
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description 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.
publishDate 2013
dc.date.available.fl_str_mv 2013-06-25
2015-03-26T13:10:34Z
dc.date.issued.fl_str_mv 2013-04-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 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.
dc.identifier.uri.fl_str_mv http://locus.ufv.br/handle/123456789/2650
identifier_str_mv 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.
url http://locus.ufv.br/handle/123456789/2650
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/2650/1/texto%20completo.pdf
https://locus.ufv.br//bitstream/123456789/2650/2/texto%20completo.pdf.txt
https://locus.ufv.br//bitstream/123456789/2650/3/texto%20completo.pdf.jpg
bitstream.checksum.fl_str_mv 407593c59d46b3a22b0d2374ae0f61b4
432908eba3b481daeeababed5083a0f7
9f73510832a48fb1e90ae578166eaec2
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_ 1801213133511983104