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