Part 5 - DC

Propaganda
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
Parte 5
FERRAMENTAS
1
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
Exemplos práticos
O que é possível fazer HOJE?
Modelagem/Transformação/Geração de código
Ferramentas / ambientes
Sem ser UML
Foco em modelagem específica de domínio
Geração de código
2
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
Principais
Modelagem
MetaEdit+ (MetaCase)
DSLTools (Microsoft)
GME (Vanderbilt)
GMF (Eclipse)
xText (Eclipse TMF)
TCS (Eclipse)
3
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
Principais
Transformação
QVT (Eclipse)
Atlas/ATL (Eclipse)
xTend (Eclipse Modeling)
Geração de código
JET (Eclipse M2T)
xPand (Eclipse M2T)
4
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
GME
Generic Modeling Environment – Vanderbilt
University
Model Integrated Computing
Modelagem específica de domínio
Metamodelo próprio (MetaGME)
API própria (BON)
Facilidade na definição sintaxe concreta
5
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
GMF
Graphical Modeling Framework
Plataforma Eclipse
Baseado no GEF – Graphical Editing Framework
Disponível no Galileo
Pacote Modeling
6
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
Aspecto
Visual
Ferramentas
(sintaxe concreta)
Metamodelo
(sintaxe abstrata)
7
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
GMF
Metamodelo – ECORE
MOF simplificado
API metamodelagem – EMF
Programação reflexiva / direta
Utilizado em diversas ferramentas
Projetos acadêmicos
Industriais
Documentação bastante evoluída
Ainda não completa
8
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
xText
Parte do projeto openArchitectureWare
Linguagem de modelagem textual
Específica de domínio
Sintaxe concreta + abstrata
Uma única especificação
Parser
Editor (code completion, warnings, etc)
Checagens / validação
Receitas
9
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
ATL
ATLAS Transformation Language
Surgiu para atender a proposta QVT
Inicialmente baseada no MDR (MetaData Repository,
da Sun)
Evoluiu para EMF - Eclipse
Declarativa + imperativa
Baseada em regras
Baseada no ECORE
10
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
xTend
Projeto openArchitectureWare
Plataforma Eclipse Modeling
Modelos ECORE / EMF
Linguagem declarativa
11
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
JET
Geração de código
Java Emitter Templates
Mecanismo de templates
Permite inclusão de scriptlets Java
Possui tags com funções úteis
Consultas a XML/metamodelo utilizando Xpath
Disponível no Galileo
Pacote Modeling
12
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
xPand
Projeto openArchitectureWare
Eclipse M2T
Mecanismo / linguagem de templates
Auto-completion
Funções úteis
Permite extensões Java
13
WebMedia 2009 – Minicurso 3
Parte 5: Ferramentas
Fim da parte 5
Perguntas?
Sugestões:
•
•
•
•
•
•
•
•
•
E as ferramentas comerciais?
E as ferramentas UML?
Conheço várias ferramentas para MDA, porque elas não foram apresentadas?
Porque você não apresentou a ferramenta X?
Os fontes dos exemplos serão disponibilizados?
Porque laranja chama laranja e limão não se chama verde?
Por que o Pateta fala e o Pluto não?
Como se escreve zero em algarismos romanos?
Quando inventaram o relógio, como sabiam que horas eram, para poder acertá-lo?
14
Download