UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA
Corso di Laurea in Ingegneria Informatica
SI-Designer: un tool per l’integrazione di
sorgenti distribuite ed eterogenee
Tesi di laurea di
Guidetti Rossano
Relatore
Chiar.mo Prof. Sonia Bergamaschi
Controrelatore
Chiar.mo Prof. Flavio Bonfatti
MOMIS
Mediator envirOnment for Multiple Information Sources
• Sistema di integrazione di sorgenti eterogenee e distribuite.
• Integrazione in due fasi:
1) costruzione di una vista globlale sulle sorgenti: lo
schema globale
2) l’utente formula le richieste di informazioni sullo
schema globale ricevendo una risposta unificata
 Un modello di dati comune, ODLI3 (derivato dall’ODL, ODMG)
Architettura di MOMIS
Integration
Integration
Designer
Designer
SI-Designer
SI-Designer
• SLIM WordNet interaction
• SLIM WordNet interaction
• •SIM
SIM ODB-Tools
ODB-Toolsvalidation
validation
• •ARTEMIS
ARTEMISClustering
Clustering
• •TUNIM
TUNIMMap.
Map.table
tabletuning
tuning
WordNet
WordNet
Global Schema Builder
creates
User
User
Application
USER
level
ODB-Tools
ODB-Tools
Global
GlobalSchema
Schema
Service level
METADATA
METADATAREPOSITORY
REPOSITORY
QueryManager
QueryManager
MOMIS mediator
legenda
User interaction
CORBA interaction
CORBA Object
GUI
User
Software tools
Wrapper
Wrapper
Wrapper
Wrapper
Wrapper
Wrapper
Wrapper
Wrapper
Relational
Relational
Source
Source
XML
XML
Source
Source
Object
Object
Source
Source
generic
generic
Source
Source
Data level
La costruzione dello schema
globale
Schemi
Sorgenti
ODLI3
Generazione di un
Thesaurus Comune
Thesaurus Comune
Insieme di relazionali intensionali ed estensionali tra nomi di
attributi e classi degli schemi sorgenti
conoscenza semantica intra-schema ed inter-schema
Le relazioni aggiunte al Thesaurus hanno origini diverse:
(1)
(2)
(3)
derivate dagli schemi (ODB-Tools)
derivate dal lessico (WordNet)
fornite dal progettista
(4)
inferite (ODB-Tools)
• Tipi di relazioni:
Relazioni intensionali/terminologiche: esprimono la conoscenza
deducibile dalla struttura delle classi e dal significato dei termini
(nomi di classi e di attributi)
<t1 SYN t2> Sinonimia (stesso concetto)
<t1 BT t2> Specializzazione (Broader Terms - BT,
Narrower Terms - NT)
<t1 RT t2> Associazione (Related Terms - RT)
Relazioni estensionali: esprimono la conoscenza deducibile dalle
istanze delle classi
<C1 SYNext C2> (le istanze di C1 e C2 sono le stesse)
<C1 BText C2> (l’istanza di C1 contiene quella di C2)
• Validazione delle relazioni:
– relazioni intensionali tra attributi: basata sulla compatibilità dei
domini
– relazioni estensionali tra classi: basata sulla compatibilità della
loro struttura
• Inferenza di nuove relazioni intensionali ed
estensionali usando le tecniche DL (i.e. ODB-Tools)
La costruzione dello schema
globale
Schemi
Sorgenti
ODLI3
Generazione di un
Thesaurus Comune
Generazione
dei Cluster
Generazione dei cluster
1) Calcolo di Coefficienti di affinità per ogni coppia di classi
ODLI3
2) Algoritmo di clustering: creazione dei gruppi di classi
(cluster) che presentano coefficienti di affinità superiori ad
una certa soglia
0.25
0.375
Location
Cl5
0.39
0.6
0.39
0.54
0.66
Room
Cl3
Section
Cl2
Course
Division Department
Research_Staff
0.65
0.68
0.68
0.6
Cl4
University_Student
School_Member
Student
CS_Person Professor
Cl1
Soglia=0.5
La costruzione dello schema
globale
Schemi
Sorgenti
ODLI3
Generazione di un
Thesaurus Comune
Creazione classi
globali e
Mapping
Generazione
di Cluster
Creazione delle classi globali e
Mapping
Per ogni cluster C viene generata una glasse globale G caratterizzata
da:
– nome
– insieme di attributi globali costruito sulla base di una unione
“ragionata” degli attributi che caratterizzano le classi del
cluster C:
1) unione di tutti gli attributi locali
2) unificazione (o fusione) degli attributi simili:
A SYN B  A oppure B come attributo globale
A NT B  B come attributo globale
– mapping-table: rappresentazione tabellare delle mapping rules,
regole che esprimono il legame tra attributi globali e locali
(corrispondenze and / union, valori default / null)
University_Person
UNI.Research_Staff
UNI.School_Member
name
rank
first_name AND
‘Professor’
last_name
first_name AND
‘Student’
last_name
works
email
dept_code email
Null
Null
Null
CS.CS_Person
name
Null
Null
CS.Professor
name
rank
belongs_to Null
CS.Student
name
Null
Null
case rank of
‘course’: home_email
‘phd’:phd_email
TP.University_Student
name
‘Student’
Null
Null
La costruzione dello schema
globale
Schemi
Sorgenti
ODLI3
Schema
Globale
Mediatore
Generazione di un
Thesaurus Comune
Creazione classi
globali e
Mapping
Generazione
di Cluster
SI-Designer
Architettura di SI-Designer
Integration Designer
SAM
SIM
ARTEM
SLIM
TUNIM
SI_Designer GlobalSchemaProxy
GlobalSchema
(CORBA)
Modularità di SI-Designer
• I moduli che realizzano le fasi dell’integrazione sono
indipendenti gli uni dagli altri.
• Essi sono stati implementati in classi Java figlie di una
medesima classe Java astratta SIDPhase, che implementa i
metodi di base per l’interazione con il modulo principale.
SIDPhase
SAM
SLIM
...
TUNIM
• Per aggiungere una nuova fase è sufficiente creare una classe
Java figlia di SIDPhase.
Architettura di SI-Designer
SAM
SIM
ARTEM
SLIM
TUNIM
SI_Designer GlobalSchemaProxy
GlobalSchema
(CORBA)
•SAM: Sources Acquisiton Module
•SIM: Sources Integrator Module
•SLIM: Souces Lessical Integrator Module
•ARTEM: clustering
•TUNIM: TUNIng of mapping-tables Module
SAM
Sources Acquisition Module
Acquisizione degli schemi ODLI3 delle sorgenti
Acquisizione di uno schema
Integration Designer
SAM
CORBA
engine
-wrapper name
-host name
-port#
Struttura
dati ODLI3
Parser ODLI3
Schemi
ODLI3
GlobalSchemaProxy
Wrapper
(CORBA)
TUNIM
TUNIng of mapping-table Module
Aiuta il progettista nella creazione delle classi
globali e delle relative mapping-table.
Caratteristiche delle classi globali
• La creazione delle classi globali è una operazione delicata perché
è proprio su di esse che l’utente formulerà le interrrogazioni.
• Ogni classe globale deve:
– avere un insieme di attributi che rappresenta tutte le
informazioni del cluster da cui è stata costruita
– permettere la formulazione di interrogazioni semplici ed
espressive
– tutti gli attributi locali devono essere mappati sugli attributi
globali
– non ci devono essere, per quanto possibile, attributi globali
che rappresentano informazioni concettualmente simili
Funzionalità di TUNIM
• Creazione di una mapping-table iniziale, ottenuta dall’unione si
tutti gli attributi delle classi appartenenti al cluster in esame
• Individuazione degli attributi globali simili, vale a dire
attributi che rappresentano informazioni concettualmente
simili
• Fusione degli attributi simili (semi-automatica)
Creazione automatica della mapping-table iniziale
Per ogni attributo locale viene creato un nuovo attributo globale
aggiungendo una colonna alla mapping-table. L’attributo locale
viene mappato sull’attributo globale aggiunto.
University_Person
name faculty
year
first_name
last_name
UNI.School_Member
name
faculty
year
Null
Null
UNI.Research_Staff
Null
Null
Null
first_name
last_name
CS.CS_Person
Null
Null
Null
Null
Null
Individuazione degli attributi globali simili
• Il modulo costruisce dei grafi
in cui:
– i nodi sono gli attributi
– gli archi sono relazioni del Thesaurus Comune
• Tra tutte le possibili fusioni individuate, il tool esegue
per prima le fusioni eseguibili automaticamente.
– attributi legati solamente da relazioni validate di sinonimia
(SYN) e non partecipanti a nessun altro tipo di relazione
SÍ
SYN
last_name
surname
– due attributi legati da una relazione validata di
specializzazione
name
NT
last_name
• Il tool propone al progettista di risolvere le fusione
individuate ma che non possono essere risolte
automaticamente.
– situazioni ambigue di attributi legati da relazioni validate
name
NT
first_name
NT
last_name
SYN
name
NT
first_name
NT
last_name
surname
– attributi legati da relazioni non validate
dept_code
(string)
NT
belongs_to
(object)
mapping-table iniziale (unione degli attributi)
University_Person
name faculty
year
first_name last_name
UNI.School_Member
name
faculty
year
Null
Null
UNI.Research_Staff
Null
Null
Null
first_name
last_name
CS.CS_Person
Null
Null
Null
Null
Null
mapping-table finale (dopo le fusioni)
University_Person
name
rank
CS.CS_Person
first_name AND
‘Professor’
last_name
first_name AND
‘Student’
last_name
Null
name
CS.Professor
name
rank
CS.Student
name
Null
TP.University_Student
name
‘Student’
UNI.Research_Staff
UNI.School_Member
works
email
dept_code email
Null
Null
Null
Null
belongs_to Null
case rank of
Null
‘course’: home_email
‘phd’:phd_email
Null
Null
L’interfaccia grafica di SAM
L’interfaccia grafica di TUNIM
Conclusioni
• Il sistema MOMIS è un sistema di integrazione delle
informazioni che introduce:
– intelligenza artificiale
– approccio semantico
• SI-Designer offre un reale supporto al progettista dello
schema globale:
– interfaccia semplice
– automazione
• Sviluppi futuri:
– integrazione delle risposte
– sorgenti multimediali
– maggior automazione
Piattaforma di sviluppo:
• Sun Ultra10
• Sistema operativo Solaris 2.7
• Java 1.2.2
Righe di codice prodotte: 4900
• Il lavoro svolto nella presente tesi ha ottenuto un
riconoscimento nazionale ed internazionale.
I risultati della tesi sono contenuti in un articolo presentato
all'Ottavo Convegno Nazionale su Sistemi Evoluti per Basi di
Dati - {SEBD2000}, L'Aquila, 26-28 giugno 2000, autori D.
Beneventano, S. Bergamaschi, A. Corni, R. Guidetti e G.
Malvezzi dal titolo ``SI-Designer: un tool di ausilio all'integrazione
intelligente di sorgenti di informazione''. Il componente realizzato
durante la tesi è parte importante del sistema MOMIS che verrà
presentato alla prossima conferenza internazionale Very Large
DataBase {VLDB2000}, Cairo (Egitto), 10-14 settembre 2000,
autori D. Beneventano, S. Bergamaschi, S. Castano, A. Corni, R.
Guidetti, G. Malvezzi, M. Melchiori e M. Vincini dal titolo
“Information Integration: the MOMIS Project Demonstration''.
Scarica

- DBGroup - Università degli studi di Modena e Reggio