Spelling suggestions: "subject:"modularidade dde software"" "subject:"modularidade dee software""
1 |
Design rules for increasing modularity with CaesarJEduardo Pontual de Lemos Castro, Carlos 31 January 2011 (has links)
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.
|
Page generated in 0.0819 seconds