Structuring Adaptive Applications using AspectJ

Made available in DSpace on 2014-06-12T15:58:29Z (GMT). No. of bitstreams: 2
arquivo4584_1.pdf: 1969312 bytes, checksum: ebc699427e4ae5f379c7d0e4b5d9b28f (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2004 / Os dispositivos computacionais estão se tornando ubíquos. Com um celular, atualmente,
podemos acessar e manipular informação praticamente em qualquer lugar e a qualquer
instante. Neste cenário de computação ubíqua, tem-se exigido que tais sistemas sejam
adaptativos, ou seja, tenham a capacidade de se adaptar em decorrência de mudanças
no contexto em que estão inseridos.
É importante destacar, porém, que a adaptabilidade adiciona certa complexidade ao
desenvolvimento de aplicações. Um dos problemas é que a implementação de comportamentos
adaptativos em muitos casos se entrelaça com outras preocupações da aplicação,
como apresentação, negócio e dados, levando a problemas de legibilidade que podem
prejudicar a manutenabilidade do código.
A programação orientada a aspectos pode ser usada para facilitar a resolução de
problemas relacionados a código entrela¸cado, e dar suporte ao desenvolvimento de programas
adaptativos, e ao mesmo tempo adaptáveis (fáceis de modificar) com bons níveis
de qualidade e produtividade. Essa dissertação mostra como podemos usar aspectos, em
especial em AspectJ, para estruturar aplicações adaptativas, minimizando dessa forma o
entrelaçamento de código. AspectJ é uma linguagem orientada a aspectos, de propósito
geral, e que estende a linguagem Java. Ela é voltada `a separação de preocupações. Em
nosso trabalho ela é utilizada para promover a separação da preocupação adaptabilidade ,
obtendo-se assim uma implementação modular.
Através do uso dessa linguagem, identificamos boas práticas para a estruturação de
aplicações adaptativas, as quais foram resumidas em um padrão denominado Adaptability
Aspects. Escolhemos a plataforma Java 2 Micro Edition para implementar várias
preocupações relativas a adaptabilidade, principalmente pelo fato de ser uma tecnologia
destinada a dispositivos ubíquos e com recursos limitados.
Al´em de AspectJ, analisamos também uma outra abordagem para a estruturação
de aplicações adaptativas: o uso do estilo arquitetural denominado Adaptive Object-
Models . Verificamos a partir dessa análise que ele poderia ser combinado com o nosso
padrão, e portanto, beneficiar-se com o uso de aspectos. Dessa forma, poderia-se oferecer
suporte a um conjunto maior de adaptações e ao mesmo tempo obter-se uma estrutura
ção no código mais fácil de compreender.
Por fim, avaliamos o impacto de AspectJ, através do uso do padrão Adaptability
Aspects, para implementar alguns requisitos de adaptabilidade em aplicações J2ME.
Comparamos nossa implementação com uma solução em que a implementação destes
requisitos não é tão modular e com uma outra solução utilizando padrões de projeto
puramente orientados a objeto na qual se buscava tal modularidade. Alguns dos aspectos
comparados foram tempo de execução, memória utilizada, tamanho da aplicação e de
seu código. Além de medir tais fatores, descrevemos os ganhos que a programação
orientada a aspectos pode trazer para a estruturação de aplicações adaptativas visando
obter qualidade em termos de reuso e facilidade de manutenção

Identiferoai:union.ndltd.org:IBICT/oai:repositorio.ufpe.br:123456789/2469
Date January 2004
CreatorsDébora Dantas de Souza, Ayla
ContributorsHenrique Monteiro Borba, Paulo
PublisherUniversidade Federal de Pernambuco
Source SetsIBICT Brazilian ETDs
LanguagePortuguese
Detected LanguagePortuguese
Typeinfo:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis
Sourcereponame:Repositório Institucional da UFPE, instname:Universidade Federal de Pernambuco, instacron:UFPE
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0025 seconds