0
Estimativa de Métricas de Separação de 
Interesses em Processos de Refatoração  para 
            Extração de Aspectos

  ...
INTRODUÇÃO




   Orientado a Objetos:

       • Espalhamento de Código
           • Mesma implementação em várias classes...
INTRODUÇÃO




   Dúvida:


                            Vale a pena migrar?

             Aplicação OO                    ...
MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO




    Ferramenta:

    ConcernMapper
                      ConcernMetrics

    Func...
MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO




    Funcionalidades:

       •   Mapeamento lógico de interesses transversais
   ...
MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO




    Implementação:

    Calculo de CDO e CDC:

       •   Framework ASM2 Manipula...
MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO




    Implementação:

    Calculo de CDO e CDC:

      Algoritmo
      t1.m(arg1) a...
MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO




    Implementação:

    Calculo de CDO e CDC:

     Chamadas a start
       • Me...
ESTUDO DE CASO JSPIDER




    JSpider: (http://j-spider.sourceforge.net)

    JSpider é um robô que permite recuperar e v...
ESTUDO DE CASO JSPIDER




    JSpider:(http://j-spider.sourceforge.net)




          Interesse Logging

                ...
ESTUDO DE CASO JSPIDER




    JSpider:(http://j-spider.sourceforge.net)

    Análise dos Resultados

          • Calculo ...
Trabalhos Relacionados




     ConcernMetrics (CM) x ConcernTagger (CT):

     ConcernTagger

         • Extensão que tam...
Conclusão




     Conclusão:


     A ferramenta ConcernMetrics, utilizada para mapeamento de interesses
     transversai...
Upcoming SlideShare
Loading in...5
×

Estimativa de métricas de separação de interesses

893

Published on

Elaborado a partir do artigo no seguinte link
http://www.inf.pucminas.br/professores/mtov/pub/wmswm2009.pdf

Published in: Technology
1 Comment
0 Likes
Statistics
Notes
  • Slide elaborado a partir do artigo disponível em:
    http://www.inf.pucminas.br/professores/mtov/pub/wmswm2009.pdf

    Vale a pena baixar e ler.
    Att,
    SérgioSouza
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total Views
893
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Estimativa de métricas de separação de interesses"

  1. 1. Estimativa de Métricas de Separação de  Interesses em Processos de Refatoração  para  Extração de Aspectos Introdução ao Desenvolvimento de Software Orientado por Aspectos José Corrêa Leonardo Rodrigues Miquéias Souza Sérgio Souza
  2. 2. INTRODUÇÃO Orientado a Objetos: • Espalhamento de Código • Mesma implementação em várias classes • Localização de todos os Concerns a serem alterados • Difícil manutenibilidade • Código entrelaçado • Mistura de código • Dificuldade em entender a implementação • Alterar sem afetar outros interesses Orientado a Aspectos: • Modularização de interesses • Escalabilidade • Manutenibilidade • Reutilização de código • Maior produtividade
  3. 3. INTRODUÇÃO Dúvida: Vale a pena migrar? Aplicação OO Aplicação OA
  4. 4. MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO Ferramenta: ConcernMapper ConcernMetrics Funcionalidades Mapeamento lógico de interesses transversais Estimativa de métricas de separação de interesses Mapeamento do interesse logging usando o ConcernMetrics
  5. 5. MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO Funcionalidades: • Mapeamento lógico de interesses transversais • Permite uma visão modularizada dos interesses transversais • Métodos e Atributos de interesses transversais • Estimativa de métricas de separação de interesses • Calculo das métricas clássicas de separação de interesses 1. Concern Diffusion over Operations (CDO) • MC onde ‘M’ representa os métodos e ‘c’ os interesses concerns. Conta o número de métodos e ou adendos que chamam os métodos em MC. 2. Concern Diffusion over Components (CDC) • CC onde ‘C’ representa os componentes e ‘c’ os interesses concerns. Conta o número de componentes que acessam os componentes em CC. Componentes são classes (Sistema OO) e classes e aspectos (Sistema OA).
  6. 6. MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO Implementação: Calculo de CDO e CDC: • Framework ASM2 Manipulação, analise e reengenharia de bytecodes. Sistemas OO é direto: Chamadas estão incluídas fisicamente no bytecode. Sistemas OA exige analise: Identificar as chamadas que podem ser incluídas no mesmo adendo.
  7. 7. MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO Implementação: Calculo de CDO e CDC: Algoritmo t1.m(arg1) and t2.m(arg2), onde ti denota o alvo da chamada e argi denota seu argumento (i = 1 ou i = 2). As duas chamadas podem ser agrupadas em um mesmo adendo, usando os recursos de quantificação de AspectJ, quando as seguintes condições são simultaneamente válidas: 1. t1 e t2 são variáveis da mesma classe (ou mesma classe, no caso de métodos estáticos). 2. arg1 e arg2 representam o mesmo valor constante (seja ele, um inteiro, real, string, etc).
  8. 8. MAPEAMENTO, MÉTRICAS E IMPLEMENTAÇÃO Implementação: Calculo de CDO e CDC:  Chamadas a start • Mesmo tipo (Transaction) • Mesmos Argumentos, valor constante (1) ㄨ Chamada a log • Diferentes argumentos (“panic” e “finished”)
  9. 9. ESTUDO DE CASO JSPIDER JSpider: (http://j-spider.sourceforge.net) JSpider é um robô que permite recuperar e validar páginas Web. Versão OO e OA (Binkley et al). Interesse Logging • Calculo de CDO. Métrica CDO para o interesse logging nas versões OO e OA
  10. 10. ESTUDO DE CASO JSPIDER JSpider:(http://j-spider.sourceforge.net) Interesse Logging • Calculo de CDC. Métrica CDC para o interesse logging nas versões OO e OA
  11. 11. ESTUDO DE CASO JSPIDER JSpider:(http://j-spider.sourceforge.net) Análise dos Resultados • Calculo de CDO: Diferenças de valores, por adição ou remoção de código. • Calculo de CDC: Sem diferenças.
  12. 12. Trabalhos Relacionados ConcernMetrics (CM) x ConcernTagger (CT): ConcernTagger • Extensão que também permite o mapeamento lógico de interesses transversais e elementos sintáticos. Calculando métricas como CDC e CDO. Diferenças – CM e CT • Identificação manual de interesses transversais. (Métodos e chamadas a esses métodos) • Calculo semi-automático • Não realiza estimativas de novos valores de CDO e CDC para “aspectização” do código OO.
  13. 13. Conclusão Conclusão: A ferramenta ConcernMetrics, utilizada para mapeamento de interesses transversais em códigos de sistemas OO, se mostrou eficiente atendendo a seu propósito de calcular métricas para uma possível modularização de interesses a ser realizada. Diante de analise dessas métricas, os mantenedores de software estudam a viabilidade de se utilizar aspectos em seus sistemas ou não.
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×