Publicação: Avaliação do desempenho de técnicas de programação orientada a aspectos
Carregando...
Tipo do documento
Data
Direito de acesso
Área do conhecimento
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Título da Revista
ISSN da Revista
Título de Volume
Orientador
Coorientador
Maia, Marcelo de Almeida
Resumo
A Programação Orientada a Aspectos (POA) foi proposta com o principal objetivo de
tratar um princípio importante da qualidade de software, que é a modularização. A idéia
básica do paradigma é capturar interesses transversais e tratá-los de forma independente
do restante da aplicação. POA surgiu como um complemento à Programação Orientada
a Objetos (POO), dando origem a uma série de estudos empíricos sobre esse novo paradigma.
Uma variedade de métricas foram aplicadas sobre POA com o intuito de evidenciar
seus benefícios ou problemas, no entanto não há consenso sobre o impacto no desempenho
a respeito do uso das técnicas de POA para tratar os interesses transversais nos sistemas.
Para tentar identificar se tais técnicas de POA causam impacto no desempenho dos sistemas,
esse estudo propôs um experimento controlado sobre um sistema acadêmico da
Universidade Federal de Uberlândia. O experimento teve o propósito de avaliar fatores
relacionadas a POA que podem influenciar no desempenho dos sistemas. De acordo com
os resultados obtidos nesse estudo, fatores como o weaver, número de join points, tipo de
advice e número de línhas de código (LOC) causam influência no desempenho dos sistemas
quando se trata de POA. Essa influência, no entanto, se mostrou insignificante para
aplicações web comuns que fazem acesso a banco de dados e possuem framework MVC. Os
resultados também apontam que, especificamente para o processo de load-time weaving,
o estágio de carregamento das classes pode prejudicar o desempenho de aplicações que
operam no mesmo ambiente. Esses resultados podem ser utilizados por arquitetos e desenvolvedores
para influenciar decisões relacionadas a projetos de arquitetura de sistemas
envolvendo POA.
Abstract
Aspect-Oriented Programming (AOP) was proposed with the main objective of addressing
an important software quality principle that is modularization. The basic idea of
the paradigm is to capture crosscutting concerns and handle them independently from the
rest of the application. AOP emerged as complement to Object-Oriented Programming
(OOP), generating many evaluations and empirical studies about this new paradigm. A
variety of metrics were applyed on AOP in order to provide evidence of its benefits or
problems, however there is no consensus about the impact on performance of the use
of AOP techniques to deal with crosscutting concerns on systems. In order to identify if
these techniques related to AOP have impact on system performance, this study proposed
a controlled experiment on an academic system of the Federal University of Uberlândia.
The experiment had the purpose of assessing factors related to AOP which may influence
systems performance. According to the results achieved by this study, factors such as
the weaver, number of join points, type of advice and number of lines of code (LOC)
affect systems performance when it comes to AOP. This influence, however, showed up
to be negligible for common web applications which access databases and have MVC framework.
Results also address that, specifically for the load-time weaving process, the
stage of loading of classes may affect performance of applications which run on the same
environment. These results can be used by architects and developers to reason about
system architecture projects concerning the use of AOP.
Palavras-chave
Desempenho, Interesses transversais, Aspect oriented programming, Performance, Crosscutting concerns
Citação
SILVA, Rodrigo Fernandes Gomes da. Avaliação do desempenho de técnicas de programação orientada a aspectos. 2014. 118 f. Dissertação (Mestrado em Ciências Exatas e da Terra) - Universidade Federal de Uberlândia, Uberlândia, 2014. DOI https://doi.org/10.14393/ufu.di.2014.314