Alexandre Augusto Giron
Validação de Transformações de
Modelos e Engenharia Dirigida a
Modelos (MDE)
Roteiro
● Contextualização
● Engenharia Dirigida a Modelos – MDE
– Exemplos
● Validação de Transformações de Modelos
● Fut...
Contextualização
● Abordagens de apoio ao desenvolvimento de
software:
– Linha de Produto de Software (LPS)
● Identifica p...
Contextualização
● MDE
– Metodologia de desenvolvimento de software
– Ênfase nos modelos de especificação
● MDD – Model-Dr...
MDE
● Modelos como principal elemento do desenvolvimento
● MDE possibilita
– Melhorar produtividade
– Melhorar a compreens...
MDE – Conceitos
● Linguagens Específicas de Domínio (Domain Specific
Languages – DSL)
● Mecanismos de Transformação e Gera...
MDE
● Utilização da
MDE:
Transformações
de modelos
Transformações de
Modelos
● Model-to-Model
● Model-to-Text
Transformações de
Modelos
● Como desenvolver
transformações no contexto
da MDE?
– Transformação como um
programa
– Linguag...
Exemplos de Aplicação
● Classes UML → Código Java
Créditos – Visual Paradigm
Exemplos de Aplicação
● Especificação IFML → Página Web
Créditos – Tutorial WebRatio
Mitos e afirmações falsas
ˣ Modelos UML como solução imediata a todos os
problemas de desenvolvimento da empresa
ˣ MDE dep...
Testes em Transformações
● Desafios:
– Teste estrutural: teste para diferentes linguagens
– Teste funcional: reduzir quant...
Validação de
Transformações
●
Cinco tipos de erros (Küster e Abd-El-Razik, 2006):
1. Cobertura ao metamodelo: nem todos os...
Validação de
Transformações
● Classificação de Teste:
– Teste estático: teste de propriedades da
transformação
– Teste din...
Validação de
Transformações
● Três passos principais para teste de transformações:
– Geração de casos de teste
– Execução ...
Futuro da MDE
● Qual será o futuro da MDE?
– MDE ainda não é amplamente utilizada na indústria
– Ferramentas abaixo das ex...
Google Ngram Viewer
● Qual será o futuro da MDE?
–
Google Ngram Viewer
● Qual será o futuro da MDE?
–
Casos de Sucesso
http://www.omg.org
/mda/products_succ
ess.htm
PERGUNTAS?
● Obrigado pela atenção!
Próximos SlideShares
Carregando em…5
×

Validação de Transformações e Model-Driven Engineering (MDE)

496 visualizações

Publicada em

Slides adaptados de uma palestra sobre o tema Validação de Transformações e Engenharia Dirigida a Modelos (MDE), apresentando conceitos, exemplos, e análise do estado atual do tema.

Publicada em: Software
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
496
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Validação de Transformações e Model-Driven Engineering (MDE)

  1. 1. Alexandre Augusto Giron Validação de Transformações de Modelos e Engenharia Dirigida a Modelos (MDE)
  2. 2. Roteiro ● Contextualização ● Engenharia Dirigida a Modelos – MDE – Exemplos ● Validação de Transformações de Modelos ● Futuro da MDE
  3. 3. Contextualização ● Abordagens de apoio ao desenvolvimento de software: – Linha de Produto de Software (LPS) ● Identifica produtos de uma mesma família com arquitetura comum (e reusável) ● Criação de novos produtos por meio de características variáveis – Engenharia Dirigida a Modelos (MDE) ● Guia o desenvolvimento a partir dos modelos de especificação
  4. 4. Contextualização ● MDE – Metodologia de desenvolvimento de software – Ênfase nos modelos de especificação ● MDD – Model-Driven Development – Processo de desenvolvimento ● MDA – Model-Driven Architecture – Arquitetura baseada em modelos – Padrões definidos pela OMG (Object Management Group)
  5. 5. MDE ● Modelos como principal elemento do desenvolvimento ● MDE possibilita – Melhorar produtividade – Melhorar a compreensão do sistema – Facilitar a manutenção e evolução do sistema ● Essência da MDE – Modelos representam sistemas – Um modelo está em conformidade com um metamodelo – Modelos podem ser transformados em outros modelos
  6. 6. MDE – Conceitos ● Linguagens Específicas de Domínio (Domain Specific Languages – DSL) ● Mecanismos de Transformação e Geradores – Interpretar modelo – Produzir artefatos ● Novos modelos ● Código-fonte ● Arquivos de configuração
  7. 7. MDE ● Utilização da MDE: Transformações de modelos
  8. 8. Transformações de Modelos ● Model-to-Model ● Model-to-Text
  9. 9. Transformações de Modelos ● Como desenvolver transformações no contexto da MDE? – Transformação como um programa – Linguagens de Transformação de Modelos: ● Atlas Transformation Language (ATL) ● Query/View/Transformation (QVT)
  10. 10. Exemplos de Aplicação ● Classes UML → Código Java Créditos – Visual Paradigm
  11. 11. Exemplos de Aplicação ● Especificação IFML → Página Web Créditos – Tutorial WebRatio
  12. 12. Mitos e afirmações falsas ˣ Modelos UML como solução imediata a todos os problemas de desenvolvimento da empresa ˣ MDE depende da UML ˣ Geração de 100% do código da aplicação ˣ Modelar tudo e sempre
  13. 13. Testes em Transformações ● Desafios: – Teste estrutural: teste para diferentes linguagens – Teste funcional: reduzir quantidade de casos de teste ● Automatização necessária! ● Tamanho de um caso de teste x Tamanho do conjunto de casos de teste
  14. 14. Validação de Transformações ● Cinco tipos de erros (Küster e Abd-El-Razik, 2006): 1. Cobertura ao metamodelo: nem todos os elementos foram mapeados 2. Modelos Sintaticamente incorretos: foi gerado um modelo sintaticamente incorreto 3. Modelos Semanticamente incorretos: a transformação é aplicada mas o modelo de saída produzido não é uma transformação correta do modelo de origem 4.Ambiguidade: a aplicação da regra de transformação permite produzir diferentes saídas a partir do mesmo modelo 5. Codificação incorreta: todos os outros tipos de erros e os de codificação da transformação
  15. 15. Validação de Transformações ● Classificação de Teste: – Teste estático: teste de propriedades da transformação – Teste dinâmico: teste do resultado da transformação (caso seja compilável/executável)
  16. 16. Validação de Transformações ● Três passos principais para teste de transformações: – Geração de casos de teste – Execução dos testes – Definição de um “oráculo”: resultado esperado
  17. 17. Futuro da MDE ● Qual será o futuro da MDE? – MDE ainda não é amplamente utilizada na indústria – Ferramentas abaixo das expectativas – Há alguns casos de sucesso mas não há uma aplicação/ferramenta ideal ● Alguns desafios – Facilitar o uso das transformações – Reúso: compartilhar bibliotecas, componentes de transformações
  18. 18. Google Ngram Viewer ● Qual será o futuro da MDE? –
  19. 19. Google Ngram Viewer ● Qual será o futuro da MDE? –
  20. 20. Casos de Sucesso http://www.omg.org /mda/products_succ ess.htm
  21. 21. PERGUNTAS? ● Obrigado pela atenção!

×