Beruflich Dokumente
Kultur Dokumente
Programa de Ps-Graduao em
Engenharia de Produo
UM MODELO DE FORMALIZAO
DO PROCESSO DE DESENVOLVIMENTO DE
SISTEMAS DE DESCOBERTA DE CONHECIMENTO
EM BANCO DE DADOS
Maria Madalena Dias
Florianpolis
2001
ii
BANCA EXAMINADORA
_____________________________
Prof. Roberto C.Santos Pacheco, Dr.
Orientador
___________________________
Prof. Alex Alves Freitas, Dr.
_____________________________
Profa. Tnia F. Calvi Tait, Dra.
___________________________
Prof. Jos Leomar Todesco, Dr.
_____________________________
Prof. Aran Tcholakian Morales, Dr.
iii
iv
Agradecimentos
Sumrio
Sumrio................................................................................................................................... v
Lista de Figuras ...................................................................................................................... x
Lista de Tabelas ...................................................................................................................xiii
Resumo ................................................................................................................................xiv
Abstract................................................................................................................................. xv
1 INTRODUO................................................................................................................... 1
1.1 Motivao ...................................................................................................................... 1
1.2 Objetivos........................................................................................................................ 2
1.3 Justificativas .................................................................................................................. 3
1.4 Contribuies................................................................................................................. 3
1.5 Resultados Esperados .................................................................................................... 4
1.6 Organizao do Trabalho............................................................................................... 4
2 FUNDAMENTAO TERICA ...................................................................................... 6
2.1 Introduo ...................................................................................................................... 6
2.2 Minerao de Dados ...................................................................................................... 7
2.2.1 Conceito de Minerao de Dados ........................................................................ 7
2.2.2 Origem dos Dados................................................................................................ 8
2.2.3 Tarefas Desempenhadas por Tcnicas de Minerao de Dados .......................... 9
2.2.4 Tcnicas de Minerao de Dados....................................................................... 11
2.2.5 Como Escolher a Tcnica de Minerao de Dados mais Adequada.................. 15
2.2.6 reas de Aplicao de Tcnicas de Minerao de Dados.................................. 16
2.2.7 O Processo de Descoberta de Conhecimento..................................................... 17
2.2.8 Metodologias para Sistemas de Descoberta de Conhecimento.......................... 20
2.2.9 Ferramentas de Minerao de Dados ................................................................. 25
2.3 Mtodos Formais ......................................................................................................... 26
2.3.1 Caractersticas de Mtodos Formais .................................................................. 28
2.3.2 Classificao de Mtodos Formais .................................................................... 29
2.3.3 Nveis de Rigor em Mtodos Formais .............................................................. 32
2.3.4 Aplicao de Mtodos Formais.......................................................................... 33
vi
vii
viii
ix
Lista de Figuras
xi
xii
Lista de Tabelas
xiii
Resumo
xiv
Abstract
1 INTRODUO
1.1 MOTIVAO
Nos ltimos anos, o uso de computadores passou a difundir-se pelos mais
variados ramos de atividade e no ficou restrito apenas ao meio tecnolgico. Os
computadores e os sistemas de comunicao so responsveis pela mudana na natureza
de trabalho das pessoas e, alm disso, esto reformulando o mundo dos negcios.
O conceito tradicional de trabalho, envolvendo grandes quantidades de papis e
relatrios complicados, tomada de deciso baseada em fatos pouco concretos, est
sendo substitudo pelo conceito moderno a que um sistema de informao est ligado.
Este conceito rene a utilizao das mais variadas tecnologias para o ato de informar
somente o que for relevante e de forma coerente e direta.
Durante alguns anos, a maioria das empresas acumulou muitas informaes em
seus bancos de dados, mas essas empresas, quase sempre, desconhecem o quanto essas
informaes podem ser teis na busca de melhores perspectivas futuras para seus
negcios.
Atualmente, existem ferramentas de software para o suporte tomada de deciso
que facilitam a gerao de consultas em banco de dados e/ou permitem formas de
anlise de dados mais complexas. Essas ferramentas incluem sistemas OLAP (On-Line
Analytic Processing) (Harrison, 1998).
As tcnicas de minerao de dados, consideradas um dos tipos mais complexos
de funo analtica, surgiram com o intuito de revelar as informaes estratgicas
escondidas em grandes bancos de dados, atravs da pesquisa dessas informaes e da
determinao de padres, classificaes e associaes entre elas. Essas informaes
valiosas podem ser utilizadas em muitas reas, tais como (Cratochvil, 1999): marketing,
instituies governamentais, sade e finana.
A minerao de dados pode ser vista como uma parte fundamental do processo
de descoberta de conhecimento em banco de dados.
Apesar da existncia de ferramentas que auxiliam na tarefa de minerao de
dados, ainda sentida a carncia de ferramentas para o desenvolvimento de sistemas de
Introduo
tcnica
que
tem sido
reconhecida
como
bastante
eficaz
no
Introduo
1.3 JUSTIFICATIVAS
As principais justificativas para esta pesquisa so as seguintes:
1.4 CONTRIBUIES
A principal contribuio deste trabalho a definio de um modelo de
formalizao do processo de desenvolvimento de sistemas de descoberta de
conhecimento em banco de dados. Outras contribuies importantes:
Introduo
Introduo
2 FUNDAMENTAO TERICA
2.1 INTRODUO
Durante vrias dcadas, desde a inveno do primeiro computador, o principal
objetivo da utilizao do computador solucionar problemas operacionais da
organizao. A grande maioria das organizaes ainda no possui meios de utilizao
dos recursos computacionais na tomada de deciso. Apesar da existncia de grandes
bancos de dados com muitas informaes sobre o negcio da empresa, ainda so
encontradas dificuldades na descoberta de conhecimento baseada nessas informaes.
Essas dificuldades podem estar relacionadas falta de conhecimento da existncia de
tcnicas de minerao de dados e/ou de ferramentas adequadas.
As tcnicas de minerao de dados so aplicadas em sistemas de descoberta de
conhecimento em banco de dados com o objetivo de extrair informaes estratgicas
escondidas em grandes bancos de dados, atravs da pesquisa dessas informaes e da
determinao de padres, classificaes e associaes entre elas (Goebel e Gruenwald,
1999).
Os sistemas de descoberta de conhecimento so considerados sistemas
complexos. Por isto, eles exigem maior rigor no seu processo de desenvolvimento.
Os mtodos formais esto sendo atualmente muito utilizados na especificao de
sistemas complexos com o objetivo de construir sistemas de forma mais sistemtica e
sem ambigidades. Eles podem ser aplicados durante todo o processo de
desenvolvimento de sistema ou apenas em determinadas fases do processo, com graus
variados de rigor (Rushby, 1993).
Outra tecnologia avanada que pode ser utilizada na implementao de sistemas
de descoberta de conhecimento em banco de dados a tecnologia de agentes
inteligentes, para facilitar, principalmente, as tarefas de busca e seleo de informaes
em grandes bancos de dados espalhados por redes de computadores, de escolha da
tcnica de minerao de dados mais adequada e de anlise dos resultados.
Assim, o objetivo deste captulo apresentar uma fundamentao terica sobre
as reas mais relevantes desta pesquisa, que so: minerao de dados, mtodos formais
e agentes inteligentes.
Fundamentao Terica
Aprendizagem
de Mquina
Sistemas
Especialistas
KDD
Estatstica
Banco de
Dados
Visualizao
Fundamentao Terica
Fundamentao Terica
que
diferentes
faixas
(intervalos)
de
valores
contnuos
Fundamentao Terica
10
c) Associao
A tarefa de associao consiste em determinar quais itens tendem a coocorrerem (serem adquiridos juntos) em uma mesma transao. O exemplo clssico
determinar quais produtos costumam ser colocados juntos em um carrinho de
supermercado, da o termo anlise de market basket. As cadeias de varejo usam
associao para planejar a disposio dos produtos nas prateleiras das lojas ou em um
catlogo, de modo que os itens geralmente adquiridos na mesma compra sejam vistos
prximos entre si (Harrison, 1998).
A tarefa de associao pode ser considerada uma tarefa bem definida,
determinstica e relativamente simples, que no envolve predio da mesma forma que a
tarefa de classificao (Freitas, 2000, p. 65).
d) Segmentao (ou Clustering)
A segmentao um processo de partio de uma populao heterognea em
vrios subgrupos ou clusters mais homogneos (Harrison, 1998). Na segmentao, no
h classes predefinidas, os registros so agrupados de acordo com a semelhana, o que a
diferencia da tarefa de classificao.
Exemplos de segmentao: agrupar os clientes por regio do pas, agrupar
clientes com comportamento de compra similar (Goebel e Gruenwald, 1999); agrupar
sees de usurios Web para prever comportamento futuro de usurio (Mobasher et al,
2000).
e) Sumarizao
Segundo Fayyad (1996), a tarefa de sumarizao envolve mtodos para
encontrar uma descrio compacta para um subconjunto de dados. Um simples exemplo
desta tarefa poderia ser tabular o significado e desvios padro para todos os itens de
dados. Mtodos mais sofisticados envolvem a derivao de regras de sumarizao.
As tarefas de minerao de dados, descritas acima, so apresentadas de forma
resumida na Tabela 2.1.
Fundamentao Terica
11
Estimativa
(ou Regresso)
DESCRIO
Constri um modelo de algum tipo
que possa ser aplicado a dados no
classificados a fim de categoriz-los
em classes
Usada para definir um valor para
alguma varivel contnua
desconhecida
Associao
Segmentao
(ou Clustering)
Sumarizao
EXEMPLOS
Classificar pedidos de crdito
Esclarecer pedidos de seguros
fraudulentos
Identificar a melhor forma de
tratamento de um paciente
Estimar o nmero de filhos ou a renda
total de uma famlia
Estimar o valor em tempo de vida de um
cliente
Estimar a probabilidade de que um
paciente morrer baseando-se nos
resultados de diagnsticos mdicos
Prever a demanda de um consumidor
para um novo produto
Determinar quais os produtos costumam
ser colocados juntos em um carrinho de
supermercado
Agrupar clientes por regio do pas
Agrupar clientes com comportamento
de compra similar
Agrupar sees de usurios Web para
prever comportamento futuro de usurio
Tabular o significado e desvios padro
para todos os itens de dados
Derivar regras de sntese
Fundamentao Terica
12
Uma regra de associao tem a forma geral X1 ^ ... ^ Xn => Y [C,S], onde
X1,..., Xn so itens que prevem a ocorrncia de Y com um grau de confiana C e com
um suporte mnimo de S e ^ denota um operador de conjuno (AND). Um exemplo
desta regra pode ser que 90% dos clientes que compram leite, tambm compram po; o
percentual de 90% chamado a confiana da regra. O suporte da regra leite => po o
nmero de ocorrncias deste conjunto de itens na mesma transao.
A tcnica de descoberta de regras de associao apropriada tarefa de
associao.
Como exemplos de algoritmos que implementam regras de associao tem-se:
Apriori, AprioriTid, AprioriHybrid, AIS, SETM (Agrawal e Srikant, 1994) e DHP
(Chen et al, 1996).
b) rvores de Deciso
Uma rvore de deciso uma rvore onde cada n no terminal representa um
teste ou deciso sobre o item de dado considerado (Goebel e Gruenwald, 1999). O
objetivo principal separar as classes; tuplas de classes diferentes tendem a ser alocadas
em subconjuntos diferentes, cada um descrito por regra simples em um ou mais itens de
dados. Essas regras podem ser expressas como declaraes lgicas, em uma linguagem
como SQL, de modo que possam ser aplicadas diretamente a novas tuplas. Uma das
vantagens principais das rvores de deciso o fato de que o modelo bem explicvel,
uma vez que tem a forma de regras explcitas (Harrison, 1998).
A tcnica de rvore de deciso, em geral, apropriada s seguintes tarefas:
classificao e regresso.
Alguns exemplos de algoritmos de rvore de deciso so: CART, CHAID, C5.0,
Quest (Two Crows, 1999), ID-3 (Chen et al, 1996), SLIQ (Metha et al, 1996) e SPRINT
(Shafer et al, 1996).
c) Raciocnio Baseado em Casos
Tambm conhecido como MBR (Memory-Based Reasoning raciocnio
baseado em memria), o raciocnio baseado em casos tem base no mtodo do vizinho
mais prximo. O MBR procura os vizinhos mais prximos nos exemplos conhecidos e
combina seus valores para atribuir valores de classificao ou de previso (Harrison,
1998, p. 195). Tenta solucionar um dado problema fazendo uso direto de experincias e
solues passadas. A distncia dos vizinhos d uma medida da exatido dos resultados.
Fundamentao Terica
13
Fundamentao Terica
14
Uma das principais vantagens das redes neurais sua variedade de aplicao,
mas os seus dados de entrada so difceis de serem formados e os modelos produzidos
por elas so difceis de entender (Harrison, 1998).
A tcnica de redes neurais apropriada s seguintes tarefas: classificao,
estimativa e segmentao.
Exemplos de redes neurais: Perceptron, Rede MLP, Redes de Kohonen, Rede
Hopfield, Rede BAM, Redes ART, Rede IAC, Rede LVQ, Rede Counterpropagation,
Rede RBF, Rede PNN, Rede Time Delay, Neocognitron, Rede BSB (Azevedo, 2000),
(Braga, 2000), (Haykin, 2001).
A Tabela 2.2 apresenta um resumo das tcnicas de minerao de dados aqui
descritas.
Tabela 2.2: Tcnicas de Minerao de Dados
TCNICA
Descoberta de
Regras de
Associao
DESCRIO
Estabelece uma correlao
estatstica entre atributos de
dados e conjuntos de dados
TAREFAS
Associao
Classificao
Regresso
Classificao
Segmentao
Classificao
Segmentao
Redes Neurais
Artificiais
Classificao
Segmentao
rvores de
Deciso
Modelos inspirados na
fisiologia do crebro, onde
o conhecimento fruto do
mapa das conexes
neuronais e dos pesos
dessas conexes
EXEMPLOS
Apriori, AprioriTid,
AprioriHybrid, AIS, SETM
(Agrawal e Srikant, 1994) e
DHP (Chen et al, 1996).
CART, CHAID, C5.0, Quest
(Two Crows, 1999);
ID-3 (Chen et al, 1996);
SLIQ (Metha et al, 1996);
SPRINT (Shafer et al, 1996).
BIRCH (Zhang et al, 1996);
CLARANS (Chen et al,
1996);
CLIQUE (Agrawal et al,
1998).
Algoritmo Gentico Simples
(Goldberg, 1989); Genitor,
CHC (Whitley, 1993);
Algoritmo de Hillis (Hillis,
1997); GA-Nuggets (Freitas,
1999); GA-PVMINER
(Arajo et al, 1999).
Perceptron, Rede MLP,
Redes de Kohonen, Rede
Hopfield, Rede BAM, Redes
ART, Rede IAC, Rede LVQ,
Rede Counterpropagation,
Rede RBF, Rede PNN, Rede
Time Delay, Neocognitron,
Rede BSB (Azevedo, 2000),
(Braga, 2000), (Haykin,
2001)
Fundamentao Terica
15
Fundamentao Terica
16
Fundamentao Terica
17
padres
de
comportamento
de
clientes
perigosos,
identificar
comportamento fraudulento.
Fundamentao Terica
18
Definio de
Objetivos
Planejamento de ao
Planejamento de
avaliao de resultados
Acesso e
Preparao de
Dados
Definio
de um Estudo
Articular um alvo
Escolher uma varivel dependente
Especificar os campos de dados
usados no estudo
Construo de
um Modelo
Anlise do
Modelo
Predio
Escolha do melhor
resultado possvel
2) Preparao de dados
A preparao de dados envolve as tarefas de seleo e transformao dos dados.
Os tipos de dados selecionados podem estar organizados ao longo de mltiplas tabelas.
Durante a seleo de dados, o usurio pode necessitar executar junes de tabelas ou
eliminar linhas e/ou colunas de tabelas. Os mtodos de transformao incluem organizar
dados na forma desejada e converter um tipo de dado em outro tipo. A definio de
Fundamentao Terica
19
novos atributos outro tipo de transformao que pode envolver aplicar operadores
matemticos ou lgicos sobre os valores de um ou mais atributos.
Os dados selecionados e transformados so armazenados em um DW, data mart
ou data set. Para facilitar a realizao desta fase, deve ser mantido um catlogo sobre as
fontes de dados e sobre o que est no DW, data mart e data set no metadados. Os
metadados so dados sobre as estruturas contidas em banco de dados. O metadados
facilita o entendimento sobre o contedo e a estrutura de um DW, bem como a histria
das modificaes realizadas.
A realizao das tarefas deste passo exige conhecimento dos dados operacionais
e de seus relacionamentos, disponibilidade de tempo do analista e/ou usurio e alguns
cuidados na escolha de subconjuntos de atributos e de dados. Becher et al (2000)
apresentam uma abordagem para a automatizao desse passo e Hsu et al (2000)
propem o uso de um sistema semi-automtico de limpeza de dados. Pyle (1999)
descreve uma metodologia de preparao de dados.
3) Definio de um estudo
Definir um estudo pode envolver articular um alvo, escolher uma varivel
dependente ou uma sada que caracterize um aspecto do alvo e especificar os campos de
dados que so usados no estudo. Bons estudos so unidos para caracterizar aquilo que
pode ser descrito com seus dados. Por outro lado, o alvo pode ser usado para agrupar
tipos similares de dados ou para identificar excees em um conjunto de dados. A
identificao de excees geralmente usada na descoberta de fraude ou de dados
incorretos.
As atividades realizadas neste passo complementam os objetivos de negcio,
definidos anteriormente, aps a obteno de um conhecimento mais detalhado sobre os
dados operacionais existentes.
4) Construo de um modelo
A construo de um modelo feita atravs de uma tcnica de minerao de
dados, tendo como base os dados transformados e o estudo definido no passo anterior.
Um modelo resume grandes quantidades de dados por acumular indicadores. Alguns
dos indicadores que vrios modelos acumulam so: a) freqncias: mostram em qual
freqncia que um certo valor ocorre; b) pesos ou impactos: indicam a influncia
exercida por algumas entradas na ocorrncia de uma sada; c) conjunes: algumas
Fundamentao Terica
20
vezes certas entradas tm mais peso juntas do que separadas; d) diferenciao: indica a
importncia de uma entrada para uma determinada sada do que para uma outra sada.
5) Entendimento do modelo
Dependendo do tipo de modelo usado para representar os dados, existem
diferentes formas de entend-lo. Os indicadores que muitos modelos podem acumular,
conforme descritos no passo anterior, podem influenciar no entendimento do modelo,
alm do tipo de tcnica de minerao de dados aplicada na construo do modelo.
6) Predio
A predio o processo de escolher o melhor resultado possvel baseado na
anlise de dados histricos. O usurio deve analisar a informao descoberta de acordo
com sua tarefa de suporte deciso e objetivos. Portanto, ele precisa ter um bom
entendimento sobre o negcio da empresa e sobre o conhecimento descoberto.
2.2.8 Metodologias para Sistemas de Descoberta de Conhecimento
O desenvolvimento de um sistema de descoberta de conhecimento em banco de
dados uma tarefa muito complexa, principalmente pela caracterstica de
indeterminismo deste tipo de sistema. Portanto, imprescindvel o uso de uma
metodologia completa e sistemtica.
Uma metodologia de engenharia de software um processo para a produo
organizada de software, com utilizao de uma coleo de tcnicas predefinidas
e convenes de notao. Uma metodologia costuma ser apresentada como uma
srie de etapas, com tcnicas e notao associadas a cada etapa. (Rumbaugh et
al, 1994, p. 191).
Os trabalhos que se propem apresentar uma metodologia para o
desenvolvimento de sistemas de descoberta de conhecimento no incluem formalismo
na especificao desses sistemas. Normalmente, as metodologias propostas procuram
solucionar questes relativas a determinadas etapas do processo de desenvolvimento
desses sistemas e no apresentam notao para representar as caractersticas do sistema
como um todo.
Fundamentao Terica
21
Fundamentao Terica
22
b) Metodologia de Feldens
Feldens et al (1998) propem uma metodologia integrada, na qual as tecnologias
de minerao de dados e data warehouse, bem como questes de visualizao tm
papis muito importantes no processo. Tambm supe uma forte interao entre
mineradores de dados e pessoas da organizao para questes de modelagem e
preparao de dados. As fases definidas para esta metodologia so: pr-processamento,
minerao de dados e ps-processamento, conforme Figura 2.4.
Fundamentao Terica
23
Entendimento
do Negcio
Entendimento
dos Dados
Preparao
de Dados
Utilizao
Dados
Modelagem
Avaliao
Fundamentao Terica
24
Fundamentao Terica
25
capacidade
de
processamento
com relao
ao
nmero
mximo
de
tabelas/tuplas/atributos;
dados. A Tabela 2.3 relaciona algumas dessas ferramentas, fornecendo informaes tais
como: a empresa fornecedora, as tcnicas implementadas de minerao de dados e
exemplos de aplicaes.
Collier et al (1999) propem uma metodologia para seleo de ferramentas de
software de minerao de dados disponveis no mercado.
Fundamentao Terica
26
FERRAMENTA/
EMPRESA
FORNECEDORA
AIRA/
Hycones IT (1998)
TCNICAS DE
MINERAO DE
DADOS
Regras de associao
Alice 5.1/
Isoft AS. (1998)
rvore de deciso
Raciocnio baseado
em casos
Induo de regras
rvores de deciso
Redes neurais
Clementine/
Integral Solutions Limited
(ISL, 1996)
DataMind /
DataMind Technology Center
(1998), (Groth, 1998)
Decision Series/
Neovista Solutions Inc.
(1998)
Intelligent Miner/
IBM (1997)
KnowledgeSEEKER/
Angoss IL (Groth, 1998)
MineSet/
Silicon Graphics Computer
Systems (2000)
NeuralWorks Predict/
NeuralWare (Groth, 1998)
PolyAnalyst/
Megaputer Intelligence Ltd.
(1998)
(abordagem prpria)
rvore de deciso
Mtodos estatsticos
Induo de regras
Redes neurais
rvores de deciso
Redes neurais
rvores de deciso
Induo de regras
Mtodos estatsticos
rvores de deciso
Induo de regras
Rede neural
Algoritmo gentico
Mtodos estatsticos
Induo de regras
APLICAES
Gerenciamento de relacionamento de cliente,
marketing, deteco de fraude, controle de
processo e controle de qualidade.
Poltica de crdito, marketing, sade, controle
de qualidade, recursos humanos.
Marketing direto, identificao de
oportunidades de venda cruzada, reteno de
cliente, previso de lucro do cliente,
deteco de fraude, segmentao e lucro do
cliente.
No identificadas.
Marketing direcionado, deteco de fraude,
reteno de cliente, anlise de risco,
segmentao de cliente, anlise de promoo.
Segmentao de cliente, anlise de conjunto
de itens, deteco de fraude.
Lucro e segmentao de cliente para deteco
de fraude e anlise de risco, controle de
processo, marketing direto.
reas da sade, farmacutica, biotecnologia e
qumica.
Indstria.
Marketing direto, pesquisa mdica, anlise de
conjunto de itens.
Fundamentao Terica
27
Fundamentao Terica
28
A capacidade de modificao;
A completeza da especificao.
Fundamentao Terica
29
Fundamentao Terica
30
RTL (Real-Time Logic): uma lgica de tempo-real com quatro conceitos bsicos:
aes, predicados de estado, eventos e restries de tempo.
c) Abordagem Algbrica
Esta abordagem define explicitamente operaes relatando o comportamento de
diferentes operaes sem definir estados. Exemplos:
Fundamentao Terica
31
TCSP (Timed CSP): uma extenso de CSP, com um denso modelo temporal
fornecendo um relgio global.
TPCCS
(Timed
Probabilistic
Calculus
of
Communicating
Systems):
Rede de Petri: a teoria de Rede de Petri um dos primeiros formalismos para lidar
com concorrncia, no determinismo e conexes causais entre eventos, fornece uma
representao grfica com semntica formal de comportamento do sistema.
Rede de Petri Temporizada: foi o primeiro formalismo concorrente para lidar com
tempo real.
Fundamentao Terica
32
Algbrica
lgebra de Processo
Baseada em Rede
DESCRIO
Modela o sistema atravs da definio de
estados e operaes que o transformam de
um estado a outro
Descreve propriedades do sistema,
incluindo especificao de baixo nvel,
comportamentos temporal e
probabilsticos
Define, explicitamente, operaes
relatando o comportamento de diferentes
operaes sem definir estados
Representa o comportamento do sistema
com restries sobre toda comunicao
observvel entre processos
Uso de linguagens grficas com uma
semntica formal
EXEMPLOS
Z, VDM, Mtodo-B.
ITL, Clculo de Durao, Lgica
Hoare, Clculo WP, Lgica
Modal, Lgica Temporal, RTTL,
RTL, TPCTL.
OBJ, LARCH.
CSP, CCS, ACP, LOTOS,
TCSP, TPCCS.
Rede de Petri, Rede de Petri
Temporizada, Statecharts.
Fundamentao Terica
33
Fundamentao Terica
34
Fundamentao Terica
35
Construir o
Modelo de
Objetos
Refinar o
Modelo de
Objetos
Construir o
Modelo Formal
LOTOS
b) Metodologia SOFL
Liu et al (1998) propem uma linguagem chamada SOFL (Structured-Objectbased-Formal Language) e a metodologia SOFL, que integra mtodos estruturados
baseados em diagramas de fluxo de dados estendidos e formalizados, metodologia
orientada a objetos e notao formal VDM-SL.
A construo de um sistema, baseada nessa metodologia, usa mtodos
estruturados na anlise de requisitos e especificaes, uma metodologia orientada a
objetos durante as fases de projeto e implementao, com mtodos formais aplicados
durante todo o desenvolvimento para fornecer especificaes de alta qualidade e
verificaes de vrios nveis do sistema.
O processo de desenvolvimento de sistema usando SOFL consiste de duas fases
principais: desenvolvimento esttico e desenvolvimento dinmico. O desenvolvimento
esttico refere-se s atividades que melhoram o programa at que os requisitos dos
usurios sejam satisfeitos.
O desenvolvimento esttico dividido em quatro estgios: anlise preliminar de
requisitos, especificao formal dos requisitos, projeto e implementao.
Fundamentao Terica
36
Anlise
Preliminar de
Requisitos
Especificao
Formal de
Requisitos
Desenvolvimento
Esttico
Projeto
Desenvolvimento
Dinmico
Implementao
Construir um programa
de acordo com o projeto
Descoberta de
Caractersticas
Dinmicas
Fundamentao Terica
37
Descrio
Capacidade de operar sem nenhuma interveno direta, tendo controle
interno sobre suas aes e seus estados.
Inteligncia
Refere-se propriedade que habilita o agente a negociar efetivamente
com ambigidades.
Habilidade de
Capacidade de interagir com outros agentes (ou seres humanos) via
comunicao/cooperao algum tipo de linguagem de comunicao de agentes.
Mobilidade
Capacidade de transportar-se de uma mquina a outra.
Reatividade
Capacidade de perceber seu ambiente e responder a mudanas que nele
ocorrem.
Raciocnio
Capacidade de raciocnio implica que um agente pode possuir a
habilidade de inferir e extrapolar baseando-se em conhecimento atual e
experincias anteriores.
Comportamento
Capacidade de examinar o ambiente externo (a Web, por exemplo) e
adaptativo/Aprendizagem adaptar suas aes baseando-se em aes tomadas anteriormente sob
condies similares.
Fundamentao Terica
38
Execuo contnua de tarefas em background (ltimo plano), tal como checar erros
em um banco de dados ou condies ilegais (violaes de regras) em um sistema.
Fundamentao Terica
39
Execuo Remota: agente que enviado para um n remoto para executar suas
tarefas. Este agente inicia sua execuo no local remoto sempre a partir do seu
ponto inicial;
Migrao: agente que pode parar sua execuo em um n, migrar para qualquer
outro n e continuar sua execuo do ponto onde parou antes da migrao. Para
isso ele deve levar consigo seu estado. Entende-se por estado do agente todas as
informaes necessrias (valores de variveis, prxima instruo a ser executada,
valores de parmetros etc.) para que o mesmo possa dar continuidade a sua tarefa
no novo n.
Fundamentao Terica
40
Interao local: o agente mvel interage com outros agentes mveis ou objetos
estacionrios. Se necessrio, ele pode enviar agentes mensageiros ou agentes
substitutos, que so todos agentes mveis, para facilitar interao remota.
Operao sem conexo: o agente mvel pode desempenhar suas tarefas quando a
conexo da rede est aberta ou fechada. Se a conexo de rede est fechada e ele
necessita mover-se, ele pode esperar at que a conexo seja reaberta.
Execuo paralela: mais de um agente mvel pode ser enviado para diferentes
stios para executar tarefas em paralelo.
Segundo Falsarella et al (1996), o uso de agentes mveis em certas aplicaes
pode ser justificado pelos benefcios e vantagens que podem trazer, tais como:
Fundamentao Terica
41
Fundamentao Terica
42
Fundamentao Terica
43
3.1 INTRODUO
Este captulo tem como objetivo a apresentao da estrutura geral desta
pesquisa, que composta pelos seguintes elementos: o modelo da pesquisa e o processo
de desenvolvimento da pesquisa.
3.2 MODELO DA PESQUISA
O modelo proposto integra as seguintes tecnologias: minerao de dados,
modelagem orientada a objetos (UML), tcnica de descrio formal (E-LOTOS) e
agentes inteligentes. Essas tecnologias foram utilizadas como base para a definio de
um modelo de formalizao do processo de desenvolvimento de Sistemas de Descoberta
de Conhecimento em Banco de dados (SDCBs), que tem como principal objetivo a
obteno de SDCBs confiveis e de qualidade. A Figura 3.1 mostra este modelo.
Minerao de Dados
UML
E-LOTOS
Agentes Inteligentes
Modelo de
Formalizao
Processo de
desenvolvimento de
SDCBs confiveis e
de qualidade
45
Escolha
do Tema
Reviso da
Literatura
46
Engenharia de Software
Banco de Dados
Gesto da Informao
Inteligncia Artificial
Minerao de Dados
Mtodos Formais
Agentes Inteligentes
Definio da
Metodologia
Especificao
do Ambiente
Definio
do modelo
Metodologia MeDesC
Ambiente ADesC
Simulador E-LOTOS
Implementao
do Prottipo
Delphi 5.0
Validao
do Modelo
Estudos de Casos
Aplicao da MeDesC
Prottipo do ADesC
47
48
4.1 INTRODUO
A crescente exigncia por sistemas confiveis e de boa qualidade deu origem a
muitas metodologias para desenvolvimento de sistemas computacionais. No entanto,
essas metodologias, geralmente, no se aplicam adequadamente a alguns tipos de
sistemas, tais como: sistemas de tempo real e sistemas de descoberta de conhecimento
em banco de dados.
Apesar de existirem propostas de metodologias para o desenvolvimento de
sistemas de descoberta de conhecimento em banco de dados, essas metodologias no
incluem formalismo, o que dificulta a obteno de sistemas confiveis e de qualidade.
Essas exigncias podem ser satisfeitas em sistemas computacionais complexos,
com o uso de Modelagem Orientada a Objetos (MOO) e de uma Tcnica de Descrio
Formal (TDF). A MOO facilita a representao de objetos do mundo real em objetos
computacionais. As TDFs possibilitam a verificao e a validao da especificao do
sistema.
Atualmente, existem ferramentas de minerao de dados disponveis no mercado
que solucionam determinados tipos de problemas de descoberta de conhecimento em
banco de dados, conforme pode ser visto na Tabela 2.3 do Captulo 2. No entanto, essas
ferramentas, alm de apresentarem limitaes, so baseadas em mtodos ad-hoc, o que
pode levar a resultados ambguos.
Para suprir as necessidades relacionadas acima, este captulo apresenta um
modelo de formalizao do processo de desenvolvimento de sistemas de descoberta de
conhecimento em banco de dados, que engloba uma metodologia de desenvolvimento
de sistemas de descoberta de conhecimento, denominada MeDesC; um ambiente de
implementao dos modelos resultantes da aplicao dessa metodologia, denominado
ADesC e uma ferramenta de simulao e validao de especificaes de sistemas em ELOTOS. Tambm, neste captulo, so descritas, detalhadamente, todas as etapas da
metodologia MeDesC.
50
Problema KDD
Metodologia
MeDesC
Modelos UML
Ambiente
ADesC
Especificao
E-LOTOS
Resultados da
Minerao de Dados
Resultados
Simulao
Simulao/
Verificao
51
2.3.3 do Captulo 2, mtodos formais podem ser aplicados em nveis variados de rigor;
assim, na metodologia MeDesC, o nvel de rigor aplicado foi 1, considerando que foi
includa uma etapa de formalizao no processo de desenvolvimento de sistemas
computacionais. As etapas dessa metodologia so descritas nas prximas sees.
O analista de sistemas poder utilizar a metodologia MeDesC por completo e
implementar o seu sistema de descoberta de conhecimento em banco de dados em
qualquer linguagem de programao que lhe for mais conveniente, ou ento, poder
utilizar a metodologia MeDesC at a fase de projeto informal e implementar seu sistema
no ambiente ADesC.
O ambiente ADesC (descrito mais detalhadamente no Captulo 5) tem como
objetivos principais: auxiliar o analista de sistemas na etapa de implementao de
sistemas de descoberta de conhecimento em banco de dados, oferecendo-lhe facilidades
na construo desses sistemas; traduzir modelos UML para E-LOTOS e oferecer ao
usurio final um ambiente interativo e amigvel que gera informaes relevantes
tomada de deciso da empresa. Essas informaes so obtidas pelo ambiente atravs da
aplicao de tcnicas de minerao de dados.
O desenvolvimento do ambiente ADesC baseado no ciclo de vida clssico de
sistemas. No entanto, foi includa a etapa de projeto formal para que a especificao do
ambiente possa ser simulada e verificada, resultando, assim, em um ambiente confivel
e de qualidade.
Na especificao do ambiente ADesC, tambm so usados modelos UML nas
etapas de anlise do sistema e de projeto informal. Os modelos resultantes da fase de
projeto informal so traduzidos para E-LOTOS (Anexo 9.4).
O ambiente ADesC baseia-se na tecnologia de agentes para facilitar a busca e a
seleo de informaes em grandes bancos de dados, que podem estar espalhados por
diferentes ns de redes de computadores; a escolha da tcnica de minerao de dados
mais adequada e a anlise dos resultados. Os objetos definidos no ambiente possuem
caractersticas que os identificam como pertencentes s classes de agentes inteligentes,
agentes mveis ou agentes de software. No entanto, a tecnologia de agentes foi aplicada
apenas na especificao do ambiente ADesC, o prottipo e o estudo de casos realizado
no se basearam nesta tecnologia devido complexidade de sua implementao.
Todas as fases bsicas de um sistema de descoberta de conhecimento em banco
de dados so realizadas no ambiente ADesC. So elas: pr-processamento, construo
de um modelo e ps-processamento. Em todas essas fases, o ambiente interage com o
52
usurio para que este possa selecionar os atributos necessrios, definir os tipos de
transformaes sobre os dados, escolher a tcnica de minerao de dados a ser aplicada
e realizar a anlise dos resultados obtidos.
Na fase de pr-processamento, o ambiente ADesC possui uma funo no
encontrada em outras ferramentas de minerao de dados, que a funo de Traduo
para E-LOTOS. Esta funo traduz os modelos UML, que representam as caractersticas
do sistema projetado pelo analista de sistemas, para a linguagem E-LOTOS;
possibilitando, assim, a formalizao da especificao do sistema.
Assim como descrito na literatura (Berry e Linoff, 1997), (Groth, 1998),
(Freitas, 1998), (Feldens et al, 1998) etc, a fase de pr-processamento do ambiente
ADesC engloba as tarefas de preparao e de transformao de dados. Essas tarefas so
realizadas com a ajuda de agentes mveis e de agentes de software. O conjunto de dados
preparado e transformado armazenado em uma estrutura de dados denominada
Dataset, que definida de acordo com o sistema desenvolvido. A funo de definio
das formas de povoamento dos dados, realizada pelo ambiente ADesC, tambm pode
ser considerada como pertencente fase de pr-processamento. Essa funo
importante na manuteno de dados atualizados no DataSet. As informaes sobre os
dados selecionados, sobre as transformaes realizadas nos dados e sobre as definies
das formas de povoamento dos dados, so armazenadas em tabelas do metadados.
Na fase de construo de um modelo aplicada uma tcnica de minerao de
dados sobre o Dataset, adequada ao tipo de problema KDD em estudo. A escolha dessa
tcnica realizada pelo usurio (analista de sistemas) com a ajuda de um agente
inteligente.
Aps o modelo ser construdo, atravs da aplicao de uma tcnica de minerao
de dados, os resultados so armazenados para que, posteriormente, o usurio final possa
analis-los na fase de ps-processamento. A anlise dos resultados tambm realizada
com a ajuda de um agente inteligente, que poder, por exemplo, eliminar resultados
menos relevantes.
4.3 A METODOLOGIA MeDesC
As principais etapas da metodologia MeDesC so baseadas no ciclo de vida
clssico de desenvolvimento de sistemas (Pressman, 1999) e nos passos bsicos para o
desenvolvimento de sistemas de descoberta de conhecimento em banco de dados
53
Projeto
Informal
Projeto
Formal
Verificao/
Validao
Implementao
Anlise de
Resultados
54
55
Descrio Inicial
do Sistema
Construo de Diagramas
de Classes do(s) Sistema(s)
em Operao
Construo do Diagrama de
Classes Corporativo
56
para estudo, definir os objetivos gerais e especficos que devero ser alcanados com o
desenvolvimento do sistema e determinar como os resultados obtidos podem ser usados
no suporte tomada de deciso na empresa.
Na definio dos objetivos devese ter uma idia sobre que tipos de informaes
seriam estrategicamente interessantes de serem obtidas e sobre como o conhecimento
descoberto poder ser aplicado na empresa.
Com a definio dos objetivos gerais e especficos a serem alcanados e tendo
conhecimento dos tipos mais interessantes de informaes estratgicas a serem
descobertos, possvel determinar a tarefa de minerao de dados a ser resolvida.
4.4.3
operao existente (Booch et al, 1999). Este tipo de diagrama descreve as classes de
objetos do sistema e os vrios tipos de relacionamentos existentes entre os objetos.
Na etapa de anlise do sistema devem ser construdos diagramas de classes
segundo as vises de diferentes usurios e/ou de diferentes sistemas em operao
utilizados como base para o sistema em desenvolvimento. Nesta etapa, a classe de
objetos, representada por um retngulo, pode conter somente o seu nome; sendo os seus
atributos e suas operaes includos em etapas posteriores.
As informaes para os diagramas de classes provm da definio inicial do
problema, do perfeito domnio da aplicao e do conhecimento geral do mundo real. Se
o(s) sistema(s) em operao estiver(em) bem documentado(s), as documentaes
existentes podem ser utilizadas na etapa de anlise do sistema.
Antes de serem construdos os diagramas de classes, necessrio definir quais
classes de objetos pertencem e quais no pertencem ao escopo do modelo de dados do
57
novo sistema. Isto pode ser feito com base na descrio inicial do problema e nos
objetivos do sistema, obtidos anteriormente.
4.4.4
.
.
.
58
O termo povoamento utilizado como sinnimo de atualizao e envolve a definio de como e quando
as atualizaes realizadas nos bancos de dados operacionais devem ser refletidas no DW.
Seleo de Atributos
Definio das
Transformaes dos Dados
59
Integrao, normalizao/desnormalizao,
codificao/decodificao, converso,
discretizao, resumos
Projeto de uma
Estrutura de Metadados
Projeto do DW/DM/DS
Definio da estrutura
Anlise da relao com bases operacionais
Definio de Tcnica de
Amostragem Estatstica
Escolha de Tcnica de
Minerao de Dados
Determinao da Forma de
Povoamento DW/DM/DS
60
sexo
compra?
sim no
20 30
20 30
salrio
compra?
sim no
alto
mdio
baixo
18 2
20 10
2 48
Intuitivamente, salrio melhor atributo de previso do que sexo, pois, sabendose o valor de salrio fica mais fcil prever o valor do atributo meta compra, em
comparao com saber o valor de sexo. Logo o atributo salrio seria selecionado,
enquanto o atributo sexo no.
4.5.2
ambiente herdado para o ambiente de DW, parece que nada alm de simples extraes
de dados de um local para o outro est ocorrendo. Contudo, as primeiras impresses
podem ser muito enganosas. O que em um primeiro momento parece ser nada mais do
que a movimentao de dados de um local para outro, transforma-se, rapidamente, em
uma grande e complexa tarefa.
61
Integrao de dados;
Normalizao/desnormalizao;
Codificao/decodificao;
Converses;
Discretizao;
Definio de resumos.
Intercalao de tabelas;
62
de dados operacionais antes que eles estejam prontos para passar para o DW muito
mais complexa do que esse exemplo simples.
A utilizao de dados contnuos , muitas vezes, impossibilitada por
caractersticas inerentes a determinadas tcnicas de minerao de dados. Assim, pode
haver necessidade de tornar dados contnuos em dados discretos.
Freqentemente necessrio resumir dados. Vrios registros operacionais de
entrada so combinados em um nico registro do DW. Para efetuar o resumo, os
registros de entrada detalhados, candidatos ao resumo, devem estar dispostos em uma
seqncia adequada.
As transformaes a serem realizadas so representadas nos Diagramas de
Estados.
4.5.3
povoamento do DW/DM/DS, bem como informaes que sero usadas pelos analistas
no entendimento dos dados e na construo dos modelos.
Sem a existncia de uma estrutura de metadados, as tarefas de seleo de
atributos e de definio das transformaes dos dados tero que ser realizadas toda vez
que houver a necessidade de povoamento do DW/DM/DS e sempre antes de ser feita
uma investigao atravs da aplicao de uma tcnica de minerao de dados.
4.5.4
Projeto do DW/DM/DS
Deve ser definida a estrutura do DW/DM/DS necessria para o armazenamento
4.5.5
63
para representar os bancos de dados do(s) sistema(s) atual(is) em operao que foram
tomados como base para o desenvolvimento do sistema de descoberta de conhecimento
em banco de dados. Aps esse diagrama ser refinado, ele construdo novamente para
ilustrar as classes de objetos que representam as tabelas desses bancos de dados, seus
relacionamentos, os atributos selecionados e os mtodos definidos. Os diagramas de
classes do metadados e do DW/DM/DS tambm devem ser construdos nesta fase.
4.5.8
64
Dobra de tempo: o intervalo mnimo de tempo de espera para que uma alterao realizada no ambiente
operacional possa ser refletida no data warehouse.
65
66
Diviso do Sistema
em Mdulos
Definio do Modelo de
Comunicao
67
4.6.2
68
69
BD/DW
pebd
psbd
peds
DATASET
psds
pent
Usurios
psai
Ambiente de
Descoberta de
Conhecimento
pemd
psmd
METADADOS
pere
psre
RESULTADOS
70
Exemplos
A seguir so relacionados alguns exemplos do mapeamento de diagramas UML
para E-LOTOS.
a) Herana
A Figura 4.8 mostra um exemplo de herana simples entre classes de objetos.
Esta figura baseada em UML (Booch et al, 1999).
Bancodados
Id
BuscarTabelas
VerAtributos
LerDados
Docente
Discente
VerAtributos
LerDados
TransformarDados
71
72
module modDADOS is
type Typent is
...
endtype
type Typesai is
...
endtype
(* ... outros tipos *)
type Portaent is (ent: Typent) endtype
type Portasai is (sai: Typesai) endtype
type Portaebd is (ebd: Typebd) endtype
type Portasbd is (sbd: Typebd) endtype
type Portaeds is (eds: Typeds) endtype
type Portasds is (sds: Typeds) enddtype
type Portaemd is (emd: Typemd) endtype
type Portasmd is (smd: Typemd) endtype
type Portaere is (ere: Typere) endtype
type Portasre is (sre: Typere) endtype
endmod
specification AmbDesco import modDados, modUsuario, modAmbiente, modBaseDados,
modDataSet, modMetadados, modResultados is
gates pent: Portaent, psai: Portasai, pebd: Portabd, psbd: Portabd, peds: Portads,
psds: Portads, pemd: Portamd, psmd: Portamd, pere: Portare, psre: Portare
Behaviour
(
(
Usuario [pent, psai] (0)
|||
...
Usuario [pent, psai] (n-1)
)
|[pent, psai]|
Ambiente [pent, psai, pebd, psbd, peds, psds, pemd, psmd, pere, psre]
|[pebd, psbd, peds, psds, pemd, psmd, pere, psre]|
(
Bancodados [pebd, psbd]
|||
Dataset [peds, psds]
|||
Metadados [pemd, psmd]
|||
Resultados [pere, psre]
)
)
endspec
73
VerAtributos
[Objeto criado]
Criando
LerDados
[Atributos OK]
Vendo
Atributos
Remover
Lendo Dados
Removendo
74
true
endvar
endfunc
process Docente [pebd: Portabd, psbd: Portabd] is
VerAtributos [pebd, psbd]
[]
LerDados [pebd, psbd]
process VerAtributos [pebd: Portabd, psbd: Portabd] is
var id: integer ;
infbd: Typebd ;
atributos: Typeatrib
in
pebd (?id, ?infbd) ;
(* identifica os atributos da tabela Docente *)
psbd (!id, !atributos) ;
endvar
endproc
process LerDados [pebd: Portabd, psbd: Portabd] is
var id: integer ;
fim: boolean ;
atributos: Typeatrib ;
dados: Typedados
in
pebd (?id, ?atributos) ;
loop
(* l os dados da tabela Docente at o fim *)
if (fim) then
break else
psre (!id, !dados) ;
endif
endloop
endvar
endproc
endmod
75
76
5.1 INTRODUO
A utilizao de sistemas de descoberta de conhecimento em banco de dados para
o suporte tomada de deciso na organizao enfrenta, muitas vezes, problemas como:
falta de ferramenta adequada; alto custo das ferramentas OLAP e de minerao de
dados; e dificuldades no desenvolvimento de um sistema que atenda s necessidades da
organizao.
As ferramentas disponveis no mercado freqentemente atendem a tipos
especficos de aplicaes. Assim, a organizao pode precisar adquirir mltiplas
ferramentas para atender as suas necessidades atuais e futuras.
O projeto e implementao de sistemas de descoberta de conhecimento podem
constituir-se em tarefas complexas e altamente dependentes da equipe de
desenvolvimento. Sua implementao exige do analista de sistemas o conhecimento de
tecnologias avanadas da rea de informtica, tais como: tcnicas de minerao de
dados, sistemas de gerenciamento de banco de dados, sistemas distribudos, inteligncia
artificial, etc. O analista de sistemas tambm precisa ter conhecimento sobre o negcio
da organizao. Assim, existe a necessidade de construo de um ambiente que d
suporte ao desenvolvimento desses tipos de sistemas.
Para suprir essa necessidade, foi especificado um ambiente de implementao de
sistemas de descoberta de conhecimento em banco de dados, denominado ADesC,
apresentado neste captulo. Este ambiente baseia-se na tecnologia de agentes
inteligentes, aplica tcnicas de minerao de dados e utiliza diagramas UML para
representar suas caractersticas. A linguagem E-LOTOS tambm usada na
especificao formal do ambiente.
78
TRADUTOR
DATA
WAREHOUSE
BD
USURIO ADMINISTRADOR
USURIO
ANALISTA
GERENTE DE
INTERFACES
SUPORTE
RESULTADOS
USURIO
FINAL
ESTRUTURA
DE AGENTES
DATA SET
METADADOS
79
Gerente
de
Servios
Servidor
de
Agentes
Agentes
Coordenador
de
Transporte
80
Agente
Transformao
Agente
Tcnica
Servidor
de
Agentes
Agente
Roteador
Agente
Anlise
Agente
Povoamento
81
Nomeao: nomeia agentes para que eles possam ser distingidos entre si.
Determinao de rota: uma rota deve ser determinada para o agente seguir
at o seu destino, sendo que esta pode ser pr-determinada, ter determinao
dinmica ou determinao hbrida.
82
83
Inicializar
Ambiente
Traduzir p/
E-LOTOS
Localizar
BD
usa
usa
Preparar
Dados
usa
Selecionar
Atributos
Definir
Transformao
usa
Carregar
Dados
usa
Definir
Povoamento
Povoar
Dados
Usurio
Analista
Carregar
Definies
usa
usa
Aplicar
Tcnica
usa
Visualizar
Resultados
Escolher
Tcnica.
Entrar
Parmetros
usa
Finalizar
Ambiente
Ver
Resultados
84
Inicializar
Ambiente
Visualizar
Resultados
usa
Ver
Resultados
Analisar
Resultados
usa
Usurio Final
Finalizar
Ambiente
ATRIBUTOS
IdBD, NomeBD, Endereo
GerenteInterfaces
TipoInterface
InterfaceEntrada
InterfaceDados
AgenteBusca
AgenteRoteador
AgenteTransformao
AgenteTcnica
AgenteAnlise
AgentePovoamento
GerenteServios
CoordenadorTransporte
Usurio
BancoDados/
DataWarehouse
DataSet
Metadados
Resultados
MTODOS
Criar, Remover, LocalizarBD,
VerAtributos, GravarDefinies,
GravarDados, CarregarDados,
GravarResultados, CarregarResultados,
CarregarMetadados, AtualizarDados,
RemoverTabelas
Criar, Remover, InicializarAmbiente,
PrepararDados, MostrarAtributos,
AplicarTcnica, VisualizarResultados,
AnalisarResultados, FinalizarAmbiente
Criar, Remover, SelecionarBD
Criar, Remover, MostrarAtributos,
SelecionarAtributos
Criar, Remover, DefinirTransformao
Criar, Remover, CarregarDefinies
EscolherTcnica, EntrarParmetros
Criar, Remover, MostrarResultados
Criar, Remover, MostrarAnlise
85
Suporte
86
BD/DW
1
DataSet
Gerente
Interfaces
Metadados
Resultados
Servidor
Agentes
Tradutor
Interface
Entrada
Coordenador
Transporte
Gerente
Servios
1
1
Interface
Anlise
Interface
Tcnica
Interface
Dados
Interface
Interface
Transform.
Resultados
Agente
Busca
Agente
Roteador
Agente
Transf.
Agente
Tcnica
Agente
Anlise
Agente
Povoam.
1) Inicializao
A inicializao do ambiente ocorre no momento em que o programa de execuo
do ambiente disparado por um usurio. Esta funo cria os principais objetos do
sistema, so eles: GerenteInterfaces, Suporte e ServidorAgente. O Diagrama de
Colaborao da Figura 5.7 ilustra esta funo.
87
1:Iniciar
:Gerente
Interfaces
2:Criar
4:Criar
3:Criar
:Suporte
:Servidor
Agentes
: (Outros
Objetos)
2) Configurao
Atravs desta funo, o Usurio Administrador cadastra os demais usurios do
ambiente e define quais funes devem ficar visveis a cada um deles de acordo com a
classe de usurio a que ele pertence. A Figura 5.8 representa esta funo.
2:CadastrarUsurio
3:DefinirFunes
1:Configurar
:Gerente
Interfaces
:Suporte
88
4) Preparao de dados
A funo de preparao de dados envolve os passos a seguir e o diagrama de
colaborao da Figura 5.9 ilustra esta funo.
-
Criao dos objetos necessrios para a execuo desta funo pelo ambiente.
Definio
dos
tipos
de
transformaes
necessrias
aos
atributos
89
2:Criar
10:SelecionarBD
29:Remover
:Interface
Entrada
3:Criar
19:SelAtrib
30:Remover
1:PrepararDados
:Gerente
Interfaces
4:Criar
20:DefinirTransf
31:Remover
5: CriarAgentes
32:RemoverAgentes
18:MostrarAtrib
28:Finalizar
:Agente
Transformacao
:Suporte
16:VerAtributos
26:GravarDados
:Servidor
Agentes
9:Criar
13:CoordenarTransporte
35:Remover
:Coordenador
Transporte
27:Gravar
17:VerAtributos
23:LerDados
8:Criar
14:VerServio
34:Remover
:Gerente
Servios
:Interface
Transformao
11:LocalizarBD
21:GravarDefinies
12:LocalizarTab, 24:TransfDados
7:Criar
25:TrDados
33:Remover
:Interface
Dados
:BancoDados/
DataWarehouse
6:Criar
15:BuscarTabelas
36:Remover
:Agente
Busca
:DataSet
22:GravarDefinies
:Metadados
5) Povoamento
Nesta funo, o conjunto de dados do DataSet povoado com dados atualizados
atravs do Metadados gravado pela funo de preparao de dados. O povoamento pode
ser ativado atravs de um evento automtico que disparado pelo sistema ou atravs de
um comando executado pelo usurio analista. O diagrama de colaborao da Figura
5.10 representa esta funo e a seguir so relacionados os passos realizados nesta
funo:
-
Atualizao do Metadados.
90
2:Criar
3:DefinirProvoamento
12:Remover
1:PovoarDados
: Interface
Povoamento
: Gerente
Interfaces
4:AplicarPovoamento
13:RemoverAgentes
7:CarregarMetadados
9:GravarDados
:Servidor
Agentes
5:Criar
6:Povoar
14:Remover
:Suporte
8:LerMetadados
10:Atualizar
:Agente
Povoamento
:Metadados
11:GravarDados
:DataSet
6) Minerao de dados
A funo de minerao de dados define os passos a seguir e o diagrama de
colaborao da Figura 5.11 ilustra esta funo.
-
91
2:Criar
3:EscolherTecnica
7:EntrarParam
14:Remover
1:AplicarTcnica
: Interface
Tcnica
: Gerente
Interfaces
4:DefinirAlgoritmo
8:AplicarAlgoritmo
15:RemoverAgentes
9:CarregarDados
12:GravarResultados
:Servidor
Agentes
:Suporte
5:Criar
6:DefinirAlgoritmo
11:AplicarAlgoritmo
16:Remover
13:Gravar
10:LerDados
:Agente
Tcnica
:DataSet
:Resultados
1:VisualizarResultados
:Gerente
Interfaces
:Interface
Resultados
3:CarregarResultados
4:LerResultados
:Suporte
:Resultados
92
2:Criar
5:MostrarResultados
11:Remover
1:Analisar
:Gerente
Interfaces
9:Criar
10:MostrarAnalise
12:Remover
:Interface
Resultados
:Interface
Anlise
3:CarregarResultados
6:RealizarAnlise
13:RemoverAgentes
7:Criar
8: Analisar
14:Remover
:Agente
Anlise
:Suporte
4:LerResultados
:Servidor
Agentes
:Resultados
9) Finalizao
A finalizao remove os objetos criados pela inicializao. O diagrama de
colaborao da Figura 5.14 ilustra esta funo.
93
1:Finalizar
:Gerente
Interfaces
2:Remover
:Suporte
3:Remover
:Servidor
Agentes
4:Remover
: (Outros
Objetos)
Uma estrutura de metadados est em fase de definio por um aluno de mestrado do Curso de PsGraduao em Engenharia de Produo da Universidade Federal de Santa Catarina.
94
INTERFACE
ENTRADA
peie
INTERFACE
DADOS
psie
peid
INTERFACE
TRANSFORM.
psid
peit
psit
peir
pent
USURIO
psai
INTERFACE
RESULTADOS
psir
GERENTE DE
INTERFACES
peia
INTERFACE
ANALISE
psia
pebd
BD/DW
psbd
peti
psti
pesi
pssi
TRADUTOR
SUPORTE
pess
COORD.
TRANSPORTE
AGENTE
BUSCA
pect
pesa
pegs
pssa
GERENTE
SERVICOS
RESULTADOS
psre
pemd
psmd
peds
METADADOS
psds
psgs
psct
peab
peaa
SERVIDOR
DE AGENTES
psab
psaa
pear
AGENTE
ROTEADOR
psss
pere
AGENTE
ANLISE
peap
psar
peat
psat
AGENTE
TRANSF.
peac
psap
psac
AGENTE
POVOAMENTO
AGENTE
TCNICA
DATASET
95
6 APLICAO DO MODELO
6.1 INTRODUO
Este captulo descreve estudo de casos que tem como objetivo principal validar o
modelo de formalizao do processo de desenvolvimento de sistemas de descoberta de
conhecimento em banco de dados, apresentado no Captulo 4. Mais especificamente,
validar a metodologia MeDesC e o ambiente ADesC (especificado no Captulo 5).
A validao realizada com o desenvolvimento de um sistema de descoberta de
conhecimento seguindo as etapas da metodologia MeDesC, utilizando o prottipo do
ambiente ADesC na etapa de implementao e tendo como base os dados contidos em
bancos de dados da CAPES dos Programas de Ps-Graduao do Brasil no ano de 1998.
6.2 ESPECIFICAO DO SISTEMA
A especificao do sistema, apresentada nas prximas sees, mostra o
desenvolvimento de um sistema de descoberta de conhecimento em banco de dados
utilizando a metodologia MeDesC descrita no Captulo 4.
A metodologia MeDesC seguida etapa por etapa para demonstrar a forma
rigorosa e sistemtica por ela imposta e para servir como base ao desenvolvimento de
outros sistemas de descoberta de conhecimento.
As etapas e sub-etapas, descritas nas prximas sees, so:
1) Anlise do Sistema:
Descrio do problema;
2) Projeto Informal:
Projeto do DW/DM/DS;
Aplicao do Modelo
97
3) Projeto Formal:
4) Implementao do Sistema.
5) Anlise dos Resultados.
6.3 ANLISE DO SISTEMA
A etapa de Anlise do Sistema est subdividida em quatro sub-etapas, que so
descritas a seguir, so elas:
1) Descrio do problema;
2) Definio dos objetivos do sistema;
3) Construo de diagramas de classes do(s) sistema(s) em operao;
4) Construo do diagrama de classes corporativo.
6.3.1 Descrio do Problema
Na descrio do problema de minerao de dados a ser solucionado dada uma
viso geral sobre a rea de negcio a ser investigada. Neste estudo de casos, a rea a ser
investigada Fomento Ps-Graduao. A CAPES uma agncia de fomento PsGraduao do Brasil que mantm um sistema de avaliao de cursos, reconhecido e
utilizado por outras instituies nacionais.
A Fundao de Coordenao de Aperfeioamento de Pessoal de Nvel
Superior (CAPES) uma entidade pblica vinculada ao Ministrio da
Educao - MEC, criada inicialmente como Campanha, em 1951 e
Aplicao do Modelo
98
Opinar sobre matrias que lhe sejam suscitadas pelo Conselho Tcnico-Cientfico ou
pelo seu Presidente.
A CAPES possui bancos de dados contendo informaes sobre os Programas de
Aplicao do Modelo
99
Requisitos de
Inscrio
Estabelece
Possui
rea de
Concentrao
Possui
N
Procedim entos
de Seleo
D efine
rea Afim
Possui
Inform ao
D iscentes
Curso
Fornece
Program a
Pertence
Pertence
O ferece
Coordena
Pertence
N
1
Sobre
Possui
D isciplina
Turma
N
Ministra
Pertence
Est
Associada
rea de
Concentrao
Est
Associada
N
N
Produo
N
N
rea de
Conhecim ento
Recurso
H umano
1
N
Autor
Tcnica
Artstica
Publicao
1
Sobre
Autor
Est Associada
Fez Parte da
B anca
Participa
N
N
Tese
O rienta
Linha
de Pesquisa
Est
Associada
N
N
Est
Associada
Financia
N
rea de
Concentrao
1
N
Est
Associada
Financiadores
Est
Associada
Aplicao do Modelo
100
A inspeo sobre os dados para verificar se indicadores de qualidade da psgraduao apresentam coerncia, quando relacionados;
Aplicao do Modelo
101
6.3.3
como base algumas das tabelas dos bancos de dados da CAPES que contm dados sobre
os Programas de ps-graduao do Brasil. Essas tabelas e seus relacionamentos so
representados em um nico diagrama de classes, considerando que os bancos de dados
utilizados pertencem somente a um nico sistema, como mostra a Figura 6.2.
COL_
PRODUCAO
COL_R_TESES_
ORIENTADORES
COL_PROGRAMAS
G_IES_PAIS
COL_PRODU
CAO_ AUTOR
G_AREA_SUBAREA
COL_TESES
COL_PESSOAL
COL_TESES_
AGENCIAS
COL_DISCENTES
_ AUTORES
COL_
DOCENTES
COL_
PESQUISADORES
COL AGENCIAS
6.3.4
Aplicao do Modelo
102
Tabela 6.1: Atributos Selecionados das Tabelas dos Bancos de Dados da CAPES
Nome da Tabela de Entrada
COL_PROGRAMAS
COL_TESES
Atributos
AnoBase, Codigo, IdIESPais, RdnNivel, Nome, IdAreaBasica
AnoBase, IdPrograma, Sequencial, IdPessoal, MatriculaAutor,
DefesaTese, Nivel, IdProjetoPesquisa
COL_R_TESES_AGENCIAS
AnoBase, IdPrograma, IdTese, NumeroMeses
COL_R_TESES_ORIENTADORES AnoBase, IdPrograma, IdTese, IdPessoalOrientador, Tipo
COL_DISCENTES_AUTORES
AnoBase, IdPrograma, IdPessoal, NivelTitulacao
COL_DOCENTES
AnoBase, IdPrograma, IdPessoal, NumeroOrientandosMestrado,
NumeroOrientandosDoutorado, TitulacaoAtual
COL_PESQUISADORES
AnoBase, IdPrograma, IdPessoal, TitulacaoAtual
COL_PRODUCAO
AnoBase, IdPrograma, AreaProduo, VinculoTese,
IdTipoProducao, IdOrientadorTese
G_IES_PAS
Codigo, Nome, Sigla
G_AREA_SUBAREA
Cdigo, IdGrandeArea, IdArea
Aplicao do Modelo
6.4.2
103
resumos devem ser obtidos. A seguir, para cada objetivo, so relacionadas tabelas
usadas como fonte de entrada na obteno de cada tabela de sada, que so as tabelas de
dataset usadas como entrada para o algoritmo de minerao de dados. Os resumos so
descritos nos atributos das tabelas de sada. importante lembrar que os atributos das
tabelas de entrada j foram selecionados e esto relacionados na tabela 6.1.
1) Estudo da relao Fomento x Nvel de Formao do Quadro Funcional do Programa
Tabelas de entrada:
-
COL_TESES
COL_R_TESES_AGENCIAS
COL_PRODUCAO
COL_DOCENTES
COL_PESQUISADORES
COL_DISCENTES_AUTORES
COL_PROGRAMAS
G_IES_PAIS
G_AREA_SUBAREA
Tabela de sada:
DS_BOLSAS_PRODUTIVIDADE
IdGrArea;
NumeroMeses / Alunos );
Pr oducao
/ ( Docentes +
Pesquisadores
DiscentesAutores ));
-
Aplicao do Modelo
104
COL_R_TESES_ORIENTADORES
COL_TESES
COL_DOCENTES
COL_PROGRAMAS
G_IES_PAIS
Tabela de sada:
DS_ORIENTANDOS_FORMACAO
IdGrArea;
COL_TESES
COL_R_TESES_AGENCIAS
COL_PRODUCAO
COL_PROGRAMAS
G_IES_PAIS
G_AREA_SUBAREA
Tabela de sada:
DS_FORMACAO_BOLSA_VINCULO
IdGrArea;
Aplicao do Modelo
105
Mtodos
CalcularBolsaAluno,
CalcularProducao,
CalcularTotalGraduados,
CalcularTotalMestres,
CalcularTotalDoutores,
CalcularTotalOrientandos,
CalcularMediaMeses,
CalcularMesesFormacao,
VerificarBolsaVinculo
DiscretizarDados
duas tabelas de metadados para o registro das informaes necessrias para a criao
das tabelas do data set. Essas tabelas e seus atributos esto relacionados na Tabela 6.4.
Os mtodos das classes de objetos dos metadados so: Criar, Remover,
GravarDefinicoes, LerMetadados e Atualizar, conforme j documentados no Captulo 5.
Aplicao do Modelo
106
BolsaAluno
Produtividade
(Quantitativa)
TotalProducao
TotalGraduados
TotalMestres
TotalDoutores
NumeroOrientandos
MesesFormacao
Faixas
Cincias Exatas e da Terra
Cincias Biolgicas
Engenharias
Cincias da Sade
Cincias Agrrias
Cincias Sociais Aplicadas
Cincias Humanas
Lingstica, Letras e Artes
Grande rea no Informada
Outros
BolsaAluno0_12
BolsaAluno13_18
BolsaAluno19_24
BolsaAluno25_30
BolsaAluno31_
Produtiv0_1
Produtiv2_3
Produtiv4_6
Produtiv7_10
Produtiv11_
TotProd0_50
TotProd50_100
TotProd101_200
TotProd201_300
TotProd301_400
TotProd401_
TotalGrad0_5
TotalGrad6_20
TotalGrad21_40
TotalGrad41_70
TotalGrad71_100
TotalGrad101_
TotalMest0_20
TotalMest21_40
TotalMest41_20
TotalMest71_20
TotalMest101_200
TotalMest201_
TotalDout0_20
TotalDout21_40
TotalDout41_60
TotalDout61_80
TotalDout81_100
TotalDout101_
NumOrient_1
NumOrient_2
NumOrient_3
NumOrient4_7
NumOrient8_
MesesForm0_12
MesesForm13_18
MesesForm19_24
MesesForm25_30
MesesForm31_36
MesesForm36_
Valores
10000003
20000006
30000009
40000001
50000004
60000007
70000000
80000002
90000000
90000005
maior ou igual a 0 e menor ou igual a 12
maior ou igual a 13 e menor ou igual a 18
maior ou igual a 19 e menor ou igual a 24
maior ou igual a 25 e menor ou igual a 30
maior ou igual a 31
maior ou igual a 0 e menor ou igual a 1
maior ou igual a 2 e menor ou igual a 3
maior ou igual a 4 e menor ou igual a 6
maior ou igual a 7 e menor ou igual a 10
maior ou igual a 11
maior ou igual a 0 e menor ou igual a 50
maior ou igual a 51 e menor ou igual a 100
maior ou igual a 101 e menor ou igual a 200
maior ou igual a 201 e menor ou igual a 300
maior ou igual a 301 e menor ou igual a 400
maior ou igual a 401
maior ou igual a 0 e menor ou igual a 5
maior ou igual a 6 e menor ou igual a 20
maior ou igual a 21 e menor ou igual a 40
maior ou igual a 41 e menor ou igual a 70
maior ou igual a 71 e menor ou igual a 100
maior ou igual a 101
maior ou igual a 0 e menor ou igual a 20
maior ou igual a 21 e menor ou igual a 40
maior ou igual a 41 e menor ou igual a 70
maior ou igual a 71 e menor ou igual a 100
maior ou igual a 101 e menor ou igual a 200
maior ou igual a 201
maior ou igual a 0 e menor ou igual a 20
maior ou igual a 21 e menor ou igual a 40
maior ou igual a 41 e menor ou igual a 60
maior ou igual a 61 e menor ou igual a 80
maior ou igual a 81 e menor ou igual a 100
maior ou igual a 101
igual a 1
igual a 2
igual a 3
maior ou igual a 4 e menor ou igual a 7
maior ou igual a 8
maior ou igual a 0 e menor ou igual a 12
maior ou igual a 13 e menor ou igual a 18
maior ou igual a 19 e menor ou igual a 24
maior ou igual a 25 e menor ou igual a 30
maior ou igual a 31 e menor ou igual a 36
maior ou igual a 36
Aplicao do Modelo
107
6.4.4
Atributos
id, nome, sqlCriacao, sqlExtracao, Descrio
idTabela, id, Origem, Mnimo, Maximo, Destino
mostra a Tabela 6.5. Aps ser escolhida a tcnica de minerao de dados, novos
atributos podero ser definidos. Os mtodos da classe de objetos DataSet so os mesmos
para todas as tabelas definidas, so eles: Criar, Remover, GravarDataSet e LerDataSet.
Atributos
DS_BOLSAS_PRODUTIVIDADE
Unidade Bsica
de Anlise
Programa de
Ps-Graduao
Orientador
Orientando
6.4.5
DS_BOLSAS_PRODUTIVIDADE: 474;
DS_ORIENTANDOS_FORMACAO: 4981;
DS_FORMACAO_BOLSA_VINCULO: 8398.
definir uma amostra dos dados. Foram definidos apenas resumos e discretizaes
durante a fase de definio das transformaes dos dados.
Aplicao do Modelo
6.4.6
108
Aplicao do Modelo
109
COL_PRODUCAO
COL_PROGRAMAS
AnoBase,
IdPrograma,
AreaProducao,
VinculoTese,
IdTipoProducao,
IdOrientadorTese
AnoBase, Codigo,
IdIESPais,
RdnNivel, Nome,
IdAreaBasica
COL_R_TESES_
ORIENTADORES
AnoBase,
IdPrograma,
IdTese, IdPessoal
Orientador, Tipo
G_IES_PAIS
G_AREA_SUBAREA
Codigo, Nome,
Sigla
Codigo,
Descricao,
IdGrandeArea
COL_TESES
AnoBase,
IdPrograma,
Seqencial,
IdPessoal,
MatriculaAutor,
DefesaTese,
Nvel,
IdProjetoPesquisa
COL_PESSOAL
AnoBase,
IdPrograma,
Sequencial
COL_TESES_ AG.
COL_DISCENTES
_AUTORES
COL_DOCENTES
COL_
PESQUISADORES
AnoBase,
IdPrograma,
IdPessoal,
NivelTitulacao
AnoBase,
IdPrograma,
IdPessoal,
NumOrMestrado
TitulacaoAtual,...
AnoBase,
IdPrograma,
IdPessoal,
TitulacaoAtual
AnoBase,
IdPrograma,
IdTese,
NumeroMeses
DS_BOLSAS
_PRODUTIVIDADE
DS_ORIENTANDOS
FORMACAO
DS_FORMACAO_BOLSA
_VINCULO
IdGrArea, rea,
GrandeArea, BolsaAluno,
Produtividade,
TotalProducao,
TotalGraduados,
TotalMestres,
TotalDoutores
IdGrArea, rea,
GrandeArea,
TotalOrientandos,
MediaMeses
IdGrArea, rea,
GrandeArea,
MesesFormacao, Bolsa,
Vinculo
Aplicao do Modelo
6.4.8
110
AgenteTransformacao,
mais
especificamente,
detalhamento
do
mtodo
Criando
Calcular
BolsaAluno
Calcular
TotGraduados
Calcular
Produtividade
Calculando
Producao
Calculando
BolsaAluno
Calculando
T.Graduados
Calcular
TotalMestres
Calcular
TotalDoutores
Calcular
TotOrientandos
Calculando
T. Orient.
Calculando
TotDoutores
Calculando
TotMestres
Calcular
MesesForm.
Verificar
Bolsa Vnculo
Calculando
MesesForm
Discretizar
Dados
Verificando
BolsaVinculo
Discretizando
Dados
Remover
Removendo
Aplicao do Modelo
6.4.9
111
:ADesC
2:Calcular
BolsaAluno
3:GravarDataSet
:Bolsas
Agencias
:AgenteTransformacao
1:LerBancoDados
:ADesC
2:Calcular
Produtividade
: Docentes
3:GravarDataSet
: Docentes
Titulacao
:AgenteTransformacao
1:LerBancoDados
:ADesC
2:Calcular
TotalGraduados
:AgenteTransformacao
: Teses
3:GravarDataSet
: Teses
Defendidas
Aplicao do Modelo
112
1:LerBancoDados
:ADesC
: Teses
2:Calcular
TotalMestres
3:GravarDataSet
:AgenteTransformacao
: Fluxo
Formacao
1:LerBancoDados
:ADesC
2:Calcular
TotalDoutores
: Producao
3:GravarDataSet
: Total
Producao
:AgenteTransformacao
1:LerBancoDados
: Projetos
Pesquisa
:ADesC
2:Calcular
TotalOrientandos
:AgenteTransformacao
3:GravarDataSet
: TotalProjetos
Aplicao do Modelo
113
1:LerBancoDados
: Projetos
Pesquisa
:ADesC
2:Calcular
MesesFormacao
3:GravarDataSet
: Discentes
Projetos
:AgenteTransformacao
1:LerBancoDados
: Projetos
Pesquisa
:ADesC
2:Verificar
BolsaVinculo
:AgenteTransformacao
3:GravarDataSet
: Discentes
Projetos
Sempre que a CAPES receber dados sobre a criao de um novo curso de psgraduao.
Aplicao do Modelo
114
Aplicao do Modelo
115
endproc
process TransformarDados [peat: PortaEntAT, psat: PortaSaiAT] is
CalcularBolsaAluno [peat, psat]
[] CalcularTotalProducao [peat, psat]
[] CalcularTotalGraduados [peat, psat]
[] CalcularTotalMestres [peat, psat]
[] CalcularTotalDoutores [peat, psat]
[] CalcularTotalOrientandos [peat, psat]
[] CalcularMediaMeses [peat, psat]
[] VerificarBolsaVinculo [peat, psat]
[] DiscretizarDados[peat, psat]
endproc
process CalcularBolsaAluno [peat: PortaEntAT, psat: PortaSaiAT] is
var idest: TypeInt,
idorig: TypeInt,
inftransf: Typetran,
dados: Typebd,
dset: Typebd
in
peat (?idest, ?idorig, AgTransfEnt (?inftransf, ?dados)) ;
?idorig := 15 ;
?idest := 3 ;
(* Calcular mdia do nmero de meses de financiamento concedido aos alunos *)
hide ent_dset: Typebd in
write (Entrar com a mdia de meses de financiamento) ;
ent_dset (?dset) ;
psat (!idest, !idorig, AgTransfSai (!inftransf, !dset))
endhide
endvar
endproc
process CalcularTotalProducao [peat: PortaEntAT, psat: PortaSaiAT] is
var idest: TypeInt,
idorig: TypeInt,
inftransf: Typetran,
dados: Typebd,
dset: Typebd
in
peat (?idest, ?idorig, AgTransfEnt (?inftransf, ?dados)) ;
?idorig := 15 ;
?idest := 3 ;
(* Calcular o total de produo intelectual por Programa *)
hide ent_dset: Typebd in
write (Entrar com o total de produo intelectual por rea e por Programa) ;
ent_dset (?dset) ;
psat (!idest, !idorig, AgTransfSai (!inftransf, !dset))
endhide
endvar
endproc
process CalcularTotalGraduados [peat: PortaEntAT, psat: PortaSaiAT] is
var idest: TypeInt,
idorig: TypeInt,
inftransf: Typetran,
dados: Typebd,
dset: Typebd
in
peat (?idest, ?idorig, AgTransfEnt (?inftransf, ?dados)) ;
?idorig := 15 ;
?idest := 3 ;
(* Calcular total de graduados docentes, pesquisadores e discentes autores por
Programa *)
Aplicao do Modelo
hide ent_dset: Typebd in
write (Entrar com o total de graduados por Programa) ;
ent_dset (?dset) ;
psat (!idest, !idorig, AgTransfSai (!inftransf, !dset))
endhide
endvar
endproc
process CalcularTotalMestres [peat: PortaEntAT, psat: PortaSaiAT] is
var idest: TypeInt,
idorig: TypeInt,
inftransf: Typetran,
dados: Typebd,
dset: Typebd
in
peat (?idest, ?idorig, AgTransfEnt (?inftransf, ?dados)) ;
?idorig := 15 ;
?idest := 3 ;
(* Calcular o total de mestres docentes, pesquisadores e discentes autores por
Programa *)
hide ent_dset: Typebd in
write (Entrar com o total de mestres por Programa) ;
ent_dset (?dset) ;
psat (!idest, !idorig, AgTransfSai (!inftransf, !dset))
endhide
endvar
endproc
process CalcularTotalDoutores [peat: PortaEntAT, psat: PortaSaiAT] is
var idest: TypeInt,
idorig: TypeInt,
inftransf: Typetran,
dados: Typebd,
dset: Typebd
in
peat (?idest, ?idorig, AgTransfEnt (?inftransf, ?dados)) ;
?idorig := 15 ;
?idest := 3 ;
(* Calcular total de doutores docentes, pesquisadores e discentes autores por
Programa *)
hide ent_dset: Typebd in
write (Entrar com o total de doutores por Programa) ;
ent_dset (?dset) ;
psat (!idest, !idorig, AgTransfSai (!inftransf, !dset))
endhide
endvar
endproc
process CalcularTotalOrientandos [peat: PortaEntAT, psat: PortaSaiAT] is
var idest: TypeInt,
idorig: TypeInt,
inftransf: Typetran,
dados: Typebd,
dset: Typebd
in
peat (?idest, ?idorig, AgTransfEnt (?inftransf, ?dados)) ;
?idorig := 15 ;
?idest := 3 ;
(* Calcular total de orientandos por orientador e por Programa *)
hide ent_dset: Typebd in
write (Entrar com o total de orientandos por orientador e por Programa) ;
ent_dset (?dset) ;
psat (!idest, !idorig, AgTransfSai (!inftransf, !dset))
116
Aplicao do Modelo
117
endhide
endvar
endproc
process CalcularMediaMeses [peat: PortaEntAT, psat: PortaSaiAT] is
var idest: TypeInt,
idorig: TypeInt,
inftransf: Typetran,
dados: Typebd,
dset: Typebd
in
peat (?idest, ?idorig, AgTransfEnt (?inftransf, ?dados)) ;
?idorig := 15 ;
?idest := 3 ;
?totalmeses :=CalcularMesesFormacao (?inftransf);
(* Calcular a mdia de tempo gasto para formao dos alunos por Programa*)
hide ent_dset: Typebd in
write (Entrar com a mdia de meses de formao por Programa) ;
ent_dset (?dset) ;
psat (!idest, !idorig, AgTransfSai (!inftransf, !dset))
endhide
endvar
endproc
process VerificarBolsaVinculo [peat: PortaEntAT, psat: PortaSaiAT] is
var idest: TypeInt,
idorig: TypeInt,
inftransf: Typetran,
dados: Typebd,
dset: Typebd
in
peat (?idest, ?idorig, AgTransfEnt (?inftransf, ?dados)) ;
?idorig := 15 ;
?idest := 3 ;
(* Identificar se o aluno tem bolsa e se a sua tese tem algum vinculo com projetos *)
hide ent_dset: Typebd in
write (Entrar com 0 ou 1 para Bolsa e para Vinculo por aluno) ;
ent_dset (?dset) ;
psat (!idest, !idorig, AgTransfSai (!inftransf, !dset))
endhide
endvar
endproc
process DiscretizarDados [peat: PortaEntAT, psat: PortaSaiAT] is
var idest: TypeInt,
idorig: TypeInt,
inftransf: Typetran,
dados: Typebd,
dset: Typebd
in
peat (?idest, ?idorig, AgTransfEnt (?inftransf, ?dados)) ;
?idorig := 15 ;
?idest := 3 ;
(* Realizar a discretizao dos dados *)
hide ent_dset: Typebd in
write (Entrar com o nome de cada dataset ) ;
ent_dset (?dset) ;
psat (!idest, !idorig, AgTransfSai (!inftransf, !dset))
endhide
endvar
endproc
endmod (* AgenteTransf *)
Aplicao do Modelo
118
Regio Sul: UFSC, UFRGS, UFPR, CEFET/PR, PUC/PR, PUC/RS, UEL, UFPEL,
FURG, UNISINOS, FFFCMPA, UPF.
UMESP,
UNESP/GUAR,
UNESP,
UNESP/ARAR,
UNESP/JAB,
UNESP/MAR,
UNESP/ASS,
UNESP/BOT,
UNESP/RC,
UNESP/SJC,
No foi possvel utilizar os bancos de dados operacionais de todos os cursos de ps-graduao do Brasil
porque houve problema na descompresso de alguns deles.
Aplicao do Modelo
119
Suporte
Confiana
21,73% 45,18%
19,62% 53,76%
16,88% 48,19%
15,19% 43,37%
Aplicao do Modelo
120
Suporte
Confiana
Aplicao do Modelo
121
Suporte
Confiana
36,88% 53,27%
13,06% 72,70%
11,44% 65,78%
10,04% 57,70%
28,34% 40,94%
21,30% 42,72%
14,11% 38,26%
10,16% 82,66%
Aplicao do Modelo
122
Aplicao do Modelo
123
Aplicao do Modelo
124
7.1 CONCLUSES
A pesquisa terica realizada mostrou que, apesar de existir um grande nmero de
metodologias de desenvolvimento de sistemas computacionais, ainda so encontradas
muitas dificuldades no desenvolvimento de sistemas de descoberta de conhecimento em
banco de dados. Isto ocorre, geralmente, devido caracterstica de indeterminismo
desses sistemas que os diferenciam muito de outros tipos de sistemas e, tambm, pela
falta de uma metodologia especfica para o desenvolvimento desses sistemas que seja
completa e inclua formalismo visando a garantia de obteno de sistemas confiveis e
de qualidade.
Por outro lado, existem ferramentas de minerao de dados que oferecem muitos
recursos ao tomador de decises. No entanto, essas ferramentas so, na maioria,
limitadas soluo de problemas especficos de descoberta de conhecimento e
pressupem uma metodologia ad-hoc de desenvolvimento, ou seja, no se constituem
em ambientes de construo de sistemas que contemplam desde a anlise dos negcios
da organizao visualizao de resultados.
Por serem fundamentadas em metodologias clssicas, as iniciativas de
desenvolvimento e aplicao de sistemas de descoberta de conhecimento no possuem
formalizao.
Para suprir essas dificuldades, este trabalho props um modelo de formalizao
do processo de desenvolvimento de sistemas de descoberta de conhecimento em banco
de dados. Esse modelo engloba uma metodologia rigorosa e sistemtica para esses
sistemas, denominada MeDesC; um ambiente interativo para sua implementao,
denominado ADesC; e uma ferramenta de simulao e validao de especificaes de
sistemas em E-LOTOS. A metodologia proposta define uma forma de mapeamento dos
modelos UML para E-LOTOS. O ambiente ADesC baseia-se na tecnologia de agentes
para facilitar o desempenho de suas tarefas.
Com o estudo de caso realizado, pode-se concluir que a metodologia MeDesC,
seguida etapa por etapa, leva ao desenvolvimento eficiente e eficaz de sistemas de
descoberta de conhecimento em banco de dados.
126
127
128
8 REFERNCIAS BIBLIOGRFICAS
AGRAWAL, R., SRIKANT, R. Fast algorithms for mining association rules. 1994.
AGRAWAL, R. et al. Automatic subspace clustering of high dimensional data for data
mining applications. In: SIGMOD Conference, 1998: 94-105.
ARAJO, D.L.A.; LOPES, H.S.; FREITAS, A.A. A parallel genetic algorithm for rule
Discovery in large databases. In: IEEE Systems, Man and Cybernetics Conf., v. III,
940-945. Tokyo, Oct. 1999.
AZEVEDO, F.M.; BRASIL, L.M.; OLIVEIRA, R.C.L. Redes neurais com aplicaes
em controle e em sistemas especialistas. Visual Books, 2000.
BATES, B.W. et al. Formalizing fusion object oriented analysis models. In: First IFIP
workshop on Formal Methods for Open Object-Based Distributed Systems, 1996.
BECHER, J.D.; BERKHIN, P. & FREEMAN, E. Automating Exploratory Data
Analysis for Efficient Data Mining. In: KDD 2000, Boston MA USA, 424-429,
2000.
BERRY, M.J.A.; LINOFF, G. Data mining techniques. John Wiley & Sons, Inc. 1997.
BOOCH, G., RUMBAUGH, J., JACOBSON, I. The unified modeling language user
guide, Addison Wesley, 1999.
BOLOGNESI, T.; BRINKSMA, E. Introduction to the ISO specification language
LOTOS. In: Computer Networks and ISDN Systems, 14 (1987) 25-59.
BRAGA, A.P.; LUDERMIR, T.B.; CARVALHO, A.C.P.L.F. Redes neurais artificiais:
teoria e aplicaes, Livros Tcnicos e Cientficos Editora S.A., 2000.
CALCOTE, S. CyberAgents.
URL:http://www.echo-strategies.com/INSIGHT/ii020596.html, 1998.
CAPES. Aplicao coleta de dados 5.0 Documentao tcnica. URL:
http://www.capes.gov.br, 1999.
CAPES. Coordenao de Aperfeioamento de Pessoal de Nvel Superior.
URL:http://www.capes.gov.br, 2000
Referncias Bibliogrficas
130
CHEN, M.-S.; HAN, J.; YU, P.S. Data mining: an overview from database perspective.
TKDE 8(6): 866-883, 1996.
CHEUNG, A.Y.; CHAN, S.L. A systemic approach to define agents. In: IRMA
International Conference, 2000, p. 207-211.
CLARKE, E.M.; WING, J.M. Formal methods: state of the art and future directions.
Carnegie Mellon University. ACM Inc. URL:
http://www.cs.cmu.edu/afs/cs/project/calder/www/acm.html, 1997.
Referncias Bibliogrficas
131
Referncias Bibliogrficas
132
Referncias Bibliogrficas
133
LANGE, D.B. & CHANG, D.T. IBM aglets workbench: programming mobile agents in
java. URL: http://aglets.trl.ibm.co.jp/whitepaper.html, 1996.
LANGE, D.B. & CHANG, D.T. IBM Aglets Workbench.
URL:http://aglets.trl.ibm.co.jp/whitepaper.html, 1998.
LANGE, D.B. Java aglet application programming interface.
URL:http://aglets.trl.ibm.co.jp/JAAPI-whitepaper.html, 1998.
LANS, R.V. O que data mining e uma anlise do mercado de produtos. In: 8o
Congresso Nacional de Novas Tecnologias e Aplicaes em Banco de Dados.
1997.
LIU, A.; OFFUTT, A.J.; HO-STUART, C.; SUN, Y.; OHBA, M. SOFL: A formal
engineering methodology for industrial applications. In: IEEE Software
Engineering, Vol. 24, No. 1, January, 1998, p. 24-45.
LOH, S.; WIVES, L.K.; OLIVEIRA, J.P.M. Concept-based knowledge Discovery in
texts extracted from the web. In: ACM SIGKDD, July/2000, Vol. 2, No. 1, p. 29-39.
MA, Y.; LIU, B.; WONG, C.K. Web for data mining: organizing and interpreting the
discovered rules using the web. In: ACM SIGKDD, July/2000, Vol. 1, No. 1, p.1623.
MANNILA, H. Data mining: machine learning, statistics, and databases. In: Eight
International Conference on Scientific and Database Management, 1996, p.1-8.
MANNILA, H. Methods and problems in data mining. In: International Conference on
Database Theory, Delphi, Greece, January 1997.
Megaputer Intelligence Ltd. PolyAnalyst 3.5. http://www.megaputer.com, 1998.
MEHTA, M. et al. SLIQ: a fast scalable classifier for data mining. EDBT, 1996: 18-32.
MILNER, R. A calculus of communicating systems. Lecture and Notes in Comp.
Science, No. 92, Springer Verlag, 1980.
Mitsubishi Electric Information Technology Center America. Mobile agents: a new
software paradigm for distributed application development. URL:
http//www.meitca.com/HSL/Projects/Concordia/MobileAgentsWhitePaper.html,
1997.
Referncias Bibliogrficas
134
Referncias Bibliogrficas
135
SPILIOPOULOU, M. Web usage mining for web site evaluation. In: Communications
of the ACM, Vol. 43, No. 8, 2000, p.127-134.
Two Crows Corporation. Introduction to data mining and knowledge discovery. Third
Edition, 1999.
VIVEROS, M.S.; NEARHOS, J.P.; ROTHMAN, M.J. Applying data mining techniques
to a health insurance information system. In: 22nd VLDB Conference, Mumbai
(Bombay), India, 1996.
ZHANG, T. et al. BIRCH: an efficient data clustering method for very large database.
SIGMOD, 1996, p. 103-114.
WHITLEY, D. A Genetic algorithm tutorial. Technical Report, 1993.
WIRYANA, M. Information system development: an interdiscipline approach. URL:
http://nakula.rvs.uni-bielefeld.de/made/aartikel/paper_issm/, 1998.
WOOLDRIDGE, M.; JENNINGS, N. Intelligent agents: theory and practice. In:
Knowledge Engineering Review, 1995.
9 ANEXOS
9.1.1
Introduo
LOTOS (Language of Temporal Ordering Specification) uma Tcnica de
A Linguagem E-LOTOS
137
A Linguagem E-LOTOS
138
A Linguagem E-LOTOS
139
Declarao de Funes
Uma funo apenas um processo que executa somente uma ao de terminao
(), ou seja, no existe nenhuma outra ao possvel. Assim, quando esta ao ocorrer,
os dados resultantes sero passados para o processo no qual a funo est envolvida.
Portanto, uma declarao de funo define uma nova funo, sendo que uma
funo poder ser utilizada somente nas expresses de dados, no podendo representar
o comportamento de um sistema.
Declarao de Processos
Declaraes de processos so muito similares a declaraes de funes: eles tm
listas de parmetros de entrada e de sada e uma lista de parmetros de exceo tipados.
Entretanto, existem diferenas importantes entre funes e processos: processos
podem ter comportamento tempo-real e podem se comunicar atravs de portas.
9.1.3.1 Expresses de Comportamento
A linguagem E-LOTOS possui um conjunto de expresses de comportamento e
um conjunto de operadores, associados s expresses, que permitem representar o
comportamento do sistema. As expresses de comportamento de E-LOTOS e os
operadores correspondentes so apresentados na tabela I.1, onde B, B1 e B2
representam expresses de comportamento.
9.1.3.2 A Linguagem Modular
A idia por trs da linguagem modular fazer com que os mdulos utilizados na
parte de dados sejam os mesmos utilizados na parte comportamental, ou seja, ser
permitido definir, dentro de um mdulo, tipos de dados, funes e processos.
Utilizando a linguagem modular, um sistema pode ser especificado atravs de
uma seqncia dos seguintes tipos de declaraes:
Declarao de Mdulos;
Declarao de Interfaces; e
Declarao de Mdulos Genricos.
A Linguagem E-LOTOS
140
Nome
Inao e bloqueio no tempo
Sintaxe resumida
stop e block
Aes
- ao interna (i)
i; B
- ao de delay ()
wait(<expresso de dados>); B
- ao de terminao ()
exit[(<expresso de valor>)] e
exit(any<expresso de tipo>)
- ao representando uma
exceo
Composio seqencial
B1; B2
Atribuies
P := E
Desabilitao
B1 [> B2
Composio paralela
- concorrncia
B1|[g1,...,gn]|B2
- sincronizao completa
B1||B2
- entrelaamento
B1|||B2
- paralelismo genrico
Escolha
Tratamento de exceo
Declarao
de
locais
Ocultao
Renomeao
Instanciao de processo
Iteraes
A Linguagem E-LOTOS
141
Declarao de Mdulos
Um mdulo uma seqncia de declaraes de tipos, construtores, valores
constantes, funes e processos, utilizando-se de todos os recursos da linguagem base.
Assim, um mdulo pode ser declarado da seguinte forma:
module <identificador de mdulo> is <declaraes> endmod
O exemplo a seguir mostra a definio do tipo nat em E-LOTOS (Domingos,
1997):
module NatNumbers is
value 0:nat endval
type nat is succ(nat)
endmod
Neste caso, o tipo nat definido como sendo o conjunto de valores: 0, succ(0),
succ(succ(0)), ... que pode denotar o conjunto dos nmeros naturais (0, 1, 2, ...).
Para adicionar operadores (por ex.: o operador +), pode-se definir um novo
mdulo contendo funes que descrevem os operadores. Este novo mdulo utilizar a
definio do tipo nat do mdulo NatNumbers atravs da clusula import.
module ExtNatNumbers import NatNumbers is
function + (x : nat, y : nat) : nat is
local z : nat in
case x is
0y
| succ(z) succ(z + y)
endcase
endloc
endfun
endmod
Declarao de Interface
Intuitivamente, uma interface um tipo de mdulo. Enquanto uma expresso de
interface especifica uma classe de mdulos, uma expresso de mdulo declara um
mdulo. A interface abaixo pode se encaixar com qualquer mdulo que contenha, pelo
menos, o tipo identificado como nat e as definies encontradas nesta interface. Assim
A Linguagem E-LOTOS
142
ento, um mdulo pode utilizar esta generalizao alterando os seus parmetros, como a
seguir:
module ListNat : [List renaming (E for nat)] is
GenericList (Natural renaming (nat for E))
...
endmod
A Linguagem E-LOTOS
143
GerenteInterfaces
TraduzirModelos
[Objetos criados]
Iniciar Ambiente
Iniciando
Ambiente
Criando
Iniciar
Traduzindo
Modelos
PrepararDados
Parado
Parar
AplicarTcnica
MostrarAtributos
Aplicando
Tcnica
Preparando
Dados
Mostrando
Atributos
VisualizarResultados
PovoarDados
Analisar
Visualizando
Resultados
Povoando
Dados
Mostrando
Anlise
FinalizarAmbiente
Remover
Finalizando
Ambiente
Removendo
SelecionarBD
[Objeto criado]
Criando
Remover
Selecionar
BD
Removendo
SelecionarAtributos
[Objeto criado]
Criando
Selecionando
Atributos
Remover
Removendo
145
DefinirTransformacao
[Objeto criado]
Remover
Definindo
Criando
Removendo
Transformao
EscolherTcnica
[Objeto criado]
EntrarParmetros
Escolhendo
Tcnica
Criando
Remover
Entrando
Parmetros
Removendo
MostrarResultados
[Objeto criado]
Criando
Remover
Mostrando
Resultados
Removendo
MostrarAnalise
[Objeto criado]
Criando
Remover
Mostrando
Anlise
Removendo
DefinirPovoamento
[Objeto criado]
Criando
Definindo
Povoamento
Remover
Removendo
146
GerenteServios
EscolherTipoServio
[Objeto criado]
NomearAgente
AtivarServio
Escolhendo
Servio
Criando
Ativando
Servio
Iniciar
Parado
Nomeando
Agente
ControlarMigracao
ControlarComunicacao
DeterminarRota
AdquirirDados
Parar
Controlando
Comunicao
Controlando
Migrao
Adquirindo
Dados
Determinando Rota
TratarEspera
GarantirSeguranca
TratarPersistncia
Tratando
Espera
EvitarFaltas
Garantindo
Segurana
Tratando
Persistncia
Evitando
Falhas
Remover
Removendo
CoordenarTransporte
[Objeto criado]
Criando
Coordenando
Transporte
Remover
Removendo
147
ServidorAgentes
LocalizarTabelas
[Objeto criado]
CopiarAgente
[Endereos Diferentes]
Localizando
Tabelas
Criando
Iniciar
Parado
Copiando
Agente
ExpedirAgente
Transformar Dados
[Endereos.Iguais]
Parar
Expedindo
Agente
RetrairAgente
Retraindo
Agente
Desativar
Agente
Desativando
Agente
AtivarAgente
[Agente Desativado]
Ativando
Agente
ReceberEnderecoAgente
TransformarDados
RemoverAgentes
Recebendo
End.Agente
Transformando
Removendo
Agentes
Dados
Definir Algoritmo
AplicarAlgoritmo
RemoverAgentes
Definindo
Algoritmo
Aplicando
Algoritmo
Removendo
Agentes
RealizarAnlise
AplicarPovoamento
Aplicando
Povoamento
Removendo
Agentes
RemoverAgentes
Realizando
Anlise
RemoverAgentes
Remover
Removendo
Agentes
Removendo
148
BuscarTabelas
[Objeto criado]
Remover
Buscando
Tabelas
Criando
Removendo
TransformarDados
[Objeto criado]
Remover
Transformando
Criando
Removendo
Dados
DefinirRota
[Objeto criado]
Remover
Definindo
Rota
Criando
Removendo
DefinirAlgoritmo
[Objeto criado]
AplicarAlgoritmo
Definindo
Algoritmo
Criando
Remover
Aplicando
Algoritmo
Removendo
RealizarAnalise
[Objeto criado]
Criando
Remover
Realizando
Anlise
Removendo
149
Povoar
[Objeto criado]
Remover
Povoando
Dados
Criando
Removendo
Suporte
LocalizarBD
[Objeto criado]
Criando
VerAtributos
Localizando
BD
Vendo
Atributos
Iniciar
GravarDefinicoes
Parado
GravarDados
Parar
LerDados
Lendo
Dados
Gravando
Dados
Gravando
Definies
CarregarDados
CarregarResultados
GravarResultados
Carregando
Dados
Gravando
Resultados
Carregando
Resultados
CarregarMetadados
Remover
GravarDados
Gravando
Dados
Removendo
Carregando
Metadados
VerAtributos
[Objeto criado]
Criando
LerDados
Vendo
Atributos
Remover
Lendo
Dados
Removendo
GravarDataSet
[Objeto criado]
150
AtualizarDataSet
LerDataSet
Gravando
DataSet
Criando
Atualizando
DataSet
Lendo
DataSet
Remover
Removendo
GravarDefinies
[Objeto criado]
Criando
LerMetadados
Gravando
Definicoes
AtualizarMetadados
Atualizando
Metadados
Lendo
Metadados
Remover
Removendo
GravarResultados
[Objeto criado]
Criando
Gravando
Resultados
LerResultados
Remover
Lendo
Resultados
Removendo
9.3.1
Introduo
Este anexo apresenta um modelo de metadados proposto para o ambiente
ADesC.
A Tabela 9.2 relaciona as tabelas de banco de dados que compem o modelo
proposto e suas respectivas definies. O Diagrama Entidade-Relacionamento deste
modelo apresentado na Figura 9.23.
O modelo de metadados proposto cobre as necessidades bsicas de uma
ferramenta para preparao de dados, a saber:
definio de tabelas;
Um Modelo de Metadados
9.3.3
152
9.3.4
Expresses
As regras de transformao e povoamento no podem ser definidas somente em
clculo de mdias;
consultas SQL;
expresses condicionais;
A soluo para operaes deste tipo exige uma estrutura semelhante a uma
Um Modelo de Metadados
153
Gatilhos
O objetivo dos gatilhos automatizar o processo de transformao e
Um Modelo de Metadados
154
Definio
Base
Tabela
Contm informaes a respeito das tabelas que esto nas bases de dados.
Coluna
Indice
IndColuna
Povoamento
Regras para o povoamento das tabelas. Devem ser permitidas apenas para bases
histricas.
PovColuna
pcDireto
pcDiscreto
pcdItem
pcExpressao
Expressao
ExprArgumento
Operador
Argumento
TipoDado
Comentario
Gatilho
gEvento
gEvHistorico
gExpressao
gExHistorico
Um Modelo de Metadados
155
UEM-CTC-DIN-CC
Definio de um modelo de meta-dados para
a fase de preparao de dados de um sistema
de Data Mining
Povoamento
Regras para o povoamento
das tabelas. So permitidas
apenas para bases histricas
Base
Conexo base de dados.
Tanto bases operacionais quanto
bases histricas devem ser
informadas aqui.
IndColuna
Coluna pertencente chave
Condicao
Tipo
gEvento
Faz referncia a um trigger de banco de
dados. Quando este for executado, o
gatilho dispara a regra de povoamento.
Tabela
Contm informaes a respeito das
tabelas que esto nas bases de dados.
Indice
Chave pela qual tabela
classificada.
Gatilho
Permite automatizar o processo de
povoamento. Cada gatilho possui uma
regra de povoamento associada e uma
condio de disparo.
PovColuna
Expresso que ser utilizada
para povoar a coluna.
pcDireto
O dado armazenado
sem transformao
pcDiscreto
Utilizado dividir valores
contnuos em categorias
discretas (como faixas
salariais)
pcdItem
Item discreto.
Coluna
Contm informaes a respeito das
colunas, como nome e tipo.
gEvHistorico
Registra o nmero de vezes que o
gatilho foi disparado. Tambm armazena
o valor da chave que disparou o gatilho
pcExpressao
Utilizado quando no for possvel
expressar a transformao dos
dados atravs de atribuio direta
ou categorizao.
Expressao
Expresso utilizada por alguma entidade
no modelo dos meta-dados.
No ex
enqua
Argu
argum
Comentario
Armazena a documentao
dos meta-dados.
ExprArgumento
Argumento da expresso utilizada pelos
meta-dados.
Um Modelo de Metadados
156
UEM-CTC-DIN-CC
Definio de um modelo de meta-dados para
a fase de preparao de dados de um sistema
de Data Mining
Povoamento
idTabela
idPovoamento
Nome
idComentario
Base
idBase
idComentario
Nome
Usuario
Senha
Tipo
Gatilho
idTabela
idPovoame
idGatilho
PovColuna
idTabela
idPovoamento
idColuna
idComenta
Condicao
Tipo
idComentario
gEvento
idTabela
idPovoamento
idGatilho
Tipo
idBase
Nome
idComentario
Evento
SrcTabela
Indice
idTabela
idIndice
Nome
Primaria
Unica
idComentario
IndColuna
idTabela
idIndice
idIndColuna
idColuna
Sequencia
idComentario
pcDireto
idTabela
idPovoamento
idColuna
pcDiscreto
idTabela
idPovoamento
idColuna
SrcTabela
SrcColuna
idComentario
pcExpressao
idTabela
idPovoamento
idColuna
SrcTabela
SrcColuna
idComentario
idExpressao
idComentario
gEvHistorico
idTabela
idPovoamento
idGatilho
Data
Hora
VlrChave
pcdItem
idTabela
idPovoamento
idColuna
idPcdItem
Coluna
idTabela
idColuna
Nome
Ordem
idTipoDado
idComentario
SrcVlrInicio
SrcVlrFim
DstValor
Comentario
idComentario
Texto
ExprArgumento
idExpressao
idOperador
idArgumento
idComentario
idExpressaoArg
VlrArgumento
9.4.1
module ModDados is
type List is
Nil
| Cons (any, List)
endtype
type TypeInt is
integer
endtype
(* tipo de dados para localizao do BD/DW *)
type Typereq is
IdBD: integer,
NomeBD: string,
Endereo: string
endtype
(* identificao das tabelas que compem o BD/DW *)
type Typetab is
IdBDt: integer,
Idtabelas: List
endtype
(* dados do BD/DW a serem selecionados pelo usurio *)
type Typeidd is
IdTabela: integer,
NomeTab: string,
Atributos: List
endtype
(* definio das transformaes nos dados a serem realizadas *)
type Typetran is
IdBDr: integer,
IdTabr: integer,
Atributo: string,
TipoTransf: integer,
Expressao: string
endtype
type Typetec is
IdTecnica: integer,
NomeTec: string
endtype
type Typeltec is
Nil
| Cons (string, Typeltec)
endtype
(* tcnica, algoritmo e os parmetros do algoritmo definidos pelo usurio *)
type Typetpar is
IdTecpar: integer,
IdAlgpar: integer,
ListPar: List
endtype
(* lista dos resultados obtidos *)
type Typelres is
ListResul: List
endtype
158
159
VlrFim: integer,
Exprep: string
endtype
type EntGerInterface is
GerInterfEnt
(Opcao: integer)
endtype
type SaiGerInterface is
GerInterfSai
(Mensagem: string)
endtype
type EntSupGI is
SupGIEnt
()
| SupGIAEnt
(Sup1Ent: Typereq, Sup2Ent: Typeidd)
| SupGIBdEnt
(SupBDEnt: Typereq)
| SupGITEnt
(SupT1Ent: Typereq, SupT2Ent: Typeidd, SupT3Ent: Typetran)
| SupGIDsEnt
(SupDsEnt: Typedset)
| SupGIResEnt (SupREnt: integer)
| SupGIAnEnt
(SupAnEnt: Typean)
| SupGIRemEnt (SupOpEnt: TypeInt)
endtype
type SaiSupGI is
SupGISai
()
| SupGIASai
(SupSai: Typeidd)
| SupGIListSai (SupLRSai: Typelres)
| SupGIResSai (SupRSai: Typeresu)
endtype
type EntSupSA is
SupSABdEnt (SupA1Ent: Typereq, SupA2Ent: Typetab)
| SupSALDsEnt (Idset: integer)
| SupSAGDsEnt (SupDSEnt: Typedset)
| SupSAResEnt (SupREnt: Typeresu)
| SupSAMetaEnt (SupMEnt: Typemeta)
| SupSAAtEnt (SupAt1Ent: Typepovgat, SupAt2Ent: Typepovcol, SupAt3Ent: Typedset)
endtype
type SaiSupSA is
SupSASai
(SupSai: Typeidd)
| SupSABdSai (Supbd1Sai: Typetran, Supbd2Sai: Typerbd)
| SupSADsSai (SupdsSai: Typedset)
| SupSAMetaSai (SupMSai: Typemeta)
endtype
type EntServidor is
ServAgTecEnt (ServAgCEnt: Typetec)
| ServAgTPEnt (ServTPEnt: Typetpar)
| ServAgTranEnt (ServAgTEnt: Typetran)
| ServAgPovEnt (SaGEnt: Typepovgat, SaPEnt: Typepovcol)
| ServAgAnEnt (ServAgAnEnt: Typean)
| ServAgRemEnt (ServOpEnt: integer)
endtype
type SaiServidor is
ServAgSai
(ServAgSai: Typeidd)
| ServAgTecSai (ServAgTSai: Typetec)
| ServAgTPSai (ServAparSai: Typetpar)
| ServAgAnSai (ServAanSai: Typeresan)
| ServAgFimSai ( )
endtype
type EntIntEntrada is
InterfEntrEnt ( )
endtype
type SaiIntEntrada is
InterfEntrSai
(IntESai: Typereq)
endtype
160
161
162
163
164
9.4.2
165
166
167
idorig: TypeInt,
opcao: TypInt,
men: string
in
pent ( ?idest, ?idorig, GerInterfEnt (?opcao)) ;
Case opcao is
1 -> InicializarAmbiente [psai]
| 2 -> PrepararAmbiente [psai, pesi, pssi, pesa, pssa, peie, psie, peid, psid, peit,
psit]
| 3 -> AplicarTcnica [psai, pesi, pssi, pesa, pssa, peic, psic]
| 4 -> VisualizarResultados [psai, pesi, pssi, pesa, pssa, peir, psir]
| 5 -> Analisar [psai, pesi, pssi, pesa, pssa, peir, psir, peia, psia]
| 6 -> PovoarDados [psai, pesi, pssi, pesa, pssa, peip, psip]
| 7 -> FinalizarAmbiente [psai] (men)
endcase
endvar
endproc
process InicializarAmbiente [psai: PortaSaiGI] is
var idest: TypeInt,
idorig: TypeInt,
cria: boolean,
men: string
in
?cria := CriarGI (1) ;
?cria := CriarSU (2) ;
?cria := CriarSA (3) ;
?idest : = 0 ;
?idorig := 1 ;
?men := Ambiente Inicializado ;
psai (!idest, !idorig, GerInterfSai (!men)) ;
endvar
endproc
process PrepararAmbiente [psai: PortaSaiGI, pesi: PortaEntSI, pssi: PortaSaiSI,
pesa: PortaEntSA, pssa: PortaSaiSA, peie: PortaEntIE, psie: PortaSaiIE,
peid: PortaEntID, psid: PortaSaiID, peit: PortaEntIT, psit: PortaSaiIT] is
var idest: TypeInt,
idorig: TypeInt,
cria: boolean,
infBD: Typereq,
atributos: Typeidd,
inftransf: Typetran
in
(
?cria := CriarIE (4) ;
?cria := CriarID (5) ;
?cria := CriarIT (6) ;
?cria := CriarAgentes (1) ;
?cria := CriarTabelas (1) ;
?idorig := 1 ;
?idest := 4 ;
peie (!idest, !idorig, InterfEntrEnt ( ))
[]
psie (?idest, ?idorig, InterfEntrSai (?infBD)) ;
?idorig := 1 ;
?idest := 2 ;
pesi (!idest, !idorig, SupGIBdEnt (!infBD))
[]
MostrarAtributos [pssi, peid]
[]
psid (?idest, ?idorig, InterfDadosSai (?infBD, ?atributos)) ;
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
[]
psab (?idest, ?idorig, AgBuscaSai (?infBD, ?inftabelas)) ;
?idorig := 3 ;
?idest := 2 ;
pess (!idest, !idorig, SupSABdEnt (!infBD, !inftabelas))
endvar
endproc
process TransformarDados [pesa: PortaEntSA, pssa: PortaSaiSA, pess: PortaEntSS,
peab: PortaEntAB, psab: PortaSaiAB, peat: PortaEntAT, psat: PortaSaiAT] is
var idest: TypeInt,
idorig: TypeInt,
inftransf: Typetran,
dados: Typebd,
dset: Typedset
in
psss (?idest, ?idorig, SupSABdSai (?inftransf, ?dados)) ;
?idorig := 3 ;
?idest := 16 ;
peat (!idest, !idorig, AgTransfEnt (!inftransf, !dados))
[]
psat (?idest, ?idorig, AgTransfSai (?dset)) ;
?idorig := 3 ;
?idest := 2 ;
pess (!idest, !idorig, SupSAGDsEnt (!dset))
endvar
endproc
process DefinirAlgoritmo [pssa: PortaEntSA, psss: PortaSaiSS, peac: PortaEntAC,
psac: PortaSaiAC] is
var idest: TypeInt,
idorig: TypeInt,
inftec: Typetec,
partec: Typetpar
in
pesa (?idest, ?idorig, ServAgTecEnt (?inftec)) ;
?idorig := 3 ;
?idest := 19 ;
peac (!idest, !idorig, AgTecEnt (!inftec))
[]
psac (?idest, ?idorig, AgTecParSai (?partec)) ;
?idorig := 3 ;
?idest := 1 ;
pssa (!idest, !idorig, ServAgTPSai (!partec))
endvar
endproc
process AplicarAlgoritmo [pesa: PortaEntSA, pess: PortaEntSS, psss: PortaSaiSS,
peac: PortaEntAC, psac: PortaSaiAC is
var idest: TypeInt,
idorig: TypeInt,
opcao: integer,
partec: Typetpar,
idset: List,
conjdados: Typedset,
infresu: Typeresu
in
(
pesa (?idest, ?idorig, ServAgTPEnt (?partec)) ;
?idorig := 3 ;
?idest := 2 ;
(* Identificar as tabelas de DataSet *)
hide ent_idset: List in
188
189
190
191
192
193
194
195
9.4.3
Especificao Geral
196
197