View
245
Download
1
Category
Preview:
Citation preview
Controrelatore
Chiar.mo Prof. Flavio Bonfatti
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIACorso di Laurea in Ingegneria Informatica
Tesi di laurea diGuidetti Rossano
Relatore
Chiar.mo Prof. Sonia Bergamaschi
SI-Designer: un tool per l’integrazione di sorgenti distribuite ed eterogenee
MOMISMediator envirOnment for Multiple Information Sources
• Sistema di integrazione di sorgenti eterogenee e distribuite.
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)
• Integrazione in due fasi:
Data level
WrapperWrapper
RelationalSource
RelationalSource
WrapperWrapper
XMLSource
XMLSource
WrapperWrapper
ObjectSource
ObjectSource
WrapperWrapper
genericSource
genericSource
legenda
CORBA Object
User
GUI
Software tools
CORBA interactionUser interaction
WordNetWordNet
Service level
ODB-ToolsODB-ToolsGlobal Schema
METADATA REPOSITORYGlobal Schema
METADATA REPOSITORY
Global Schema Builder
QueryManagerQueryManager
• SLIM WordNet interaction• SIM ODB-Tools validation • ARTEMIS Clustering• TUNIM Map. table tuning
• SLIM WordNet interaction• SIM ODB-Tools validation • ARTEMIS Clustering• TUNIM Map. table tuning
SI-DesignerSI-Designer
MOMIS mediator
creates
UserUser
Application
IntegrationDesigner
IntegrationDesigner
USER level
Architettura di MOMIS
La costruzione dello schema globale
SchemiSorgentiODLI
3
Generazione di unThesaurus Comune
Thesaurus Comune
Insieme di relazionali intensionali ed estensionali tra nomi di attributi e classi degli schemi sorgenti
Le relazioni aggiunte al Thesaurus hanno origini diverse:
conoscenza semantica intra-schema ed inter-schema
(1) derivate dagli schemi (ODB-Tools)
(2) derivate dal lessico (WordNet)
(3) fornite dal progettista
(4) inferite (ODB-Tools)
Relazioni intensionali/terminologiche: esprimono la conoscenza deducibile dalla struttura delle classi e dal significato dei termini (nomi di classi e di attributi)
Relazioni estensionali: esprimono la conoscenza deducibile dalle istanze delle classi
<t1 SYN t2> Sinonimia (stesso concetto)
<t1 BT t2> Specializzazione (Broader Terms - BT, Narrower Terms - NT)
<C1 SYNext C2> (le istanze di C1 e C2 sono le stesse)
<C1 BText C2> (l’istanza di C1 contiene quella di C2)
<t1 RT t2> Associazione (Related Terms - RT)
• Tipi di relazioni:
• Validazione delle relazioni:
– relazioni intensionali tra attributi: basata sulla compatibilità dei domini
• Inferenza di nuove relazioni intensionali ed estensionali usando le tecniche DL (i.e. ODB-Tools)
– relazioni estensionali tra classi: basata sulla compatibilità della loro struttura
La costruzione dello schema globale
Generazione di unThesaurus Comune
Generazione dei Cluster
SchemiSorgentiODLI
3
Generazione dei cluster
1) Calcolo di Coefficienti di affinità per ogni coppia di classi ODLI
3
Room
Section Course University_Student
School_Member
Student
ProfessorCS_Person
Research_Staff
0.375
0.39
0.39
0.660.54
0.6
0.65
0.68
0.68
Division Department
0.6
Cl
Cl
Cl
Cl1
2
3
4
LocationCl5
0.25
2) Algoritmo di clustering: creazione dei gruppi di classi (cluster) che presentano coefficienti di affinità superiori ad una certa soglia
Soglia=0.5
La costruzione dello schema globale
Generazione di unThesaurus Comune
Generazione di Cluster
SchemiSorgentiODLI
3
Creazione classi globali e Mapping
Creazione delle classi globali e Mapping
– nome
– insieme di attributi globali costruito sulla base di una unione “ragionata” degli attributi che caratterizzano le classi del cluster C:
Per ogni cluster C viene generata una glasse globale G caratterizzata da:
1) unione di tutti gli attributi locali
2) unificazione (o fusione) degli attributi simili:A SYN B A oppure B come attributo globaleA 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)
name
first_name ANDlast_name
‘Student’first_name ANDlast_name
UNI.School_Member
University_Person
UNI.Research_Staff
CS.CS_Person name Null
‘Professor’
Null
Null
dept_code
rank works
CS.Professor name rank belongs_to
CS.Student name Null Null
Null
Null
Null
case rank of‘course’: home_email‘phd’:phd_email
TP.University_Student name ‘Student’ Null Null
La costruzione dello schema globale
Generazione di unThesaurus Comune
Generazione di Cluster
SchemiSorgentiODLI
3
Creazione classi globali e Mapping
Schema Globale
Mediatore
Schema Globale
Mediatore
SI-Designer
Architettura di SI-Designer
SI_Designer GlobalSchemaProxy
SIMSAM SLIM
ARTEM TUNIM
GlobalSchema(CORBA)
Integration Designer
Modularità di SI-Designer
• I moduli che realizzano le fasi dell’integrazione sono indipendenti gli uni dagli altri.
SIDPhase
SAM SLIM TUNIM...
• Per aggiungere una nuova fase è sufficiente creare una classe Java figlia di SIDPhase.
• 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.
Architettura di SI-Designer
SI_Designer GlobalSchemaProxy
SIMSAM SLIM
ARTEM TUNIM
GlobalSchema(CORBA)
SAM
TUNIM
•SAM: Sources Acquisiton Module•SIM: Sources Integrator Module•SLIM: Souces Lessical Integrator Module•ARTEM: clustering•TUNIM: TUNIng of mapping-tables Module
SAMSources Acquisition Module
Acquisizione degli schemi ODLI3 delle sorgenti
Acquisizione di uno schema
SAMIntegration Designer-wrapper name-host name-port#
CORBAengine
CORBAengine
Wrapper(CORBA)
Parser ODLI3
GlobalSchemaProxy
Struttura dati ODLI
3
Schemi ODLI
3
TUNIMTUNIng 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.
UNI.School_Member
University_Person name
UNI.Research_Staff
CS.CS_Person Null
Null
name
Null
Null
faculty
Null
Null
year
Null
first_name
Null
Null
last_name
Null
faculty year first_name last_name
Individuazione degli attributi globali simili
• Il modulo costruisce dei grafi
– i nodi sono gli attributi
– gli archi sono relazioni del Thesaurus Comune
in cui:
• 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
– due attributi legati da una relazione validata di specializzazione
name
last_name
NT
last_name surnameSYN
SÍ
• 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
last_namefirst_name surname
NTNT
SYN
name
last_namefirst_name
NTNT
– attributi legati da relazioni non validate
dept_code(string)
belongs_to(object)
NT
namefirst_name ANDlast_name
‘Student’first_name ANDlast_name
UNI.School_Member
University_Person
UNI.Research_Staff
CS.CS_Person name Null
‘Professor’
Null
Null
dept_code
rank works
CS.Professor name rank belongs_to
CS.Student name Null Null
Null
Null
Null
case rank of‘course’: home_email‘phd’:phd_email
TP.University_Student name ‘Student’ Null Null
mapping-table finale (dopo le fusioni)
mapping-table iniziale (unione degli attributi)
UNI.School_Member
University_Person name
UNI.Research_Staff
CS.CS_Person Null
Null
name
Null
Null
faculty
Null
Null
year
Null
first_name
Null
Null
last_name
Null
faculty year first_name last_name
L’interfaccia grafica di SAM
L’interfaccia grafica di TUNIM
Conclusioni• Il sistema MOMIS è un sistema di integrazione delle
informazioni che introduce:
– approccio semantico
– intelligenza artificiale
• SI-Designer offre un reale supporto al progettista dello schema globale:
– automazione– interfaccia semplice
• Sviluppi futuri:
– integrazione delle risposte
– maggior automazione
– sorgenti multimediali
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''.
Recommended