Linguagem de Transformação para a linguagem OO1 Adeline Sousa Gustavo Santos.

Slides:



Advertisements
Apresentações semelhantes
O Processo Praxis 3.0 Processos de Software 25/03/2017
Advertisements

UNIVERSIDADE ESTADUAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO ENGENHARIA DE SOFTWARE Métricas de Software Prof.ª Adriana dos Santos Caparróz Carvalho.
Seminários de Compiladores
Deyvisson, Rafael M.P., Renato, Robson C.F., Rodolfo
FACULDADE DOS GUARARAPES
Projeto de Sistemas de Software
Padrão Abstract Factory
Linguagens de Modelagem para SMA
Introdução à Compilação Prof. Leandro Magno Slides adaptados a partir do material cedido pelos professores Heloise Manica Paris Teixeira, Yandre M. G.
Metodologias Orientadas a Agentes
Linguagens Livres de Contexto
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
YACC.
Linguagem de Prog. e Programas
Análise Estruturada O mais amplamente usado dos métodos de modelagem de requisitos Modelos que retratam fluxo e o conteúdo da informação (dados e controle)
Linguagens de Programação
Especificação de Requisitos em PIT-RSL
Tópicos Tipos de Dados Variáveis por Valor Variáveis por Referência
Informática.
Aula 1 Minicurso: Astah Ministrantes: André Martins; Camila Brondani;
Análise léxica e sintática
Análise de Sistemas de Software Prof. Rodrigo Ribeiro.
Banco de Dados II Prof. Antônio Cordeiro.
Gramáticas Livres de Contexto
Otimizador de consultas
Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System.
Análises léxica e sintática
Análise Léxica Primeira fase de um compilador
Capítulo II Gramáticas e Linguagens
Analise sintática aula-07-analise-sintática.pdf.
Ruby (2/2) André Braga Patrícia Lustosa. Intro Peguem a aula de ontem em /~plvr para ter como referência para os exercícios de hoje.
Análises léxica e sintática
Sistema de Transformação para a linguagem OO1 Adeline Sousa Gustavo Santos.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Banco de Dados Aplicado ao Desenvolvimento de Software
Sistemas da informação para processos produtivos Softwares e programação.
Algumas notas sobre a linguagem de programação C
Análise Sintática Prof. Alexandre Monteiro
Tradução Dirigida por Sintaxe
Modelagem de Agentes: MAS-COMMONKADS+ e StarUML Laboratório de Engenharia de Software.
Back-End Compilação aula-11-back-end.pdf.
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
AST no ANTLR Teoria e Implementação de Linguagens Computacionais - IF688 Allan J. Souza
Ferramentas de Suporte a MDD: Um Quadro Comparativo
Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System Parte 1.
COMPILADORES 04 Prof. Marcos.
Fundamentos de linguagens de programação
Padrões de Projeto Abstract Factory.
Semântica de Linguagens de Programação
UML e a Ferramenta Astah
© Nabor C. Mendonça Processo / Metodologia de Desenvolvimento de Software.
Métodos Formais Juan Andrés Mussini.
Banco de Dados Universidade do Estado de Santa Catarina
Sintaxe de uma Linguagem
Profa. Reane Franco Goulart. É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro.
PLP – JavaCC Java Compiler Compiler
Módulo II Capítulo 1: Orientação a Objetos
Paradigmas das Linguagens de Programação - História
Compilador Software que traduz o texto (linguagem fonte) que representa um programa para código máquina(linguagem alvo) capaz de ser executado pelo.
Faculdade Pernambuca - FAPE Compiladores Abril/2007 Compiladores Abril/2007.
Informática Teórica Engenharia da Computação. Teoria da Computação Contexto do que vamos começar a estudar As linguagens também podem ser definidas formalmente.
COMPILADORES 03 Prof. Marcos.
Diêgo Santiago, Leila Soriano e Patrícia Lustosa 27/03/2008 JaTS Java Transformation System Parte 1.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Fernando Castor e Paulo Borba Decisões/Escolhas de Projeto.
SEMÂNTICA DENOTACIONAL Alexandre Mota
Diêgo Santiago, Leila Soriano e Patrícia Lustosa
Transcrição da apresentação:

Linguagem de Transformação para a linguagem OO1 Adeline Sousa Gustavo Santos

Motivação  A técnica de Transformação de Programas dá suporte a: Refactoring Desenvolvimento formal de software Geração de código  Limitação dos sistemas existentes Genéricos X Específicos

Motivação (2)  Instanciação do “modelo JaTS”  Dará suporte ao desenvolvimento de um modelo de sistema de transformação independente de linguagem

O sistema OOTS  Constituído de duas linguagens Linguagem para construção de templates OOTS-TL Linguagem para especificação de transformações OOTS-ES  OOTS se apresenta como um ambiente de meta-programação para OO1

A Linguagem OOTS-TL  Linguagem para especificar templates para transformações em programas OO1  Um super-conjunto de OO1  Possibilita especificação de templates de casamento (lado esquerdo) e geração (lado direito)

Variáveis OOTS-TL  São usadas como placeholders nas transformações  Consistem de identificadores OO1 precedidos pelo caractere ‘#’  Podem ser declaradas como sendo de um tipo específico

Transformações em OOTS  São compostas por: Pré-condição Lado esquerdo Lado direito

Transformações em OOTS  Aplicadas nas seguintes etapas: Parsing Transformação Casamento Substituição Processamento Pretty-Printing (unparsing)

Declarações Executáveis  Permitem operações sobre a árvore do programa  Aparecem apenas nos templates do lado direito

Declarações Iterativas  Permitem gerar coleções de declarações com o mesmo padrão  Exemplo...

A Linguagem OOTS-SL  Linguagem para especificação de transformações  Exemplo...

OOTS – Fase 1  Alteração de todos os nós para suportar as transformações Utilização do JaTS  Extensão do parser Variáveis OOTS Expressões executáveis Expressões iterativas

OOTS – Fase 2  Linguagem pra especificar uma transformação Novo parser Novas produções Construção do ambiente de execução OOTS