Use este identificador para citar ou linkar para este item:
https://repositorio.ufpe.br/handle/123456789/2211
Compartilhe esta página
Título: | Design rules for increasing modularity with CaesarJ |
Autor(es): | Eduardo Pontual de Lemos Castro, Carlos |
Palavras-chave: | Modularidade de software; Design rules; Programação orientada a aspectos; Programação orientada a objetos; CaesarJ |
Data do documento: | 31-Jan-2011 |
Editor: | Universidade Federal de Pernambuco |
Citação: | Eduardo Pontual de Lemos Castro, Carlos; Henrique Monteiro Borba, Paulo. Design rules for increasing modularity with CaesarJ. 2011. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2011. |
Abstract: | 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. |
URI: | https://repositorio.ufpe.br/handle/123456789/2211 |
Aparece nas coleções: | Dissertações de Mestrado - Ciência da Computação |
Arquivos associados a este item:
Arquivo | Descrição | Tamanho | Formato | |
---|---|---|---|---|
arquivo2238_1.pdf | 2,08 MB | Adobe PDF | ![]() Visualizar/Abrir |
Este arquivo é protegido por direitos autorais |
Este item está licenciada sob uma Licença Creative Commons