Um mecanismo para extensibilidade de AspectJ em tempo de costura
Autor(a) principal: | |
---|---|
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 |