Made available in DSpace on 2014-06-12T15:55:28Z (GMT). No. of bitstreams: 2
arquivo2238_1.pdf: 2132040 bytes, checksum: 7403ada2f7f20b6592ef20ce13dad893 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2011 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / Programação Orientada a Aspectos (POA) é um mecanismo de programação proposto
para modularizar os requisitos transversais, visando um aumento na modularidade de
software. Entretanto, recentemente alguns autores tem alegado que o uso de POA quebra
a modularidade das classes. Isso acontece pois, sem o uso de interfaces apropriadas entre
classes e aspectos, diversas propriedades de um design modular, como compreensibilidade,
manutenabilidade e desenvolvimento em paralelo, são comprometidas na presença de
aspectos.
Diversas interfaces especializadas (design rules) para desacoplar classes e aspectos
foram propostas visando atenuar esse problema, como XPIs e LSD. Entretanto, tais
interfaces são específicas para a linguagem AspectJ, que possui problemas de reúso e
modularidade de aspectos. CaesarJ, por outro lado, é uma linguagem de programação
orientada a aspectos com forte suporte para reúso e modularidade de aspectos. Essa
linguagem combina as construções OA pointcut e advice com avan¸cados mecanismos de
modularização OO.
Nesse trabalho nós exploramos algumas construções de CaesarJ com o intuito de verificar
se elas podem ser utilizadas para definir Design Rules que permitam um desenvolvimento
modular de código OO e OA. Além disso, nós propomos CaesarJ+, uma extensão
de CaesarJ que foca no aumento de modularidade. Essa extensão introduz construções
que permitem impor restrições estruturais sobre os códigos OO e OA. Um compilador
para CaesarJ+, que verifica se as restrições especificadas nas Design Rules estão sendo
seguidas, e transforma o código CaesarJ+ em código CaesarJ também foi desenvolvido
nesse trabalho.
Para avaliar CaesarJ+, nós comparamos as implementações de três estudos de caso
em CaesarJ+ e CaesarJ. Nossos resultados revelam que o uso de CaesarJ+ proporciona
ganho de expressividade.
Identifer | oai:union.ndltd.org:IBICT/oai:repositorio.ufpe.br:123456789/2211 |
Date | 31 January 2011 |
Creators | Eduardo Pontual de Lemos Castro, Carlos |
Contributors | Henrique Monteiro Borba, Paulo |
Publisher | Universidade Federal de Pernambuco |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Source | reponame:Repositório Institucional da UFPE, instname:Universidade Federal de Pernambuco, instacron:UFPE |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0023 seconds