• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 1
  • Tagged with
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Design rules for increasing modularity with CaesarJ

Eduardo 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.108 seconds