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''.