MetaCG

16
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 [email protected] Anderson Ledo, Franklin Ramalho {ledo, franklin}@dsc.ufcg.edu.br

Transcript of MetaCG

Page 1: 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

[email protected]

Anderson Ledo, Franklin Ramalho

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

Page 2: MetaCG

III WPPC - Dezembro, 2010

Agenda

• Contexto

• Motivação

• Abordagem MetaCG

• Objetivo

• Ferramenta Computacional

• Considerações Finais

2MetaCG - Natã Melo

Page 3: MetaCG

III WPPC - Dezembro, 2010

Idéia de Modelo!

Contexto

3MetaCG - Natã Melo

public class Pessoa {

private String nome;

public String getSaudacao(){

}

}

Page 4: MetaCG

III WPPC - Dezembro, 2010

Idéia de Meta-Modelo!

Contexto

4MetaCG - Natã Melo

Modelo

Meta-Modelo Meta-Linguagem

DescreveInstância

Page 5: MetaCG

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

Page 6: MetaCG

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

Page 7: MetaCG

III WPPC - Dezembro, 2010

Contexto

Transformações deModelo para Texto Código Concreto

7MetaCG - Natã Melo

Gerador de Código!

Modelo

Regras

MOF2Text eMOFScript

Page 8: MetaCG

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

Page 9: MetaCG

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

Page 10: 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

Page 11: MetaCG

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

Page 12: MetaCG

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

Page 13: MetaCG

III WPPC - Dezembro, 2010

Ferramenta

13MetaCG - Natã Melo

Modelo de

Referência

Modelo de

Implementação em

MOF2Text

Gerador de Código

Page 14: MetaCG

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

Page 15: MetaCG

MetaCG - Natã Melo 15

Dúvidas

Obrigado!

Page 16: 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

[email protected]

Anderson Ledo, Franklin Ramalho

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