Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System
Roteiro Sistema - JaTS Concerns Exemplos Atividade de Atribuição dos Concerns Métricas Conclusão 2
Sistema - JaTS 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 3
JaTS Sistema - JaTS public class Livro { private String autor private String editora; } ModifierList:#MODIFICADOR class #NOME_CLASSE { FieldDeclarationSet:#ATRIBUTOS; } ModifierList:#MODIFICADOR class #NOME_CLASSE { FieldDeclarationSet:#ATRIBUTOS; private String isbn; } public class Livro { private String autor private String editora; private String isbn; } Código Fonte Transformação Fonte Transformação Destino Código Destino 4
Arquitetura JaTS Saída Parser Transformation PrettyPrinting Saída Código Fonte Template Fonte Template Destino Código Destino Saída Entrada 5
Parser Analisador Léxico e Sintático Identifica se o código Java/JaTS está bem formado Cria a Árvore Sintática de nós Java/JaTS Parser Transformation PrettyPrinting 6
Transformation 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 Parser Transformation PrettyPrinting 7
Pretty Printing “Imprime” o código destino da transformação Parser Transformation PrettyPrinting 8
Sistema - JaTS 9
Concerns Parse Transformation Match Process Replacement Pretty Print Árvore Sintática Lançamento de Exceções 10
Exemplos 11
Exemplos 12
Exemplos 13
Exemplos 14
Atividade de Atribuição dos Concerns Número de linhas de código marcadas: Tempo total para marcar: 24 horas Dúvidas Classes do pacote util Interface e classes abstratas Classes geradas automaticamente Main Problemas ConcernTagger 15
Métricas 16
Conclusão 17
Referências Eaddy, M et al. Do Crosscutting Concerns Cause Defects? Eaddy, M et al. Identifying, Assigning, and Quantifying Crosscutting Concerns Site do JaTS 18
Dúvidas? 19