APPLYING DATA MINING TECHNIQUES
TO SEMI-AUTOMATICALLY DISCOVER
GUIDELINES FOR METAMODELS
I Workshop Brasileiro de Desenvolvimento de Software
Dirigido por Modelos – WB-DSDM, Salvador – BA
Autores:
Andreza Vieira
Franklin Ramalho
Patrícia Machado
Fábio Leal
{andreza, franklin, patricia, fabiosl}@dsc.ufcg.edu.br
Universidade Federal de Campina Grande
INTRODUÇÃO
[MINERAÇÃO DE DADOS]
Mineração de Dados
Processo de descoberta de conhecimento a partir dos
dados
Ferramenta para Mineração: Weka [Hall et al., 2009]
Bastante utilizada
Facilidade de uso
Vários algoritmos de Análise de Associação
Software livre
2
27/09/2010
© Andreza Vieira et al. – WB-DSDM
INTRODUÇÃO
[MINERAÇÃO DE DADOS]
Processo KDD (Knowledge Discovery in Databases)
3
27/09/2010
© Andreza Vieira et al. – WB-DSDM
INTRODUÇÃO
[DIRETRIZES]
Diretrizes
Guias de orientação
Diretrizes para Desenvolvimento de Software
Boas práticas de programação em Java
Modelagem de um domínio
4
27/09/2010
© Andreza Vieira et al. – WB-DSDM
MOTIVAÇÃO
MDA
Diretrizes
Mineração
de Dados
5
27/09/2010
© Andreza Vieira et al. – WB-DSDM
MOTIVAÇÃO
Escopo: Meta-modelos
Grande importância em MDA
Tarefa não trivial
Necessário conhecimento prévio
Confusão com modelagem
Há grande necessidade de diretrizes para metamodelagem
Objetivo:
Aplicar a mineração de dados para identificar
diretrizes
6
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS PARA
DESCOBERTA DE DIRETRIZES
7
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
1. PREPARAÇÃO DA BASE DE DADOS
8
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
1. PREPARAÇÃO DA BASE DE DADOS
1. Seleção dos Campos e dos Dados
Meta-modelo de MOF e UML
2. Definição de uma Base de Dados Relacional
Uma tabela para cada meta-classe
Um campo da tabela para cada atributo da meta-classe
3. Construção da Base de Dados: Arquivo ARFF
Formato de arquivo de dados mais popular
ARFF gerado automaticamente
9
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
2. MINERAÇÃO DE DADOS
10
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
2. MINERAÇÃO DE DADOS
Tarefa: Análise de Associação
Algoritmo: Apriori
Resultado: Mais de 50.000 regras de associação
Apenas 7 foram úteis para compor uma diretriz
11
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
2. MINERAÇÃO DE DADOS
Contexto: associação de composição entre meta-classes
class.composition=owned class.isNavigable=true
sup: (19%)
conf: (100%)
class.composition=owned class.isAbstract=false
sup: (17%)
conf: (87%)
class.composition=owner class.upper=1
class.composition=owner class.property.isDerived=false
27/09/2010
© Andreza Vieira et al. – WB-DSDM
sup: (11%)
conf: (100%)
sup: (11%)
conf: (100%)
12
APLICANDO MINERAÇÃO DE DADOS
3. INTERPRETAÇÃO E AVALIAÇÃO
13
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
3. INTERPRETAÇÃO E AVALIAÇÃO
Análise das regras
Características em comum
Resultado: uma diretriz formada
Defining Association Member Ends Features
O “todo” (owner)
Limite máximo de multiplicidade: 1
Não possui atributos derivados
A “parte” (owned)
Concreta
Navegável a partir do todo
14
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
3. INTERPRETAÇÃO E AVALIAÇÃO
Validação de Meta-modelos
Informações óbvias
Regras com alta confiança
class.operation.rule.constraintKind=body
class.operation.isQuery=true
sup: (71%)
conf: (100%)
class.operation.parameters.direction=return
class.operation.isQuery=true
sup: (61%)
conf: (100%)
15
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
4. IMPLANTAÇÃO DO CONHECIMENTO
16
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
4. IMPLANTAÇÃO DO CONHECIMENTO
Documentação da diretriz identificada
Defining Association Member Ends Features
Referência para os desenvolvedores
17
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
EXEMPLO DE APLICAÇÃO DA DIRETRIZ
18
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
FERRAMENTA DE SUPORTE
[MinerMOF, 2009]
19
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APLICANDO MINERAÇÃO DE DADOS
FERRAMENTA DE SUPORTE
20
27/09/2010
© Andreza Vieira et al. – WB-DSDM
AVALIAÇÃO
Baseada no método GQM (Goal-Question-Metric)
Finalidade
Verificar a aplicabilidade da diretriz identificada
Conjunto de meta-modelos avaliados
QVT e SPEM (OMG)
KobrA2 e Java (Outras organizações)
21
27/09/2010
© Andreza Vieira et al. – WB-DSDM
j: Cada um dos meta-modelos
AVALIAÇÃO
m: Número de Meta-modelos Analisados
AN: Número de Aplicações da Diretriz
Número de aplicações para cada meta-modelo
KobrA2
Java
QVT
SPEM
14
103
17
14
Métrica GAA (Guideline Applications Average)
m
GAA =
27/09/2010
AN
j
j 1
/ m
Resultado: 37
22
© Andreza Vieira et al. – WB-DSDM
CONSIDERAÇÕES FINAIS
Exploração da mineração de dados em MDA
Experiência inovadora
Resultados:
Identificação de uma diretriz para meta-modelagem
Validação de meta-modelos
Avaliação
Trabalhos futuros:
Base de dados com outros meta-modelos
Identificação de diretrizes manualmente
23
27/09/2010
© Andreza Vieira et al. – WB-DSDM
REFERÊNCIAS
[Hall et al., 2009] Hall, M.; Frank, E.; Holmes, G.; Pfahringer, B.;
Reutemann, P.; Witten, I. H.; The WEKA Data Mining Software:
An Update. SIGKDD Explorations, Volume 11, Issue 1, 2009.
[Han and Kamber, 2001] Han, J.; Kamber, M. Data Mining:
Concepts and Techniques. Academic Press, 2001.
[MinerMOF, 2009] Leal, F., Vieira, A.; Ramalho, F. MinerMOF:
Ferramenta de Suporte para Mineração de Dados em Meta-modelos.
2009. Disponível em: <http://code.google.com/p/toolsupport>
[Robin et al., 2009] Robin, J.; Stoll, D.; Atkison, C. Meta-modelo de
KobrA2. 2009. Não publicado ainda.
24
27/09/2010
© Andreza Vieira et al. – WB-DSDM
APPLYING DATA MINING TECHNIQUES
TO SEMI-AUTOMATICALLY DISCOVER
GUIDELINES FOR METAMODELS
I Workshop Brasileiro de Desenvolvimento de Software
Dirigido por Modelos – WB-DSDM, Salvador – BA
Autores:
Andreza Vieira
Franklin Ramalho
Patrícia Machado
Fábio Leal
{andreza, franklin, patricia, fabiosl}@dsc.ufcg.edu.br
Universidade Federal de Campina Grande