Structuring Adaptive Applications using AspectJ

Bibliographic Details
Main Author: Débora Dantas de Souza, Ayla
Publication Date: 2004
Format: Master thesis
Language: por
Source: Repositório Institucional da UFPE
dARK ID: ark:/64986/0013000005b8g
Download full: https://repositorio.ufpe.br/handle/123456789/2469
Summary: 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
id UFPE_d0b222e71cf6af9a54ca983d3eff144f
oai_identifier_str oai:repositorio.ufpe.br:123456789/2469
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling Structuring Adaptive Applications using AspectJAspectJProgramação orientada a aspectosEvolução de softwareSeparação de preocupaçõesAdaptive-object modelsAdaptabilidadeSistemas adaptativosPadrõesOs 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çãoUniversidade Federal de PernambucoHenrique Monteiro Borba, Paulo Débora Dantas de Souza, Ayla2014-06-12T15:58:29Z2014-06-12T15:58:29Z2004info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfDébora Dantas de Souza, Ayla; Henrique Monteiro Borba, Paulo. Structuring Adaptive Applications using AspectJ. 2004. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2004.https://repositorio.ufpe.br/handle/123456789/2469ark:/64986/0013000005b8gporAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPE2019-10-25T05:40:59Zoai:repositorio.ufpe.br:123456789/2469Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T05:40:59Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.none.fl_str_mv Structuring Adaptive Applications using AspectJ
title Structuring Adaptive Applications using AspectJ
spellingShingle Structuring Adaptive Applications using AspectJ
Débora Dantas de Souza, Ayla
AspectJ
Programação orientada a aspectos
Evolução de software
Separação de preocupações
Adaptive-object models
Adaptabilidade
Sistemas adaptativos
Padrões
title_short Structuring Adaptive Applications using AspectJ
title_full Structuring Adaptive Applications using AspectJ
title_fullStr Structuring Adaptive Applications using AspectJ
title_full_unstemmed Structuring Adaptive Applications using AspectJ
title_sort Structuring Adaptive Applications using AspectJ
author Débora Dantas de Souza, Ayla
author_facet Débora Dantas de Souza, Ayla
author_role author
dc.contributor.none.fl_str_mv Henrique Monteiro Borba, Paulo
dc.contributor.author.fl_str_mv Débora Dantas de Souza, Ayla
dc.subject.por.fl_str_mv AspectJ
Programação orientada a aspectos
Evolução de software
Separação de preocupações
Adaptive-object models
Adaptabilidade
Sistemas adaptativos
Padrões
topic AspectJ
Programação orientada a aspectos
Evolução de software
Separação de preocupações
Adaptive-object models
Adaptabilidade
Sistemas adaptativos
Padrões
description 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
publishDate 2004
dc.date.none.fl_str_mv 2004
2014-06-12T15:58:29Z
2014-06-12T15:58:29Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv Débora Dantas de Souza, Ayla; Henrique Monteiro Borba, Paulo. Structuring Adaptive Applications using AspectJ. 2004. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2004.
https://repositorio.ufpe.br/handle/123456789/2469
dc.identifier.dark.fl_str_mv ark:/64986/0013000005b8g
identifier_str_mv Débora Dantas de Souza, Ayla; Henrique Monteiro Borba, Paulo. Structuring Adaptive Applications using AspectJ. 2004. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2004.
ark:/64986/0013000005b8g
url https://repositorio.ufpe.br/handle/123456789/2469
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1846272377421299712