SlideShare uma empresa Scribd logo
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
● Futuro da MDE
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
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)
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
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
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
– Linguagens de Transformação
de Modelos:
● Atlas Transformation Language
(ATL)
● Query/View/Transformation
(QVT)
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 depende da UML
ˣ Geração de 100% do código da aplicação
ˣ Modelar tudo e sempre
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
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
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)
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
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
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!

Mais conteúdo relacionado

PPTX
Teste baseado em modelos
Andreza Pollyana
 
PDF
Teste Dirigido por Modelos
Natã Melo
 
PPTX
03 Modelo de processo de software
Waldemar Roberti
 
PDF
Teste Estrutural usando a ferramenta Jabuti
Inael Rodrigues
 
PDF
Aula2 paradigmas
Portal_do_estudante_ADS
 
PPT
Modelo Espiral
modeloespiral
 
ODP
Modelos de processos de software
Nécio de Lima Veras
 
PDF
Paradigmas De Engenharia De Software
Robson Silva Espig
 
Teste baseado em modelos
Andreza Pollyana
 
Teste Dirigido por Modelos
Natã Melo
 
03 Modelo de processo de software
Waldemar Roberti
 
Teste Estrutural usando a ferramenta Jabuti
Inael Rodrigues
 
Aula2 paradigmas
Portal_do_estudante_ADS
 
Modelo Espiral
modeloespiral
 
Modelos de processos de software
Nécio de Lima Veras
 
Paradigmas De Engenharia De Software
Robson Silva Espig
 

Mais procurados (20)

PPTX
Test Driven Development
Otavio Augusto
 
PPTX
Modelo de Prototipação
Juliano Pires
 
PPTX
T@rget trust curso de introdução ao processo de teste de software
Targettrust
 
PDF
Seu app a prova de gambiarras (ou não) - Ferramentas de validaSPção de código
Christiane Morais Silva
 
PDF
Desenvolvimento Iterativo-Incremental
Ruan Carvalho
 
PDF
Modelo em Espiral
Robson Silva Espig
 
DOC
Iconix
Daiana de Ávila
 
PPT
Modelos de Processo de Software
Rogerio P C do Nascimento
 
PPTX
Cenartec 2014 - Teste de software, uma área, uma carreira, um novo perfil
João Clineu - CTFL, CSM, CSD
 
PPTX
Projeto de Sistemas - Aula002
Cláudio Amaral
 
PPSX
DevQA | Da zona de conforto ao comprometimento com a qualidade
Kamilla Queiroz Xavier
 
PDF
Fundamentos e Carreira em Teste de Software (Aula Magna UniSalesiano)
Júlio de Lima
 
PPTX
Eng.ª do Software - 4. Processos de software
Manuel Menezes de Sequeira
 
PDF
Captulo 8 prototipacao
lua alves
 
PPTX
Test manager
Orlando Pereira Jr.
 
PPTX
AppTesting
lucyverde
 
PPTX
T@rget trust curso de planejamento e execução de testes de software
Targettrust
 
PPT
Prototipação
Daniel Fernandes
 
PPTX
Engenharia de software - Prototipo
Danielle Alves Gonçalves
 
KEY
Você ainda não pratica TDD?
Maurício Aniche
 
Test Driven Development
Otavio Augusto
 
Modelo de Prototipação
Juliano Pires
 
T@rget trust curso de introdução ao processo de teste de software
Targettrust
 
Seu app a prova de gambiarras (ou não) - Ferramentas de validaSPção de código
Christiane Morais Silva
 
Desenvolvimento Iterativo-Incremental
Ruan Carvalho
 
Modelo em Espiral
Robson Silva Espig
 
Modelos de Processo de Software
Rogerio P C do Nascimento
 
Cenartec 2014 - Teste de software, uma área, uma carreira, um novo perfil
João Clineu - CTFL, CSM, CSD
 
Projeto de Sistemas - Aula002
Cláudio Amaral
 
DevQA | Da zona de conforto ao comprometimento com a qualidade
Kamilla Queiroz Xavier
 
Fundamentos e Carreira em Teste de Software (Aula Magna UniSalesiano)
Júlio de Lima
 
Eng.ª do Software - 4. Processos de software
Manuel Menezes de Sequeira
 
Captulo 8 prototipacao
lua alves
 
Test manager
Orlando Pereira Jr.
 
AppTesting
lucyverde
 
T@rget trust curso de planejamento e execução de testes de software
Targettrust
 
Prototipação
Daniel Fernandes
 
Engenharia de software - Prototipo
Danielle Alves Gonçalves
 
Você ainda não pratica TDD?
Maurício Aniche
 
Anúncio

Destaque (9)

PDF
Minicurso - Introdução ao Blender
Alexandre Augusto Giron
 
PDF
Aula 00 qs - apresentação da disciplina
Junior Gomes
 
PDF
Aula 02 qs - 5 s
Junior Gomes
 
PDF
Aula 04 qs - sistemas embarcados
Junior Gomes
 
PDF
Minicurso Linux
Alexandre Augusto Giron
 
PDF
Aula 06 qs - garantia da qualidade de sw
Junior Gomes
 
PDF
Aula 01 qs - 6 sigma
Junior Gomes
 
PDF
Desenvolvimento de sistemas embarcados
Alexandre Augusto Giron
 
PDF
Aula 07 qs - cmmi
Junior Gomes
 
Minicurso - Introdução ao Blender
Alexandre Augusto Giron
 
Aula 00 qs - apresentação da disciplina
Junior Gomes
 
Aula 02 qs - 5 s
Junior Gomes
 
Aula 04 qs - sistemas embarcados
Junior Gomes
 
Minicurso Linux
Alexandre Augusto Giron
 
Aula 06 qs - garantia da qualidade de sw
Junior Gomes
 
Aula 01 qs - 6 sigma
Junior Gomes
 
Desenvolvimento de sistemas embarcados
Alexandre Augusto Giron
 
Aula 07 qs - cmmi
Junior Gomes
 
Anúncio

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

PDF
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Sandro Andrade
 
PPT
Análise e Projeto de Sistemas com UML e Java
armeniocardoso
 
PPT
Engenharia De Software
CursoSENAC
 
PPT
Processo de Desenvolvimento MDA: metodologias e agilidade
Luiz Matos
 
PDF
Outras Metodologias Ágeis Parte 3
Elaine Cecília Gatto
 
PDF
Qualidade de Software
Tiago Antônio da Silva
 
PPT
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Edson Oliveira Junior
 
PPT
347842.ppt
PedrinaBrasil2
 
PDF
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Edson Oliveira Junior
 
PDF
Aula 2 - Modelos de processos
Leinylson Fontinele
 
PDF
Apostila uml
Glauco Cardozo
 
PDF
Aula 02 - Processo de Software I.pdf
DaniloPereira341965
 
DOC
Apostila uml
Alex Santos Silva
 
DOC
Apostila uml
Alex Santos Silva
 
PDF
Macro Arquitetura de Software
Edjalma Queiroz da Silva
 
PDF
Apostila UML
sauloarvelos
 
PPT
TEES - MDA Apresentação Final
guestc7f5eb
 
PPT
Mda Apresentacao
guestff06a
 
PDF
Linhas de Processos de Software - Minicurso - SBQS 2011
Uirá Kulesza
 
Palestra do FISL15: QtModeling: Metamodelagem e Model-Driven Software Enginee...
Sandro Andrade
 
Análise e Projeto de Sistemas com UML e Java
armeniocardoso
 
Engenharia De Software
CursoSENAC
 
Processo de Desenvolvimento MDA: metodologias e agilidade
Luiz Matos
 
Outras Metodologias Ágeis Parte 3
Elaine Cecília Gatto
 
Qualidade de Software
Tiago Antônio da Silva
 
Um Estudo sobre Gerenciamento de Variabilidade em Linhas de Processo de Software
Edson Oliveira Junior
 
347842.ppt
PedrinaBrasil2
 
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...
Edson Oliveira Junior
 
Aula 2 - Modelos de processos
Leinylson Fontinele
 
Apostila uml
Glauco Cardozo
 
Aula 02 - Processo de Software I.pdf
DaniloPereira341965
 
Apostila uml
Alex Santos Silva
 
Apostila uml
Alex Santos Silva
 
Macro Arquitetura de Software
Edjalma Queiroz da Silva
 
Apostila UML
sauloarvelos
 
TEES - MDA Apresentação Final
guestc7f5eb
 
Mda Apresentacao
guestff06a
 
Linhas de Processos de Software - Minicurso - SBQS 2011
Uirá Kulesza
 

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

  • 1. Alexandre Augusto Giron Validação de Transformações de Modelos e Engenharia Dirigida a Modelos (MDE)
  • 2. Roteiro ● Contextualização ● Engenharia Dirigida a Modelos – MDE – Exemplos ● Validação de Transformações de Modelos ● Futuro da MDE
  • 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. 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. 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. 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
  • 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. Exemplos de Aplicação ● Classes UML → Código Java Créditos – Visual Paradigm
  • 11. Exemplos de Aplicação ● Especificação IFML → Página Web Créditos – Tutorial WebRatio
  • 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. 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. 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. 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. 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. 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. Google Ngram Viewer ● Qual será o futuro da MDE? –
  • 19. Google Ngram Viewer ● Qual será o futuro da MDE? –