SlideShare uma empresa Scribd logo
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
Agenda
 •   Contexto
 •   Motivação
 •   Abordagem MetaCG
 •   Objetivo
 •   Ferramenta Computacional
 •   Considerações Finais




III WPPC - Dezembro, 2010   MetaCG - Natã Melo   2
Contexto
                            Idéia de Modelo!




                               public class Pessoa {

                                           private String nome;

                                           public String getSaudacao(){

                                           }

                               }


III WPPC - Dezembro, 2010      MetaCG - Natã Melo                         3
Contexto
                             Idéia de Meta-Modelo!


             Meta-Modelo                                Meta-Linguagem


                     Instância            Descreve


                 Modelo




III WPPC - Dezembro, 2010          MetaCG - Natã Melo                    4
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
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
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
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
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
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
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
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
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
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
Dúvidas




Obrigado!

 MetaCG - Natã Melo   15
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

Mais conteúdo relacionado

PPT
Paradigmas de Linguagens de Programacao - Aula #1
PDF
Poo frank
PDF
Paradigmas de Linguagens de Programação
PDF
1.1.paradigmas
ODP
linguagem de marcação
PPT
Paradigmas De Linguagem De Programação.
PDF
01 aula1 habib
DOC
estados prestinos
Paradigmas de Linguagens de Programacao - Aula #1
Poo frank
Paradigmas de Linguagens de Programação
1.1.paradigmas
linguagem de marcação
Paradigmas De Linguagem De Programação.
01 aula1 habib
estados prestinos

Destaque (7)

PDF
Plan de gestion del conocimiento utpl
PPTX
Nola arautzen da abortua nazioartean.
PDF
EvaluatingtheintlmonetarysystemandtheavailtomovetowardsoneMohammedIbrahim
PDF
Network Services
PDF
An approach for secured data transmission at client end in cloud computing
ODP
Arrokak
DOC
Plan de gestion del conocimiento utpl
Nola arautzen da abortua nazioartean.
EvaluatingtheintlmonetarysystemandtheavailtomovetowardsoneMohammedIbrahim
Network Services
An approach for secured data transmission at client end in cloud computing
Arrokak
Anúncio

Semelhante a MetaCG (7)

PDF
Apresentação JavaCG MetaCG
PDF
Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA
PDF
Qualificação Mestrado
PDF
MetaSketch OCL Interpreter
PPT
Gof design patterns
PDF
PLP – Paradigma de Programação Orientado a Modelos
Apresentação JavaCG MetaCG
Desenvolvendo Interfaces de Usuário Multiplataformas utilizando MDA
Qualificação Mestrado
MetaSketch OCL Interpreter
Gof design patterns
PLP – Paradigma de Programação Orientado a Modelos
Anúncio

Mais de Natã Melo (20)

PDF
Sistemas Distribuídos - Publish-Subscribe - Kafka
PDF
[Android] Publish on Google Play & Google Analytics
PDF
[Android] Google Service Play & Google Maps
PDF
Minicurso grails
PDF
Java Style Grading
PDF
Listas em Prolog
PDF
Motores de busca em redes sociais
PDF
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
PDF
Biografia de Bill Gates - Parte 4
PDF
Biografia de Bill Gates - Parte 3
PDF
Biografia de Bill Gates - Parte 2
PDF
Biografia de Bill Gates - Parte 1
PDF
Copas do Mundo de Futebol
PDF
Linguagem Python
PDF
Sistemas Recomendação em Redes Sociais
PDF
Sistema de Recomendação - Amigos DINS
PDF
Terremotos
PDF
Regresão Múltipla
PDF
Linguagem Go
PDF
Educação a Distância
Sistemas Distribuídos - Publish-Subscribe - Kafka
[Android] Publish on Google Play & Google Analytics
[Android] Google Service Play & Google Maps
Minicurso grails
Java Style Grading
Listas em Prolog
Motores de busca em redes sociais
MATRACA: Ferramenta open source para auxílio a deficientes visuais no uso do ...
Biografia de Bill Gates - Parte 4
Biografia de Bill Gates - Parte 3
Biografia de Bill Gates - Parte 2
Biografia de Bill Gates - Parte 1
Copas do Mundo de Futebol
Linguagem Python
Sistemas Recomendação em Redes Sociais
Sistema de Recomendação - Amigos DINS
Terremotos
Regresão Múltipla
Linguagem Go
Educação a Distância

Último (19)

PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Processos na gestão de transportes, TM100 Col18
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Apple Pippin Uma breve introdução. - David Glotz
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Aula 18 - Manipulacao De Arquivos python
Aula04-Academia Heri- Tecnologia Geral 2025
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Custos e liquidação no SAP Transportation Management, TM130 Col18
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
COBITxITIL-Entenda as diferença em uso governança TI
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26

MetaCG

  • 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
  • 2. Agenda • Contexto • Motivação • Abordagem MetaCG • Objetivo • Ferramenta Computacional • Considerações Finais III WPPC - Dezembro, 2010 MetaCG - Natã Melo 2
  • 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