1. III WPPC
Workshop de Pesquisas do
Grupo PET Computação
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
3. Contexto
Idéia de Modelo!
public class Pessoa {
private String nome;
public String getSaudacao(){
}
}
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 3
4. Contexto
Idéia de Meta-Modelo!
Meta-Modelo Meta-Linguagem
Instância Descreve
Modelo
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 4
5. Contexto
Exemplo!
Elemento do
Polígono Automóvel
Meta-Modelo
Instância Instância
Elemento do
Quadrilátero Pentágono Carro Ônibus
Modelo
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 5
6. Contexto
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
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 6
7. Contexto
Modelo
MOF2Text e
MOFScript
Transformações de
Modelo para Texto Código Concreto
Regras
Gerador de Código!
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 7
8. Motivação
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?
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 8
9. Abordagem MetaCG
• 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”)
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 9
10. Abordagem MetaCG
Main Core Templates
• 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
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 10
11. Objetivo
• 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
Tool
Meta-Modelo
(Ecore)
Tool
Tool
Gerador Código
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 11
12. 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
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 12
13. Ferramenta
1º
Modelo de
Referência
Modelo de
2º Implementação em
MOF2Text
3º Gerador de Código
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 13
14. Considerações Finais
• 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
III WPPC - Dezembro, 2010 MetaCG - Natã Melo 14
16. III WPPC
Workshop de Pesquisas do
Grupo PET Computação
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