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

Slides:



Advertisements
Apresentações semelhantes
Exemplo de Projeto Vamos criar agora um projeto exemplo para verificar as condições de crédito de um conjunto de indivíduos; Nosso primeiro conjunto de.
Advertisements

Programação em Java Prof. Maurício Braga
Programação Orientada a Objetos*
Raphael Gatti Thomás Bryan
Software Básico Silvio Fernandes
PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
De 26 1 MVV - Arquitetura da Máquina Virtual Virtuosi Carlos José Johann Kolb Programa de Pós-Graduação em Informática Aplicada Centro de Ciências Exatas.
Uma linguagem de programação para o ambiente Virtuosi
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Mutação Orientada a Objeto para Assegurar a Qualidade de Testes Baseado no Artigo: Object-Oriented Mutation to Asses the Quality of Tests Anna Derezinska.
Recursividade Inhaúma Neves Ferraz
Informática Industrial
Refactoring de Programas Java
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Capítulo 13 Pacotes. 2 Capítulo 13 – Pacotes Pacotes Pacote Cláusula package Cláusula import Executando uma classe de pacote Modificadores de acesso.
Auditoria de Segurança da Informação
Treinamento no GRADEp HelloWorld Args. Slide 2 Rede Nacional de Ensino e Pesquisa Treinamento em Gradep - julho 2005 HelloWorld e Args Autoria Autora.
Aula 8 Orientação à Objetos
Aula 6 Subprogramas Universidade do Vale do Rio dos Sinos
Aula 10 Manipulação de Exceções
JAVA ENUMS © 2009 by Jorge L. de Souza Leão março de 2009 PEE - COPPE/UFRJ.
Capítulo 9 Herança 1.
Classes e objetos Modelagem
Herança P. O. O. Prof. Ângela e Grace.
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação JAVA
JAVA: Conceitos Iniciais
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
AdverServer Servidor de Ranking para AdverGames Parte 1 Felipe Maia.
Sejam bem vindos! Arquitetura de Sistemas Operacionais.
Programação Orientada a Objetos com Java
Aula prática – geração de código (.NET)
Visão Geral do RUP.
METODOLOGIA PARA DESENVOLVIMENTO DE SISTEMAS Prof. Dr. rer. nat. Daniel D. Abdala 1.
GAPH Integração de Hardware do Usuário ao CoreConnect Leandro Heleno Möller e Leonel Pablo Tedesco Prototipação Rápida e Computação.
Salas de Matemática.
Compras – Cadastro de Cotação de Produtos
Inserir crédito para cliente
Entrada de Produtos Posto de Combustível.
1.
Programação orientada a Aspectos Radio Manager System.
Financeiro – Despesas Fixas e Variáveis
1 2 Observa ilustração. Cria um texto. Observa ilustração.
1.
Compras - Controle de estoque com dois ou mais depósitos
1 JavaCC Prof. Alexandre Monteiro Baseado em material cedido pelo Prof. Euclides Arcoverde Recife.
CALENDÁRIO SEXY Ele & Ela. CALENDÁRIO SEXY Ele & Ela.
Orientação a Objetos e Java Graduação em Ciência da Computação
Rio Verde - Goiás - Brasil
Expressões Regulares no cotidiano Rafael Santiago.
Fiscal - Regra de imposto IdentificaçãoFIS_003 Data Revisão18/10/2013.
Wagner Santos C. de Jesus
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Sistema de Transformação para a linguagem OO1 Adeline Sousa Gustavo Santos.
Analisador Léxico Prof. Alexandre Monteiro
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Cadastro de Contas a Pagar
Contagem Sequencial do Estoque
Contagem Sequencial do Estoque
Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System Parte 1.
Título do Projeto Equipe.
Linguagem de Transformação para a linguagem OO1 Adeline Sousa Gustavo Santos.
Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System Parte 1.
Programação orientada a Aspectos Radio Manager System.
Diêgo Santiago, Leila Soriano e Patrícia Lustosa
Diêgo Santiago, Leila Soriano e Patrícia Lustosa
Transcrição da apresentação:

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