diêgo santiago, leila soriano e patrícia lustosa 27/03/2008 jats java transformation system
TRANSCRIPT
![Page 1: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/1.jpg)
Diêgo Santiago, Leila Soriano e Patrícia Lustosa27/03/2008
JaTSJaTS
Java Transformation Java Transformation SystemSystem
![Page 2: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/2.jpg)
Roteiro
Sistema - JaTS Concerns
Exemplos Atividade de Atribuição dos
Concerns
Métricas Conclusão
2
![Page 3: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/3.jpg)
Sistema - JaTS
Ferramenta e linguagem de Ferramenta e linguagem de transformação de código Javatransformação de código Java
Permite geração e transformação de Permite geração e transformação de códigocódigo
Baseada em templates e variáveisBaseada em templates e variáveis
3
![Page 4: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/4.jpg)
Sistema - JaTSJaTS
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 FonteTransformação Fonte
Transformação Destino
Código Destino
4
![Page 5: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/5.jpg)
Arquitetura JaTSArquitetura JaTS
Saída
ParserParser
TransformationTransformation
PrettyPrintingPrettyPrinting
SaídaSaída
Código FonteCódigo FonteTemplate FonteTemplate FonteTemplate DestinoTemplate Destino
Código DestinoCódigo Destino
SaídaSaída
EntradaEntrada
5
![Page 6: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/6.jpg)
ParserParser
Analisador Léxico e SintáticoAnalisador Léxico e Sintático Identifica se o código Identifica se o código
Java/JaTS está bem formadoJava/JaTS está bem formado Cria a Árvore Sintática de Cria a Árvore Sintática de
nós Java/JaTSnós Java/JaTS
ParserParser
TransformationTransformation
PrettyPrintingPrettyPrinting
6
![Page 7: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/7.jpg)
TransformationTransformation
MatcherMatcher Faz o casamento entre o Faz o casamento entre o
código fonte e o template código fonte e o template fontefonte
ReplacerReplacer Casa os valores das Casa os valores das
variáveis no template variáveis no template destino que dará origem ao destino que dará origem ao código destinocódigo destino
ProcessorProcessor Processa declarações Processa declarações
executáveis e iterativasexecutáveis e iterativas
ParserParser
TransformationTransformation
PrettyPrintingPrettyPrinting
7
![Page 8: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/8.jpg)
Pretty PrintingPretty Printing
““Imprime” o código destino Imprime” o código destino da transformaçãoda transformação
ParserParser
TransformationTransformation
PrettyPrintingPrettyPrinting
8
![Page 9: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/9.jpg)
Sistema - JaTS9
![Page 10: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/10.jpg)
Concerns
Parse Transformation
Match Process Replacement
Pretty Print Árvore Sintática Lançamento de
Exceções
10
![Page 11: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/11.jpg)
Exemplos11
![Page 12: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/12.jpg)
Exemplos12
![Page 13: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/13.jpg)
Exemplos13
![Page 14: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/14.jpg)
Exemplos14
![Page 15: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/15.jpg)
Atividade de Atribuição dos Concerns
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 ConcernTagger
15
![Page 16: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/16.jpg)
Métricas16
![Page 17: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/17.jpg)
Conclusão17
![Page 18: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/18.jpg)
Referências
Eaddy, M et al. Do Crosscutting Concerns Cause Defects?
Eaddy, M et al. Identifying, Assigning, and Quantifying Crosscutting Concerns
Site do JaTS http://www.cin.ufpe.br/~jats/
18
![Page 19: Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System](https://reader036.vdocuments.mx/reader036/viewer/2022062512/552fc141497959413d8df535/html5/thumbnails/19.jpg)
Dúvidas?19