Università degli studi di Modena e Reggio Emilia
Facoltà di Ingegneria – sede di Modena
Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento
Re-engineering del wrapper
XML Schema per il sistema
MOMIS
Relatore
Chiar.ma Prof. Sonia Bergamaschi
Correlatore
Chiar.mo Ing. Maurizio Vincini
Anno Accademico 2006-2007
Tesi di Laurea di
Francesca Tartaglione
Sommario
Il sistema MOMIS
I linguaggi di riferimento
Wrapper XML Schema
Re-engineering del wrapper
Validazione sul caso di studio THALIA
Attività progettuale svolta presso il Dipartimento di
Ingegneria dell’Informazione
Il sistema MOMIS
Mediator envirOnment for
Multiple Information Sources
Linguaggio di partenza:
XML Schema
• Sviluppato dal W3C
• Rappresentato interamente in XML 1.0
• Descrive la grammatica per un linguaggio di
markup basato su XML
• Set di componenti (definizioni di tipi,
dichiarazioni di elementi) usati per validare gli
oggetti che compongono un documento XML
• Fa uso di namespace
Linguaggio di arrivo:
ODLI3
ODLI³ = ODL + I³
• Definito dal DB Group come estensione del
linguaggio standard ODL (Object Definition
Language) in accordo con le indicazioni del
programma I³ (Intelligent Information
Integration)
• Progettato per descrivere ed integrare un
insieme di sorgenti eterogenee
Wrapper XML Schema
• Progettato ed implementato da R. Rasi
• Consente la traduzione di documenti in formato
XML Schema nel formato ODLI3
• Regole di traduzione per ogni componente XML
Schema
• Presenza di problemi → Fase di re-engineering
Re-engineering:
gestione di element globali
<complexType name="UNO">
<sequence>
<element name="ELEMENT1"
<element name="ELEMENT2"
</sequence>
<attribute name="ATTRIBUTE"
use="optional"/>
</complexType>
<element name="PROVA_ELEMENT"
type="string"/>
type="string"/>
type="string"
type="string"/>
Re-engineering:
gestione di element globali
Re-engineering:
troncamento dei livelli di nesting
• Obiettivo: ottimizzare la traduzione
• Eliminazione dell’interfaccia creata dalla
traduzione di un elemento globale a contenuto
complesso
• Modifica ai tag assegnati alle interfacce e agli
attributi di un Model Group:
<nameInterface>_sequence_i
<nameInterface>_choice_i
Re-engineering:
gestione del Model Group choice
<xs:complexType name="UNIONE">
<xs:choice>
<xs:element name="UNO" type="xs:string" />
<xs:element name="DUE" type="xs:string" />
<xs:element name="TRE" type="xs:string" />
</xs:choice>
</xs:complexType>
• Mancata corrispondenza tra le regole
ideate e la traduzione effettuata
Re-engineering:
gestione del Model Group choice
Traduzione con regola
precedente
interface ${UNIONE}
{ attribute UNIONE_choice_1
${UNIONE_choice_1};
}
interface
${UNIONE_choice_1}
{
attribute string ${UNO};
attribute string ${DUE};
attribute string ${TRE};
};
Traduzione con nuova regola
interface
${UNIONE_choice_1}
{
attribute string ${UNO};
union
attribute string ${DUE};
union
attribute string ${TRE};
};
Validazione su caso di studio: il
benchmark THALIA
• THALIA: benchmark pubblico e disponibile per
sistemi di integrazione di informazione
• Fornisce oltre 40 fonti scaricabili
• Scopo: classificazione sistematica dei differenti
tipi di eterogeneità sintattiche e semantiche
• Uso del wrapper re-engineered per la traduzione
di 10 Target schema in XML Schema nei
rispettivi Challenge schema in ODLI3 per
ottenere una validazione del lavoro svolto
Esempio: file asu.xsd
Target schema:
Challenge schema:
Conclusioni
Analisi dei due linguaggi di riferimento
e delle regole di traduzione ideate da R. Rasi
Fase di re-engineering che ha consentito al wrapper
di funzionare in maniera corretta ed ottimizzata
rispetto alla versione precedente
Validazione delle modifiche apportate
attraverso il caso di studio THALIA
Re-engineering del wrapper XML
Schema per il sistema MOMIS
Scarica

XML Schema - DBGroup - Università degli studi di Modena e