Especialização de linguagens orientadas a aspectos baseada em extensibilidade de gramáticas

Detalhes bibliográficos
Ano de defesa: 2010
Autor(a) principal: Leonardo Vieira dos Santos Reis
Orientador(a): Roberto da Silva Bigonha
Banca de defesa: Marcelo de Almeida Maia, Marco Tulio de Oliveira Valente, Mariza Andrade da Silva Bigonha
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