Especialização de linguagens orientadas a aspectos baseada em extensibilidade de gramáticas
Ano de defesa: | 2010 |
---|---|
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 Minas Gerais
|
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
|
Link de acesso: | http://hdl.handle.net/1843/SLSS-85BKYB |
Resumo: | O desenvolvimento dos recursos computacionais e o surgimento da indústria de software trouxeram a necessidade de produzir softwares rapidamente e mais complexos. Com o aumento da complexidade dos softwares, surgiram problemas de manutenção, pois a complexidade e o tamanho dos programas aumentaram, o que dificulta encontrar e corrigir erros. Neste contexto, surgiu a necessidade de desenvolver ferramentas que aumentem a produtividade e facilitem a manutenção dos softwares. Programação Orientada a Aspectos e Linguagens de Domínio Específico são metodologias de programação que visam aumentar a produtividade e facilitar a manutenção de código. Noentanto criar extensões e embarcar linguagens de domínio específico orientadas a aspectos (união das duas técnicas citadas) em linguagens de propósito geral, e.g., AspectJ, AspectC, etc., não são tarefas simples. Este trabalho apresenta a linguagem XAJ, a primeira linguagem extensível orientada a aspectos que se tem conhecimento, a qual permite estender sua sintaxe concreta, possibilitando criar extensões e linguagens de domínio específico orientadas a aspectos embarcadas. XAJ tem uma nova unidade sintática, as classes sintáticas, que encapsulam as definições das extensões, aumentando a modularidade das mesmas. Novos mecanismos de importação são definidos para o uso das extensões, permitindo que sejam usadas em escopo local, não modificando globalmente a gramática da linguagem base. As extensões definidas na linguagem XAJ são portáveis, pois não são dependentes de ferramentas de implementação, sendo definidas na própria linguagem. |
id |
UFMG_76842faa449e943eefb95961164f5fef |
---|---|
oai_identifier_str |
oai:repositorio.ufmg.br:1843/SLSS-85BKYB |
network_acronym_str |
UFMG |
network_name_str |
Repositório Institucional da UFMG |
repository_id_str |
|
spelling |
Roberto da Silva BigonhaVladimir Oliveira Di IorioMarcelo de Almeida MaiaMarco Tulio de Oliveira ValenteMariza Andrade da Silva BigonhaLeonardo Vieira dos Santos Reis2019-08-11T13:12:07Z2019-08-11T13:12:07Z2010-03-12http://hdl.handle.net/1843/SLSS-85BKYBO desenvolvimento dos recursos computacionais e o surgimento da indústria de software trouxeram a necessidade de produzir softwares rapidamente e mais complexos. Com o aumento da complexidade dos softwares, surgiram problemas de manutenção, pois a complexidade e o tamanho dos programas aumentaram, o que dificulta encontrar e corrigir erros. Neste contexto, surgiu a necessidade de desenvolver ferramentas que aumentem a produtividade e facilitem a manutenção dos softwares. Programação Orientada a Aspectos e Linguagens de Domínio Específico são metodologias de programação que visam aumentar a produtividade e facilitar a manutenção de código. Noentanto criar extensões e embarcar linguagens de domínio específico orientadas a aspectos (união das duas técnicas citadas) em linguagens de propósito geral, e.g., AspectJ, AspectC, etc., não são tarefas simples. Este trabalho apresenta a linguagem XAJ, a primeira linguagem extensível orientada a aspectos que se tem conhecimento, a qual permite estender sua sintaxe concreta, possibilitando criar extensões e linguagens de domínio específico orientadas a aspectos embarcadas. XAJ tem uma nova unidade sintática, as classes sintáticas, que encapsulam as definições das extensões, aumentando a modularidade das mesmas. Novos mecanismos de importação são definidos para o uso das extensões, permitindo que sejam usadas em escopo local, não modificando globalmente a gramática da linguagem base. As extensões definidas na linguagem XAJ são portáveis, pois não são dependentes de ferramentas de implementação, sendo definidas na própria linguagem.The development of computational resources and the rise of software industry brought the need to produce software more quickly and with higher complexity. With the increase on program size and complexity, severe problems of maintenance arise, because errors are more dificult to find and correct. So, it is important to create tools that make maintenance easier and improve the productivity of programmers. Domain-SpecificLanguages and Aspect-Oriented Programming can be combined to achieve these goals, building domain-specific aspect-oriented languages as extensions of languages such as AspectJ or AspectC. But building such extensions and embedding them on generalpurpose aspect languages is not an easy task.This work presents XAJ, an aspect-oriented extensible language based on AspectJ. XAJ provides features to build extensions and embedded domain-specific aspect-oriented languages. XAJ has a new compilation unit called syntax class, whichen capsulates the whole denition of a language extension, improving modularity and portability of extensions. Mechanisms for symbol import allow the definition of newgrammar rules with local scope. Extensions in XAJ are portable because they are completely defined with the language itself, without the need of additional tools for the implementation.Universidade Federal de Minas GeraisUFMGProgramação orientada a objetos (Computação)ComputaçãoEspecialização de linguagens orientadas a aspectos baseada em extensibilidade de gramáticasinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALleonardovieirasantosreis.pdfapplication/pdf1530359https://repositorio.ufmg.br/bitstream/1843/SLSS-85BKYB/1/leonardovieirasantosreis.pdf0707b0b15c4b250d3dd44990bf763e92MD51TEXTleonardovieirasantosreis.pdf.txtleonardovieirasantosreis.pdf.txtExtracted texttext/plain187854https://repositorio.ufmg.br/bitstream/1843/SLSS-85BKYB/2/leonardovieirasantosreis.pdf.txt823b42b0dd0975540164964c97c3461bMD521843/SLSS-85BKYB2019-11-14 09:01:08.181oai:repositorio.ufmg.br:1843/SLSS-85BKYBRepositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2019-11-14T12:01:08Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false |
dc.title.pt_BR.fl_str_mv |
Especialização de linguagens orientadas a aspectos baseada em extensibilidade de gramáticas |
title |
Especialização de linguagens orientadas a aspectos baseada em extensibilidade de gramáticas |
spellingShingle |
Especialização de linguagens orientadas a aspectos baseada em extensibilidade de gramáticas Leonardo Vieira dos Santos Reis Programação orientada a objetos (Computação) Computação |
title_short |
Especialização de linguagens orientadas a aspectos baseada em extensibilidade de gramáticas |
title_full |
Especialização de linguagens orientadas a aspectos baseada em extensibilidade de gramáticas |
title_fullStr |
Especialização de linguagens orientadas a aspectos baseada em extensibilidade de gramáticas |
title_full_unstemmed |
Especialização de linguagens orientadas a aspectos baseada em extensibilidade de gramáticas |
title_sort |
Especialização de linguagens orientadas a aspectos baseada em extensibilidade de gramáticas |
author |
Leonardo Vieira dos Santos Reis |
author_facet |
Leonardo Vieira dos Santos Reis |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Roberto da Silva Bigonha |
dc.contributor.advisor-co1.fl_str_mv |
Vladimir Oliveira Di Iorio |
dc.contributor.referee1.fl_str_mv |
Marcelo de Almeida Maia |
dc.contributor.referee2.fl_str_mv |
Marco Tulio de Oliveira Valente |
dc.contributor.referee3.fl_str_mv |
Mariza Andrade da Silva Bigonha |
dc.contributor.author.fl_str_mv |
Leonardo Vieira dos Santos Reis |
contributor_str_mv |
Roberto da Silva Bigonha Vladimir Oliveira Di Iorio Marcelo de Almeida Maia Marco Tulio de Oliveira Valente Mariza Andrade da Silva Bigonha |
dc.subject.other.pt_BR.fl_str_mv |
Programação orientada a objetos (Computação) Computação |
topic |
Programação orientada a objetos (Computação) Computação |
description |
O desenvolvimento dos recursos computacionais e o surgimento da indústria de software trouxeram a necessidade de produzir softwares rapidamente e mais complexos. Com o aumento da complexidade dos softwares, surgiram problemas de manutenção, pois a complexidade e o tamanho dos programas aumentaram, o que dificulta encontrar e corrigir erros. Neste contexto, surgiu a necessidade de desenvolver ferramentas que aumentem a produtividade e facilitem a manutenção dos softwares. Programação Orientada a Aspectos e Linguagens de Domínio Específico são metodologias de programação que visam aumentar a produtividade e facilitar a manutenção de código. Noentanto criar extensões e embarcar linguagens de domínio específico orientadas a aspectos (união das duas técnicas citadas) em linguagens de propósito geral, e.g., AspectJ, AspectC, etc., não são tarefas simples. Este trabalho apresenta a linguagem XAJ, a primeira linguagem extensível orientada a aspectos que se tem conhecimento, a qual permite estender sua sintaxe concreta, possibilitando criar extensões e linguagens de domínio específico orientadas a aspectos embarcadas. XAJ tem uma nova unidade sintática, as classes sintáticas, que encapsulam as definições das extensões, aumentando a modularidade das mesmas. Novos mecanismos de importação são definidos para o uso das extensões, permitindo que sejam usadas em escopo local, não modificando globalmente a gramática da linguagem base. As extensões definidas na linguagem XAJ são portáveis, pois não são dependentes de ferramentas de implementação, sendo definidas na própria linguagem. |
publishDate |
2010 |
dc.date.issued.fl_str_mv |
2010-03-12 |
dc.date.accessioned.fl_str_mv |
2019-08-11T13:12:07Z |
dc.date.available.fl_str_mv |
2019-08-11T13:12:07Z |
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 |
http://hdl.handle.net/1843/SLSS-85BKYB |
url |
http://hdl.handle.net/1843/SLSS-85BKYB |
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.publisher.none.fl_str_mv |
Universidade Federal de Minas Gerais |
dc.publisher.initials.fl_str_mv |
UFMG |
publisher.none.fl_str_mv |
Universidade Federal de Minas Gerais |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFMG instname:Universidade Federal de Minas Gerais (UFMG) instacron:UFMG |
instname_str |
Universidade Federal de Minas Gerais (UFMG) |
instacron_str |
UFMG |
institution |
UFMG |
reponame_str |
Repositório Institucional da UFMG |
collection |
Repositório Institucional da UFMG |
bitstream.url.fl_str_mv |
https://repositorio.ufmg.br/bitstream/1843/SLSS-85BKYB/1/leonardovieirasantosreis.pdf https://repositorio.ufmg.br/bitstream/1843/SLSS-85BKYB/2/leonardovieirasantosreis.pdf.txt |
bitstream.checksum.fl_str_mv |
0707b0b15c4b250d3dd44990bf763e92 823b42b0dd0975540164964c97c3461b |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG) |
repository.mail.fl_str_mv |
|
_version_ |
1793890857598844928 |