MetaCG

Post on 24-May-2015

278 views 3 download

Transcript of MetaCG

Workshop de Pesquisas do Grupo PET Computação

III WPPC

MetaCG - Uma Abordagem Baseada em

Meta-modelos para a Escrita de

Geradores de Código

Natã Melo

natanvm@dsc.ufcg.edu.br

Anderson Ledo, Franklin Ramalho

{ledo, franklin}@dsc.ufcg.edu.br

III WPPC - Dezembro, 2010

Agenda

• Contexto

• Motivação

• Abordagem MetaCG

• Objetivo

• Ferramenta Computacional

• Considerações Finais

2MetaCG - Natã Melo

III WPPC - Dezembro, 2010

Idéia de Modelo!

Contexto

3MetaCG - Natã Melo

public class Pessoa {

private String nome;

public String getSaudacao(){

}

}

III WPPC - Dezembro, 2010

Idéia de Meta-Modelo!

Contexto

4MetaCG - Natã Melo

Modelo

Meta-Modelo Meta-Linguagem

DescreveInstância

III WPPC - Dezembro, 2010

Exemplo!

Contexto

5MetaCG - Natã Melo

Carro

Automóvel

Instância

Elemento do Meta-Modelo

Elemento do Modelo

QuadriláteroQuadrilátero

Polígono

Instância

PentágonoPentágono Ônibus

III WPPC - Dezembro, 2010

MDA – Model Driven Architecture

• Proposta pela OMG

– Mudança de paradigma

• Focar o desenvolvimento do software em modelos

– Modelos não são apenas documentos para auxiliar o desenvolvimento de software, eles são o próprio software

• Geração Automática de código

6MetaCG - Natã Melo

Contexto

III WPPC - Dezembro, 2010

Contexto

Transformações deModelo para Texto Código Concreto

7MetaCG - Natã Melo

Gerador de Código!

Modelo

Regras

MOF2Text eMOFScript

III WPPC - Dezembro, 2010

Por quê surgiu a idéia da abordagem MetaCG?

• Poucos trabalhos relacionados à geração de sintaxe concreta

• Os trabalhos existentes não tratam transformações textuais adequadamente

• Como promover fácil entendimento e manutenção em transformações textuais?

8MetaCG - Natã Melo

Motivação

III WPPC - Dezembro, 2010

• Guidelines

– Separação da definição de sintaxe da manipulação dos elementos do meta-modelo

– Manipulação de um elemento por regra

– Definição de regras separadas para coleções

– Redução do uso de Print Statements

(Artigo: Ledo, A. Melo, N. Ramalho, F.,

“Guidelines for Improving Model to Text Transformations”)

MetaCG - Natã Melo 9

Abordagem MetaCG

III WPPC - Dezembro, 2010

Abordagem MetaCG

• O que isso impacta no gerador de código?

– Complexidade

– Esforço empregado por projetistas na fase de construção

– Facilidade de entendimento e manutenção

10MetaCG - Natã Melo

Main Core TemplatesTemplates

III WPPC - Dezembro, 2010

• Desenvolver uma ferramenta computacional

– Semi-automatiza os passos prescritos pela abordagem

– Diretrizes para organizar, especificar e “rastrear” fluxo de controle entre transformações de modelo para texto

Objetivo

MetaCG - Natã Melo 11

Meta-ModeloMeta-Modelo(Ecore) Tool

Tool

Tool

Gerador CódigoGerador Código

III WPPC - Dezembro, 2010

Ferramenta

• Tecnologias utilizadas: ATL, MOFScript e MOF2Text

• Plug-in

– Integrado à IDE Eclipse

– Desenvolvimento utilizando Java

• Desenvolvimento dividido em três fases

• Conclusão prevista para Março/2011

12MetaCG - Natã Melo

III WPPC - Dezembro, 2010

Ferramenta

13MetaCG - Natã Melo

Modelo de

Referência

Modelo de

Implementação em

MOF2Text

Gerador de Código

III WPPC - Dezembro, 2010

• Concluir o desenvolvimento da ferramenta

• Elaborar artigos científicos

• Estudo de diversas tecnologias

• Aprofundamento no conhecimento de MDA

• Mais experiência no âmbito da pesquisa

MetaCG - Natã Melo 14

Considerações Finais

MetaCG - Natã Melo 15

Dúvidas

Obrigado!

Workshop de Pesquisas do Grupo PET Computação

III WPPC

MetaCG - Uma Abordagem Baseada em

Meta-modelos para a Escrita de

Geradores de Código

Natã Melo

natanvm@dsc.ufcg.edu.br

Anderson Ledo, Franklin Ramalho

{ledo, franklin}@dsc.ufcg.edu.br