CVM un modello concettuale per la gestione di versioni di schema in un contesto di integrazione Fabio Grandi DEIS - Università di Bologna
2 Conceptual Versioning Model Framework di Integrazione : Modello Globale (Livello Concettuale) –Conceptual Versioning Model ( CVM ) Schemi Sorgenti (Livello Logico) –Modelli Object-oriented –Modello relazionale –Modelli per dati semi-strutturati (ssd) –XML...
3 Caratteristiche di CVM (1) Supporto per versioni di schema (schema evolution e versioning) –versioni temporali –versioni progettuali (tipiche in appl. OODBs) –versioni spaziali Framework uniforme per la rappresentazione e gestione di dati e metadati (con formato di export comune es. XML)
4 Caratteristiche di CVM (2) Supporto di DM espressivi per le sorgenti –modelli OO con polimorfismo degli oggetti e typing non stretto (OK per integrazione) –linguaggio full-Boolean per definizione dei tipi –costruttori di record e set (OK per modelli ssd, ODMG…) Basato sulla Logica Descrittiva ALCQIO assai espressiva e decidibile (NExpTime) –Def. di named entities (classi e attributi) come first-class citizens --> uso di nominals
5 D1.R4: risultati prima fase (1) Formalizzazione di CVM –Def. del framework generale: Livello Globale: aspetti intensionali - gerarchia di concetti Livello di Singola Versione di Schema: aspetti estensionali - def. ruoli e vincoli Definizione Path Language per Attributi (per uso in schema changes e queries)
6 D1.R4: risultati prima fase (2) Formalizzazione degli schema changes (vincoli inter-versione) –compatibile con soluzione single-pool + completed schema e/o multi-pool Definizione di Reasoning Task –consistenza globale/locale di schemi/classi –disgiunzione/sussunzione di classi –unicità del nome di classi/attributi
7 Query Language –Datalog non ricorsivo con problema di query containment decidibile –consente di esprimere query multi-schema –utilizzabile per change propagation (modifiche dei dati a fronte di schema change) D1.R4: risultati prima fase (3)
8 Ragionatore efficiente per CVM ? ( reasoning in ALCQIO ) –possibile impiego di tool per ALCQI con aspetti legati ai nominal trattati a livello di Abox Studio su base formale del problema di Change Propagation Problemi aperti e Sviluppi