Um mecanismo para extensibilidade de AspectJ em tempo de costura
| Ano de defesa: | 2013 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Universidade Federal de Viçosa
BR Metodologias e técnicas da Computação; Sistemas de Computação Mestrado em Ciência da Computação UFV |
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | http://locus.ufv.br/handle/123456789/2650 |
Resumo: | 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. |
| 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 |
|
| spelling |
Um mecanismo para extensibilidade de AspectJ em tempo de costuraA mechanism for the extensibility of AspectJ at weave timeExtensibilidadeXAJDesignadores de pointcutExtensibilityXAJPointcut designatorsCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOLinguagens 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.Universidade Federal de ViçosaBRMetodologias e técnicas da Computação; Sistemas de ComputaçãoMestrado em Ciência da ComputaçãoUFVhttp://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=K4788213Z3Trevenzoli, Cleverson Carneiro2015-03-26T13:10:34Z2013-06-252015-03-26T13:10:34Z2013-04-26info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfapplication/pdfTREVENZOLI, 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/2650porinfo:eu-repo/semantics/openAccessreponame:LOCUS Repositório Institucional da UFVinstname:Universidade Federal de Viçosa (UFV)instacron:UFV2016-04-09T02:13:19Zoai: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.none.fl_str_mv |
Um mecanismo para extensibilidade de AspectJ em tempo de costura 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.none.fl_str_mv |
http://lattes.cnpq.br/2919014388359363 Oliveira, Alcione de Paiva http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788574J0 Braga, José Luis http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4787263E8 Iorio, Vladimir Oliveira Di http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4784559J9 Bastos, Leacir Nogueira http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4788213Z3 |
| dc.contributor.author.fl_str_mv |
Trevenzoli, Cleverson Carneiro |
| dc.subject.por.fl_str_mv |
Extensibilidade XAJ Designadores de pointcut Extensibility XAJ Pointcut designators CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| topic |
Extensibilidade XAJ Designadores de pointcut Extensibility XAJ Pointcut designators CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
| description |
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. |
| publishDate |
2013 |
| dc.date.none.fl_str_mv |
2013-06-25 2013-04-26 2015-03-26T13:10:34Z 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.uri.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. 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 application/pdf |
| dc.publisher.none.fl_str_mv |
Universidade Federal de Viçosa BR Metodologias e técnicas da Computação; Sistemas de Computação Mestrado em Ciência da Computação UFV |
| publisher.none.fl_str_mv |
Universidade Federal de Viçosa BR Metodologias e técnicas da Computação; Sistemas de Computação Mestrado em Ciência da Computação UFV |
| 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 |
| 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_ |
1855045764998234112 |