Ja TS Java Transformation System 27032008 Digo Santiago

  • Slides: 19
Download presentation
Ja. TS Java Transformation System 27/03/2008 Diêgo Santiago, Leila Soriano e Patrícia Lustosa

Ja. TS Java Transformation System 27/03/2008 Diêgo Santiago, Leila Soriano e Patrícia Lustosa

Roteiro 2 Sistema - Ja. TS Concerns Exemplos Atividade Métricas Conclusão de Atribuição dos

Roteiro 2 Sistema - Ja. TS Concerns Exemplos Atividade Métricas Conclusão de Atribuição dos Concerns

Sistema - Ja. TS 3 Ferramenta e linguagem de transformação de código Java Permite

Sistema - Ja. TS 3 Ferramenta e linguagem de transformação de código Java Permite geração e transformação de código Baseada em templates e variáveis

Sistema - Ja. TS 4 public class Livro { private String autor private String

Sistema - Ja. TS 4 public class Livro { private String autor private String editora; } Código Fonte Modifier. List: #MODIFICADOR Field. Declaration. Set: #ATRIBUTOS; } Transformação Fonte class #NOME_CLASSE Field. Declaration. Set: #ATRIBUTOS; private String isbn; } Transformação Destino class #NOME_CLASSE { { public class Livro { private String autor private String editora; private String isbn; } Código Destino

Arquitetura Ja. TS 5 Parser Saída Entrada Saída Código Fonte Template Destino Transformation Pretty.

Arquitetura Ja. TS 5 Parser Saída Entrada Saída Código Fonte Template Destino Transformation Pretty. Printing Saída Código Destino

Parser 6 Parser Transformation Pretty. Printing Analisador Léxico e Sintático Identifica se o código

Parser 6 Parser Transformation Pretty. Printing Analisador Léxico e Sintático Identifica se o código Java/ Ja. TS está bem formado Cria a Árvore Sintática de nós Java/Ja. TS

Transformation 7 Parser Transformation Pretty. Printing Matcher Faz o casamento entre o código fonte

Transformation 7 Parser Transformation Pretty. Printing Matcher Faz o casamento entre o código fonte e o template fonte Replacer Casa os valores das variáveis no template destino que dará origem ao código destino Processor Processa declarações executáveis e iterativas

Pretty Printing 8 Parser Transformation Pretty. Printing “Imprime” o código destino da transformação

Pretty Printing 8 Parser Transformation Pretty. Printing “Imprime” o código destino da transformação

Sistema - Ja. TS 9

Sistema - Ja. TS 9

Concerns 10 Parse Transformation Match Process Replacement Pretty Print Árvore Sintática Lançamento de Exceções

Concerns 10 Parse Transformation Match Process Replacement Pretty Print Árvore Sintática Lançamento de Exceções

Exemplos 11

Exemplos 11

Exemplos 12

Exemplos 12

Exemplos 13

Exemplos 13

Exemplos 14

Exemplos 14

Atividade de Atribuição dos Concerns 15 Número de linhas de código marcadas: 30. 477

Atividade de Atribuição dos Concerns 15 Número de linhas de código marcadas: 30. 477 Tempo total para marcar: 24 horas Dúvidas Classes do pacote util Interface e classes abstratas Classes geradas automaticamente Main Problemas Concern. Tagger

Métricas 16

Métricas 16

Conclusão 17

Conclusão 17

Referências 18 Eaddy, M et al. Do Crosscutting Concerns Cause Defects? Eaddy, M et

Referências 18 Eaddy, M et al. Do Crosscutting Concerns Cause Defects? Eaddy, M et al. Identifying, Assigning, and Quantifying Crosscutting Concerns Site do Ja. TS http: //www. cin. ufpe. br/~jats/

Dúvidas? 19

Dúvidas? 19