Adaptive Transformation Pattern for chitectural Models Architectural Models
Pattern Based Management: Data Models and Architectural Aspects
description
Transcript of Pattern Based Management: Data Models and Architectural Aspects
1
Pattern Based Management: Data Models and Architectural Aspects
Anna Maddalena
Dottorato di Ricerca in Informatica
XVIII cicloDipartimento di Informatica e Scienza dell’Informazione
- Università di Genova -
2
Sommario: Il contesto Gestione di pattern
Il sistema Il modello Il linguaggio Architettura
Obiettivi della tesi Modello Linguaggi Architettura
Scheduling temporale Risultati preliminari
3
Il contesto
DB1 DB2 Flat file
DBMS
risultatiqueries
Analisi
- Il contesto -
4
Soluzioni tradizionali
DB1 DB2Flat file
Data Warehouse
Analisi mediante strumenti OLAP
DBMS
risultatiqueries
- Il contesto -
5
Architettura pattern-based
analisi mediante sofisticati strumenti di processing dei dati
DBMS
risultatiqueries
DB1 DB2Flat file
PBMS
risultatiqueries
Pattern base
- Il contesto -
6
Dati grezzi e patterns Dati grezzi
Raccolti da diverse sorgenti Enormi volumi di dati Eterogenei
Pattern Rappresentazione dei dati grezzi compatta e
semanticamente ricca
- Il contesto -
7
Esempi di PATTERN
- Il contesto -
8
PATTERN: classificazione
Targets
Patterns
A-priori A-posteriori
GenerativiAttiviTest
Vincoli di integrità
Regole attiveworkflow
Tuple con vincoliRegole deduttive
Utilizzo nel pattern matching
Risultati tradizionalidi data mining
Quando/Come?
Cosa?
- Il contesto -
9
Gestione di pattern
Il sistema di gestione Modello per rappresentare i pattern Linguaggio per manipolare i pattern Supporto architetturale
- Gestione di pattern -
10
Il sistema di gestione Pattern-Base Management System
(PBMS) è una tecnologia permodellare i pattern come “first class
citizens” interrogare patterngestire i pattern in modo efficientegestire pattern eterogenei in modo
uniforme
- Gestione di pattern -
11
Il sistema di gestione
- Gestione di pattern -
Raw data
Pattern
Query
Processing
Architettura Integrata
Raw data
Pattern
Cross-over
QueryPQL
Query tradizionali(SQL)
Architettura Separata
12
Il modello
Rappresentazione uniforme di pattern eterogenei
Caratteristiche patternStrutturaMisure di qualitàPattern complessi
Relazioni tra dati grezzi e patternMappingValidita’
- Gestione di pattern -
13
Il modello: esempi Regola di associazione: X Y
S(X) = # di transazioni contenenti X
Supporto (X Y) = S(XY)
Confidenza(X Y) = S(XY)/S(X)
- Gestione di pattern -
Datasource
Misure
TestaCorpo
x (x testa x corpo x transazione)
Mapping dati-pattern
RA.testa = rappr.testaMapping dati-pattern
Struttura
DatasourceDeviazioneConfidenzaDeviazioneSupporto
Misure
X: rappr
RA 1RA 2RA 3
...RA K RA 5
RA 6
Cluster
14
Il modello: approcci esistenti Object Oriented PMML(Predictive Model Markup Language) (2003), SQL/MM
(2001), Java Data Mining API (2003) Rappresentazione di mining model
Common Warehouse Model (2001) Scambio metadati
Database induttivi (1996/1997)
PANDA - PAtterns for Next-generation DAtabase systems (2001-2004) Netta separazione fra PBMS e repository dei dati sorgente Modello rappresenta pattern e relazioni fra pattern
• Pattern: structure, measure, source, expression
• Relazioni: specialization, composition, refinement
- Gestione di pattern -
15
Il modello: limitazioni Ad esclusione di PANDA, per tutti gli altri approcci si
evidenziano le seguenti criticità: Spesso i dati grezzi e i pattern vengono memorizzati nello stesso
sistema di gestione dati Soluzioni specifiche per determinate tipologie di pattern Nessun mapping fra pattern e dati grezzi da cui sono stati
generati Approccio O.O.
Modellazione dei pattern e modellazione di oggetti generici sono intrinsecamente differenti
– Nuove componenti (measure, expression), – Nuovi requisiti (mapping fra source e pattern spaces), – Nuove relazioni (refinement), – Nuove operazioni (similarità)
- Gestione di pattern -
16
Il modello: limitazioni PANDA primo modello per pattern eterogenei, ma ...
Sincronizzazione fra pattern e dati grezzi Ontologie sui dati possono influenzare la generazione dei
pattern Possibilità di specificare ontologie sulle componenti dei
pattern
- Gestione di pattern -
17
I linguaggi
Linguaggio unificato per pattern eterogenei Manipolazione (inserimento, cancellazione,
modifica) Interrogazione (combinazione, sincronizzazione,
verifica validità, similarita’...) Sfruttando appieno il modello
Diverse tipologie di pattern Caratteristiche pattern Relazioni fra pattern Mapping pattern-dati (cross-over)
- Gestione di pattern -
18
I linguaggi: esempi Derivare con il metodo A-priori le regole di associazione relative
all’insieme di transazioni Q1 Dato un insieme di documenti XML clusterizzarli in base alla similarità
derivata dai loro link usando l’algoritmo di complete-link Da un insieme di clickstream sulla navigazione di un sito Web derivare i
profili utente in base alla durata delle loro sessioni
Interrogare il sistema di gestione di pattern per ritrovare tutti quelli relativi al dataset Q1
Interrogare il sistema di gestione di pattern per estrarre tutte le regole di associazione riguardanti “X”
Ritrovare nel sistema di gestione di pattern tutti i cluster “simili” a C1 Verificare se un dato pattern P è “valido” per un dataset D Derivare per transitività tutti i pattern di tipo regole di associazione
utilizzando i pattern memorizzati nel sistema
- Gestione di pattern -
19
I linguaggi: approcci esistenti
Proposte: M-SQL (Imielinsky & Virmani, 1999) SQL+Mine (Meo,Psaila & Ceri, 1996) XML+Mine (Braga, Campi, Klemettinen & Lanzi, 2002) Pattern Discovery Algebra (1997) Information Discovery Data Mining Suite (2002) Linguaggi con vincoli (nei database induttivi solo per pattern
di tipo stringa)
Estensioni della sintassi SQL standard
- Gestione di pattern -
20
I linguaggi:esempio
SQL+Mine (Meo,Psaila & Ceri, 1996) MINE RULE SimpleAssociation AS SELECT DISTINCT 1..n item AS BODY,
1..n item AS HEAD,SUPPORT, CONFIDENCE
FROM PurchaseGROUP BY transactionEXTRACTING RULES with SUPPORT: 0,1, CONFIDENCE 0,2
Solo regole di associazione Algoritmo di mining prefissato Solo estrazione on-the-fly
- Gestione di pattern -
21
I linguaggi: limitazioni
Mancanza di un linguaggio per la manipolazione e l’interrogazione di pattern eterogenei
Spesso i linguaggi prevedono solo primitive per l’estrazione dei pattern dai dati grezzi
Spesso si usano gli stessi linguaggi di interrogazione sia per pattern che per i dati grezzi
Scarsa integrabilità dei dati grezzi e dei pattern (cross-over queries)
- Gestione di pattern -
22
Architettura
CentralizzataUnica organizzazioneUnico repository
Distribuita Interazione fra varie organizzazioni Vari repositoryWeb ,P2P, GRID
- Gestione di pattern -
23
Architettura: pattern nel GRID Architettura GRID
“a flexible, secure, coordinated resource sharing among dynamic collections of individuals, institution, and resources – what we refer to as a Virtual Organizations”
Intelligent GRID: acquisizione, processing, rappresentazione, scambio e
conversione in conoscenza utile di dati eterogenei disponibili a diversi livelli dell’architettura GRID (HTML/XML/RDF doc., Service response time, service quality level, ...)
Knowledge Grid: Knowledge discovery e management distribuito basato su un architettura di servizi GRID (service discovery, negotiation, information extraction, ...)
Semantic GRID: integrazione fra Semantic Web ed ambiente GRID
Metadati & pattern
- Gestione di pattern -
24
Obiettivi della tesi
Task 1: sviluppo ed estensione di un modello per la rappresentazione dei pattern
Task 2: definizione di linguaggi per la manipolazione di pattern
Task 3: aspetti architetturali e studio dell’estensibilità a contesti distribuiti avanzati (es: GRID)
- Obiettivi della tesi -
25
Task 1: Modellazione di pattern Definizione del modello
Proposta modello PANDA teoria dei database con vincoli per esprimere alcune
componenti dei pattern Estensione del modello con caratteristiche
avanzate: Aspetti temporali: problematiche di sincronizzazione
• teoria delle basi dati temporali applicata al contesto dei pattern
Gestione delle ontologie: • Ontologie sui dati grezzi• Ontologie sulle componenti dei pattern
- Obiettivi della tesi -
26
Task 2: Linguaggi per pattern
Definizione Pattern Manipulation Language (PML) Inserimento, cancellazione e modifica di pattern
Definizione Pattern Query Language (PQL): Calcolo (CPQL) Algebra (APQL) Equivalenza fra CPQL e APQL Studio del potere espressivo dei linguaggi proposti
Rappresentazione di PML e PQL con sintassi standard (es: SQL o XML)
- Obiettivi della tesi -
27
Task 3: Pattern management in un contesto distribuito
Definizione di un’architettura per la gestione dei pattern e dei metadati in un ambiente distribuito (GRID)
Revisione del modello e dei linguaggi proposti nell’ottica distribuita
Implementazione di un prototipo di un sistema distribuito pattern-based
- Obiettivi della tesi -
28
Tempistica e fasi di progetto
Marzo 2003- Marzo 2006Fasi di progetto:
Marzo 2003 – Dicembre 2003: obiettivi raggiuntiDicembre 2003 - Marzo 2004: obiettivi breve termineMarzo 2004 – Marzo 2005: obiettivi medio termineMarzo 2005 – Marzo 2006: obiettivi lungo termine
- Scheduling Temporale -
29
Scheduling temporaleTasks
Time
Dec
emb
er 2
003
Mar
ch 2
005
Mar
ch 2
004
Mar
ch 2
006
Mar
ch 2
003
T1
T2
T3
Achieved Short Medium Long
- Scheduling Temporale -
30
Obiettivi raggiunti (Mar. 2003 - Dic. 2003)
Definizione del modello logico per pattern I.Bartolini et al. “Toward a Logical Model for Patterns”. ER’03 E.Bertino, B.Catania, M. Golfarelli, M. Halkidi, A.Maddalena,
S.Skiadopoulos, S. Rizzi, M.Terrovitis, P. Vassiliadis, M. Varzigiannis, and E.Vrachnos. “The Logical Model for Patterns”. TR-2003-02, PANDA.
Identificazione operazioni significative per PML e PQL, con definizione PML e proposta preliminare di APQL “Toward a Language for Pattern Manipulation and Querying”
E. Bertino, B.Catania, A.Maddalena [sottomesso per pubblicazione]
31
Obiettivi a breve termine (Dic. 2003 - Mar. 2004) Estensione temporale del modello
Transaction time e validity time Sincronizzazione
Estensione del modello con ontologie Ontologie sui dati grezzi Ontologie che coinvolgono le componenti dei
pattern
Definizione formale CPQL Estensione di un calcolo per oggetti complessi
(Abiteboul&Beeri, Fegaras&Maier) Definizione formale APQL
- Scheduling Temporale -
32
Obiettivi a medio termine (Mar.2004 – Mar.2005)
Dimostrazione equivalenza APQL e CPQL Analisi di complessità e potere espressivo del
PQL Utilizzo della teoria dei linguaggi con vincoli
Query optimization: strategie di riscrittura La gestione dei pattern in un’architettura
GRID
- Scheduling Temporale -
33
Obiettivi a lungo termine (Mar.2005 – Mar.2006)
Definizione testbed GRID per la gestione di pattern
Estensione del modello e revisione secondo il contesto GRID
Prototipo Pattern-based GRID Management System (?)
- Scheduling Temporale -
34
Risultati preliminari
Il modello I linguaggi per pattern
- Risultati preliminari -
35
Elementi di base
pattern type
class
instance-of
member-of
related-to
pattern layer
supermarket rules
my clusters
class layer
pattern
ass. rule type
cluster typedec. tree type
type layer
- Risultati preliminari -
36
Pattern types
Basato su un sistema di tipi T: Tipi base:
• integers, reals, Booleans, strings, timestamps Tipi ricorsivamente definiti mediante costruttori di tipo
• list, set, bag, array, tuple
Esempi salary: REAL SET(INTEGER) TUPLE(x: INTEGER, y: INTEGER) personnel: LIST(TUPLE(age: INTEGER, salary: INTEGER))
- Risultati preliminari -
37
Pattern types
name
structure schema
source schema
formula
pattern type
pattern
class
instance-of
member-of
measure schema
related-to
• definisce il “pattern space”• descrive la struttura dei pattern, istanze del pattern type
• definisce il “source space”• tipo dei dati grezzi da cui i pattern vengono costruiti
Tipo delle misure che quantifi-cano la qualità della rappre-sentazione dei dati sorgenti raggiunta dal pattern
Relazione fra il “source space” e il “pattern space”
- Risultati preliminari -
38
Pattern types - esempioAssociation rule X Y
S(X) = # of transactions containing X
Support (X Y) = S(XY)
Confidence(X Y) = S(XY)/S(X)
n: AssociationRule
ss: TUPLE(head: SET(STRING), body: SET(STRING))
ds: BAG(transaction: SET(STRING))
ms: TUPLE(confidence: REAL, support: REAL)
f: x (x head x body x transaction)
ss ds
Y X
- Risultati preliminari -
39
Patterns
name
structure schema
source schema
formula
pattern type
PID
structure
source
measure
expression
pattern
class
instance-of
member-of
measure schema
related-to
- Risultati preliminari -
40
Patterns - esempion: AssociationRule
ss: TUPLE(head: SET(STRING), body: SET(STRING))
ds: BAG(transaction: SET(STRING))
ms: TUPLE(confidence: REAL, support: REAL)
f: x (x head x body x transaction)
pid: 512
s: (head = {'Boots’}, body = {'Socks', 'Hat’})
d: SELECT SETOF(article) AS transaction
FROM sales GROUP BY transactionId
m: (confidence = 0.75, support = 0.55)
e: {transaction : x (x {'Boots', 'Socks','Hat'} x transaction)}
{'Socks', 'Hat’} {'Boots’}- Risultati preliminari -
41
backward image type
Pattern Space e Data Spacedata space
pattern space
pattern type
PID
source
structure
expression
pattern
source schema
formula
name
structure schema
dataset
42
Classi
name
structure schema
source schema
formula
pattern type
PID
structure
source
measure
expression
pattern
name
class
instance-of
member-of
measure schema
related-to
- Risultati preliminari -
43
Classi - esempio
Pattern type: AssociationRule
Class: SaleRules
Patterns: Association rules 515, 516, 517
Dataset 2:
SELECT SETOF(article) AS transaction
FROM sales_shop2GROUP BY transactionId
Dataset 1:
SELECT SETOF(article) AS transaction
FROM sales_shop1 GROUP BY transactionId
Patterns: Association rules 512, 513, 514Apriori
Apriori
- Risultati preliminari -
44
Relazioni fra pattern types
Specializzazione (IS-A)
Composizione (PART-OF) & Raffinamento
- Risultati preliminari -
45
Specializzazione
pattern type 1
pattern type 2
inheritance
Basata sulla gerarchia dei tipi
(subtyping) in T
class 1related-to
related-to
Class 1 può contenere anche istanze del pattern type 2
- Risultati preliminari -
46
Specializzazione - esempion: AssociationRule
ss: TUPLE(head: SET(), body: SET())
ds: BAG(transaction: SET())
ms: TUPLE(confidence: REAL)
f: x (x head x body x transaction)
n: AssociationRuleOverStrings
ss: TUPLE(head: SET(STRING), body: SET(STRING))
ds: BAG(transaction: SET(STRING))
ms: TUPLE(confidence: REAL,support: REAL)
f: x (x head x body x transaction)
- Risultati preliminari -
47
Composizione & Raffinamento
pattern type 1
pattern type 2
part-of
Abilità di riferire pattern types nello structure schema
pattern type 1
pattern type 2
refined-by
Abilità di riferire pattern types nello source schema
- Risultati preliminari -
48
Composizione & Raffinamento: esempio
n: ClusterOfRules
ss: representative: AssociationRule
ds: SET(rule: AssociationRule)
ms: TUPLE(deviationOnConfidence: REAL,
deviationOnSupport: REAL)
f: rule.ss.head = representative.ss.head
composizione
raffinamento
- Risultati preliminari -
49
Risultati preliminari
Il modello I linguaggi per pattern
- Risultati preliminari -
50
Linguaggi per pattern
PML(Pattern Manipulation Language) Inserimento, cancellazione, modifica
di pattern PQL (Pattern Query Language)
Ritrovamento ed interrogazione di patternCross-over query: combinano pattern e dati
grezzi
- Risultati preliminari -
51
PML
Extraction Direct insertion Recomputation Deletion
Restricted Extended
Synchronize Insertion into class Deletion from class
Inserimento
Cancellazione
Modifica
Operazioni su classi
- Risultati preliminari -
52
Extraction
Direct Insertion
Recomputation
PML: inserimentoMining algorithm
Sorgente dati grezzi
P1
PT1PT2
PT..
C1C2
C..
PT1PT2
PT..
C1C2
C..
P1names
dm
e
PT1PT2
PT..
C1C2
C..P1Sorgente dati grezzi
P2
- Risultati preliminari -
53
PML: cancellazione Deletion restricted
Deletion extended
P1
PT1PT2
C1C2 C..
P2
P3
PTN
P3P1X
X
P1
PT1 PT2
C1C2
P2P3
PTN
P3P2
P3
P1PT1 PT2
C1C2
P2P3
PTN
P3P2
P3P1
X
OK!
- Risultati preliminari -
P4 P4NO!
X
P1XP2
P3
P4
54
Sorgente dati grezzi
PML:sincronizzazione
Synchronize
p1sdme
PT1
UPDATE
X m’
- Risultati preliminari -
55
PML: operazioni su classi Insertion into class
Deletion from class
P1
PT1
PT2
C1C2
P2
PTN
P3
P2
P3
P1
P1
PT1PT2
C1C2
P2
PTN
P3
P2
P3
P1X
- Risultati preliminari -
P4P5
P4P5
56
PQL Linguaggio chiuso rispetto a classi di pattern Operatori:
Renaming Set-based operators ( , , \) Projection Selection Drill-down Roll-up Decomposition Join
• Natural join
Cross-over operator• Drill-through• Covering - Risultati preliminari -
57
PQL:projection Solo per componenti “structure” e “measure” “Formula” proiettata sulle componenti rimanenti
(<head>,<support>)(AR1)
...pid: 622
s: (head = {'Boots’})
d: SELECT SETOF(article) AS transaction
FROM sales GROUP BY transactionId
m: (support = 0.55)
e: {transaction : x (x {'Boots'} x transaction)}
...
...
pid: 512
s: (head = {'Boots’}, body = {'Socks', 'Hat’})
d: SELECT SETOF(article) AS transaction
FROM sales GROUP BY transactionId
m: (confidence = 0.75, support = 0.55)
e: {transaction : x (x {'Boots', 'Socks','Hat'} x transaction)}
...
AR1
- Risultati preliminari -
58
PQL:selection
Predicati di selezione coinvolgono tutte le componenti del pattern
Operatori sui pattern Per struttura e misura:
• Identità (=i)• Shallow (=se) e deep equality (=de)
Per source ed expression:• Equivalenza ()• Contenimento ()
AND, OR, NOT
- Risultati preliminari -
59
PQL:selection Esempio: ’Boots’ IN s.head AND m.confidence>0.7(AR1)
pid: 512
s: (head = {'Boots’}, body = {'Socks', 'Hat’})
d: SELECT SETOF(article) AS transaction
FROM sales GROUP BY transactionId
m: (confidence = 0.75, support = 0.55)
e: {transaction : x (x {'Boots', 'Socks','Hat'} x transaction)}
pid: 513
s: (head = {'Boots’}, body = {‘Pant’})
d: SELECT SETOF(article) AS transaction
FROM sales GROUP BY transactionId
m: (confidence = 0.60, support = 0.60)
e: {transaction : x (x {'Boots', ‘Pant’} x transaction)}
AR1
pid: 512
s: (head = {'Boots’}, body = {'Socks', 'Hat’})
d: SELECT SETOF(article) AS transaction
FROM sales GROUP BY transactionId
m: (confidence = 0.75, support = 0.55)
e: {transaction : x (x {'Boots', 'Socks','Hat'} x transaction)}
- Risultati preliminari -
60
PQL:drill-down e roll-up
Navigazione della gerarchia di raffinamento
ClusterOfRules
AssociationRule
refined-byDrill-down Roll-up
A
AR1 ARNAR2
AR3
C
CR1
rule(C) ClusterOfRules(A)
61
PQL:decomposition
Navigazione della gerarchia di composizione
ClusterOfRules
AssociationRule
part-of
Ca(CR1)...representative: AR1
...
AR1
62
PQL:join Pattern di classi diverse: C1 e C2 I pattern types devono essere join
compatible Data source compatibility Structure compatibility
Join predicate F: qualunque condizione di selezione definita su una componente di un pattern in C1 e di un pattern in C2
Composition Function: c=(css,cds,cms,cf)
C1 || F,c C2
64
PQL: join - esempio Proprieta transitiva delle regole di associazione Se “AB” e “B C” sono due regole, allora
“AC” è una regola
C1 || C1.ss.body=C2.ss.head , c C2pid: 512
s: (head = {'Boots’}, body = {'Socks'})
d: Query_1
m: (confidence = 0.75, support = 0.55)
e: {transaction : x (x {'Boots', 'Socks'} x transaction)}
pid: 513
s: (head = {‘Socks’}, body = {‘Hat’})
d: Query_2
m: (confidence = 0.60, support = 0.50)
e: {transaction : x (x {‘Socks', ‘Hat’} x transaction)}
pid: 710
s: (head = {'Boots’}, body = {‘Hat'})
d: Query_1 |X| Query_2
m: (confidence = null, support = null)
e: {transaction : x (x {'Boots', Hat} x transaction)}
- Risultati preliminari -
65
PQL: cross-over Mettono in relazione pattern e dati grezzi Drill-through: navigazione dal pattern
layer al data layer Input: classeoutput: insieme di dati grezzi
Covering: verifica se un pattern è valido per uno specifico dataset
- Risultati preliminari -
66
PQL: cross-over Esempi Drill-through
Covering
pids
d:query_1me
A(C)
Query_1
p
DS
(p,d) p
DS
?
- Risultati preliminari -