Universidade Federal de Lavras - UFLA
PROCEDIMENTOS DE MODELAGEM
E UMA FERRAMENTA DE
GERAÇÃO AUTOMÁTICA DE CÓDIGO
Lucas De Luca Castro
Orientador: André Vital Saúde
SUMÁRIO
1) INTRODUÇÃO
2) OBJETIVOS
3) REFERENCIAL TEÓRICO:
1)
2)
3)
MODEL DRIVEN ARCHITECTURE (MDA)
GERADOR AUTOMÁTICO DE CÓDIGO
IGUASSU FRAMEWORK
4) MATERIAL E MÉTODOS
5) RESULTADOS
1)
2)
3)
CODEGEN
BLUEBOX
PROCEDIMENTO DE MODELAGEM
6) CONCLUSÃO
INTRODUÇÃO
Mercado de Software – Contexto Atual
Utilização de Padrões de Projetos para o
Desenvolvimento de Software
Sistemas de Web – Frameworks diversos
Padrão MVC mais utilizado
Ausência de Modelo de Desenvolvimento
Possibilitaria Convergir os Padrões de Geração
Automática de Código
Necessidades:
Produtividade e
Manutenção
INTRODUÇÃO
Tendo em vista:
Redução no Tempo Dispensado Desenvolvimento de Arquiteturas de Software
FRAMEWORK IGUASSU
Desenvolve Softwares web
ARQUITETURA
MVC
MODELAGEM
outros padrões
Implementação
de
Código
GERAÇÃO DE
CÓDIGO
OBJETIVOS
O Objetivo Geral foi a Criação de um
Gerador de Código denominado BlueBox
que Otimiza as Produções de Softwares que
Utilizam o Framework Iguassu como
Ferramenta de Desenvolvimento e a
Criação de Práticas de Modelagem,
Visando a Geração dos Códigos Conforme o
Modelo Iguassu.
OBJETIVOS
ESPECÍFICOS:
• Estudo da metodologia MDA (Model Driven
Architecture)
• Estudo da modelagem UML
• Verificação do impacto da modelagem uml na geração
de arquivo de dados XMI (XML Metadata Interchange)
• Proposta de procedimento de modelagem uml
adequado ao gerador de código
OBJETIVOS
ESPECÍFICOS:
• Estudo do comportamento das classes do framework
Iguassu
• Estudo da tecnologia XSLT e Velocity
• Proposta de um gerador automático de código
• Criação de templates para a geração de código no
formato do Framework Iguassu
REFERENCIAL TEÓRICO:
Model Driven Architecture (MDA)
Metodologia
reconhecida
pela
OMG(Object Management Group) desenvolvimento de software
Utiliza modelos como centro do
desenvolvimento do sistema
código pode ser gerado através dos
modelos
Possibilita
transformar
abstratos em concretos
modelos
OBJETIVO:
ALCANÇAR
GERAÇÃO DO
CÓDIGO FONTE
DE MANEIRA
AUTOMATIZADA
REFERENCIAL TEÓRICO:
Model Driven Architecture (MDA)
PROCESSO DE TRANSFORMAÇÃO DOS MODELOS MDA
MAIS ABSTRATO(CIM)
MAIS CONCRETO(PSM)
É UTILIZADO UM CONJUNTO DE REGRAS ESPECÍFICAS QUE
DESCREVEM O PROCESSO
REFERENCIAL TEÓRICO:
GERADOR AUTOMÁTICO DE CÓDIGO
TRANSFORMAÇÕES BASEADAS EM MODELOS:
REFERENCIAL TEÓRICO:
GERADOR AUTOMÁTICO DE CÓDIGO
TRANSFORMAÇÕES BASEADAS EM MODELOS:
Gerador pode utilizar como base de dados o arquivo XMI (XML Metadata
Interchange) – exemplo gerador GreenBox (2007)
GreenBox utiliza os templates velocity para definir como serão apresentadas as
informações no arquivo de saída
MODELO DO GERADOR
GREENBOX
REFERENCIAL TEÓRICO:
GERADOR AUTOMÁTICO DE CÓDIGO
Arquivo XMI:
• DIAGRAMA DE CLASSES
REFERENCIAL TEÓRICO:
GERADOR AUTOMÁTICO DE CÓDIGO
Arquivo XMI:
• CLASSE PESSOA (DIAGRAMA E ARQUIVO XMI)
REFERENCIAL TEÓRICO:
GERADOR AUTOMÁTICO DE CÓDIGO
Arquivo XMI:
• REFERÊNCIA CRUZADA
REFERENCIAL TEÓRICO:
GERADOR AUTOMÁTICO DE CÓDIGO
Arquivo XMI:
• REFERÊNCIA CRUZADA
REFERENCIAL TEÓRICO:
GERADOR AUTOMÁTICO DE CÓDIGO
Arquivo XMI:
• DIAGRAMA DE ESTADOS
REFERENCIAL TEÓRICO:
GERADOR AUTOMÁTICO DE CÓDIGO
Arquivo XMI:
REFERENCIAL TEÓRICO:
GERADOR AUTOMÁTICO DE CÓDIGO
Arquivo XMI:
REFERENCIAL TEÓRICO:
IGUASSU FRAMEWORK (MVC)
IMPLEMENTAÇÃO JAVA DA ARQUITETURA IGUASSU
AINDA POSSUI ALGUMAS LIMITAÇÕES TÉCNICAS
ESTÁ DIVIDIDO COM A CAMADA DE VIEW NO LADO DO CLIENTE
MODELO MVC UTILIZADO EM APLICAÇÃO WEB:
REFERENCIAL TEÓRICO:
IGUASSU FRAMEWORK (MVC)
O LADO SERVIDOR FUNCIONA COMO PROVEDOR DE
SERVIÇOS EM UM MODELO SOA (SERVICE-ORIENTED
ARCHITECTURE)
INTERNAMENTE O SERVIDOR É ORGANIZADO EM
CAMADAS (ESTRUTURA HIERÁRQUICA BASEADA NA IDÉIA
DE QUE UM SISTEMA PODE TER DIVERSAS APLICAÇÕES)
UMA APLICAÇÃO PODE ESTAR DIVIDIDA EM DIVERSOS
MÓDULOS - CADA MÓDULO - PROVÊ DIVERSOS SERVIÇOS
REFERENCIAL TEÓRICO:
IGUASSU FRAMEWORK
Arquitetura Iguassu - destaque na única camada que
necessita implementação manual
MATERIAL E MÉTODOS
MÉTODO





Metodologia MDA
Modelagem UML
Arquivo XMI
Comportamento das classes do Framework Iguassu
Procedimentos de Modelagem
Criação dos Geradores:
 XSLT
CodeGen
Templates XSL
 Velocity
BlueBox
Templates Velocity
 Aplicação dos Geradores na Mitah Tecnologies
RESULTADOS
CodeGen
ARQUITETURA:
RESULTADOS
CodeGen
PROCESSAMENTO DA GERAÇÃO:
RESULTADOS
CodeGen
FOLHAS DE ESTILOS:
RESULTADOS
CodeGen
FOLHAS DE ESTILOS:
Referência Cruzada
RESULTADOS
CodeGen
FOLHAS DE ESTILOS:
Referência Cruzada
RESULTADOS
CodeGen
FOLHAS DE ESTILOS:
Referência Cruzada
RESULTADOS
BlueBox
ARQUITETURA:
RESULTADOS
BlueBox
XMI PARSE:
RESULTADOS
BlueBox
XMI PARSE:
Jcoltrane - Nuccielli, 2008
RESULTADOS
BlueBox
GERADOR:
Processador Velocity
• Encaminhar templates para Processador de
Categorias;
• Filtragem: Classes, Templates, Pacotes e Categorias;
RESULTADOS
BlueBox
GERADOR:
Processador de Categorias
 Os contextos são objetos que representam os dados
do modelo e podem ser utilizados pelos templates:
1. packages
2. application
3. package
4. subPackage
5. class
6. template
7. stateMachine
RESULTADOS
BlueBox
GERADOR:
Processador de Categorias
 Categorias:
1. Application:
2. Classes
3. Packages
4. SubPackages
5. StateMachines
RESULTADOS
BlueBox
GERADOR:
Templates Velocity
RESULTADOS
Procedimento de Modelagem
DIAGRAMA DE CLASSES (ER):
•
Classes
RESULTADOS
Procedimento de Modelagem
DIAGRAMA DE CLASSES (ER):
•
Classes (StateMachine)
RESULTADOS
Procedimento de Modelagem
DIAGRAMA DE CLASSES (ER):
•
Associações
RESULTADOS
Procedimento de Modelagem
DIAGRAMA DE CLASSES (ER):
•
Associações (atributos personalizados)
RESULTADOS
Procedimento de Modelagem
DIAGRAMA DE CLASSES (ER):
•
Atributos (marcadores)
RESULTADOS
Procedimento de Modelagem
DIAGRAMA DE CLASSES (ER):
•
Pacotes
RESULTADOS
Procedimento de Modelagem
DIAGRAMA DE ESTADOS:
•
Pacotes (estrutura)
RESULTADOS
Procedimento de Modelagem
DIAGRAMA DE ESTADOS:
•
Estados (ações)
Conclusões
REFERÊNCIAS
Download

apresentacao monografia