Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria - Corso di Laurea in Ingegneria Informatica TeX System: un Sistema per la Gestione Temporale di Testi Normativi Marco Bergonzini Relatore: Correlatori: Prof. Paolo Tiberio Dott. Federica Mandreoli Controrelatore: Prof. Fabio Grandi Prof. Sonia Bergamaschi Anno Accademico 2002/2003 TeX System Introduzione La difficoltà di interpretazione dei testi normativi è un problema di sempre maggior importanza Ambito di applicabilità: l’insieme delle situazioni in cui una disposizione normativa trova applicazione In particolare, ci occuperemo dell’ambito di applicabilità temporale, cioè “quando” una disposizione può essere applicata Disposizione attiva o modificante Aliquota IVA 19% Aliquota IVA 20% Disposizione passiva o modificanda Disposizione modificata Sono ora presenti due diverse versioni della disposizione passiva, individuare quale sia Nessi normativi applicabile non è sempre immediato Introduzione TeX System Modifiche testuali: eliminano la disposizione passiva o ne cambiano in testo Esempio: L’art. 49 dello statuto del Comune, adottato con deliberazione O.d:G. n.26 del 17 giugno 1991 ed esecutivo dal 16 dicembre 1991, è sostituito del seguente “Art. 49 …” Modifiche temporali: incidono sull’ambito di applicabilità temporale della disposizione senza modificarne il testo Esempio: L’art. 12 della legge n. 898 del 1 dicembre 1970 è prorogato fino al 30 giugno 1996 Modifiche materiali: influiscono sulla portata normativa di una disposizione senza modificarne il testo. Non riguardano aspetti temporali e non saranno considerate nel seguito Obiettivi della tesi TeX System Progettazione e sviluppo di un sistema in grado di fornire all’utente un aiuto concreto nell’interpretazione dei testi normativi. Gestione trasparente degli aspetti temporali delle modifiche dei testi normativi. Il lavoro è stato svolto nell’ambito del progetto MIUR ex-40% “La dinamica della norma nel tempo: aspetti giuridici e informatici”, in collaborazione col CIRSFID Fasi del progetto TeX: • Definizione di un modello temporale XML per la rappresentazione delle norme nel tempo • Definizione degli operatori di modifica e ricostruzione • Progettazione e realizzazione del prototipo TeX System Modello Temporale XML I requisiti di un modello per la rappresentazione dei testi normativi sono: • rispetto della struttura gerarchica articolato – capo – articolo – comma • capacità di ogni livello della gerarchia di rappresentare versioni multiple, ognuna caratterizzata dai propri attributi temporali Ver1 Ver2 Ereditarietà Ver1 Ver1 Ver2 Versioni e Timestamp Ver1 Raffinamento Dimensioni Temporali TeX System Le dimensioni temporali che si è deciso di supportare sono le seguenti: • Publication time: è il tempo in cui il testo normativo viene pubblicato sulla gazzetta ufficiale • Validity time: è il periodo in cui la norma è in vigore • Efficacy time: identifica il tempo in cui la norma è applicabile al caso concreto • Transaction time: è il tempo in cui il testo normativo è memorizzato nel database Queste dimensioni sono tra loro “ortogonali”, possono essere trattare in maniera del tutto indipendente TeX System Schema XML del Modello Modello Modificato Natura Titolo Articolato Articolato Articolo • Adatto alla rappresentazione di documentiVercon una struttura Rif - O gerarchica. Vt_Start – O Ver Capo Ver Ver Rubrica Pubblicazione – R Vt_Start – R Vt_End – O Tt_Start – R Tt_End – O Et_Start – R Et_End – O TA Num – R XML Legge NumVt_End – R –O Tt_Startcon –O aggiungere Rif Tt_End – O –O • Permette di Et_Start – O ET facilità “etichette” sui testi. Articolo VT • Si sta affermando sempre più ET formato di scambio dati come VT su Web. Ver Rubrica Comma Ver Et_End – O TT • E’ uno standard W3C. TT TeX System Un Documento Conforme allo Schema Legge Decreto legislativo Articolato Importazione cereali Ver 1 Capo 1 Capo 2 Ver 1 Importazione Articolo 1 dai paesi dell’UE Ver 1 Importazione Comma 1 Comma 2 dalla Spagna Ver 1 Ver 2 Testo Testo Ver 1 Articolo 2 Ver 2 Importazione dai paesi extracomunitari Ver 2 Articolo 1 Ver 1 Comma 1 Comma 1 Ver 1 Ver 1 Ver 1 Ver 2 Testo Testo Testo Testo Comma 2 Operatori TeX System Sul modello sono previsti tre operatori: • Ricostruzione: permette di consultare i testi normativi attraverso “viste temporali” dei documenti. Soltanto le versioni compatibili con i vincoli temporali richiesti saranno restituite nel testo ricostruito. • Modifica Testuale: gestisce le modifiche testuali (abrogazioni, inserimenti e sostituzioni) garantendo che le vecchie versioni del testo siano conservate • Modifica Temporale: si occupa della modifica delle coordinate temporali di disposizioni normative già esistenti TeX System Ricostruzione Legge Decreto legislativo Articolato Importazione cereali Ver 1 Capo 1 Capo 2 Ver 1 Importazione Articolo 1 dai paesi dell’UE Ver 1 Importazione Comma 1 Comma 2 dalla Spagna Ver 1 Ver 2 Testo Testo Ver 1 Articolo 2 Ver 2 Importazione dai paesi extracomunitari Ver 2 Articolo 1 Ver 1 Comma 1 Comma 1 Ver 1 Ver 1 Ver 1 Ver 2 Testo Testo Testo Testo Comma 2 TeX System Ricostruzione Timestamp della disposizione Operazioni supportate Punto temporale Intervallo temporale 0 – nessuna operazione 1 – timestamp includono i vincoli 2 – timestamp prima dei vincoli 3 – timestamp dopo i vincoli 4 – timestamp intersecano i vincoli 5 – timestamp non contenuti nei vincoli 6 – timestamp contenuti nei vincoli 7 – timestamp non intersecano i vincoli TeX System Modifica Testuale Esempio: la legge n°134 del 12 febbraio 1996, viene inserita nel database il giorno successivo e entra in vigore il 27 dello stesso mese. In data 1 dicembre 2000 viene deliberata una modifica testuale all’articolo 2 del primo capo. Il suo contenuto deve essere completamente sostituito da un nuovo testo che entrerà in vigore il 1 gennaio 2001 e ne uscirà alla fine dello stesso anno. L’operazione è svolta sul database il 3 dicembre 2000 27-02-96 01-01-01 31-12-01 Propagazione delle modifiche ai livelli inferiori VT VT 13-02-96 NOW TT TT Livello TeX System Modifica Temporale Esempio: in data 12 novembre 2001 viene approvata una modifica sull’articolo 2 della legge n°134 del 12 febbraio 1996, il testo al momento in vigore deve essere prorogato per tutto l’anno 2002. La registrazione del fatto avviene il 15 novembre 2001 27-02-96 01-01-01 31-12-01 Propagazione delle modifiche ai livelli superiori 31-12-02 VT 13-02-96 03-12-00 VT NOW TT TT Livello Architettura del Sistema ? Documenti XML PrePreprocessing processing Query Documenti Documenti XML, XML modifiche testuali o temporali Query Query Processor Processor Update Update Processor Processor LeggeI (Codice, ColonnaXML, pubblicazione, Legge (Codice, ColonnaXML) tt_end, et_start, et_end, natura) Inverte Inverte d dIndex Index XML XML Repository Repository TeX System Memorizzazione dei testi mormativi: Due alternative per la • DB2 memorizzazione dati La gestione deglidei aspetti sono analizzate: • SQLstate Server dinamici è svolta da uno L’indicizzazione deiin testi strato programmato Java eè Oracle •svolta Tabella XML attraverso inverted costruito “on top”un al database index realizzato con il • Tabella La sceltaIbrida di JavainterMedia assicura la pacchetto Oracle portabilità del software e l’integrazione con il Web Oracle XML DB offre numerose e pratiche vt_start, vt_end, tt_start, funzionalità per la gestione di dati XML static Test del Prototipo TeX System Tutte le prove sperimentali sono state eseguite su un personal comupter dotato di processore x86 Family 6 Model 7 con 256MB di RAM, sistema operativo Windows NT 4 Service Pack 6 e disco rigido SCSI; il DBMS usato è Oracle 9i Release 1 I generatori di benchmark XML esistenti si sono rivelati indatti alla creazione di documenti temporali, è allora stato realizzato un algoritmo per la creazione pseudo-casuale dei documenti Sono stati generati tre dataset delle seguenti dimensioni: 1000 documenti, 26 MB 2000 documenti, 53 MB 5000 documenti, 130 MB TeX System Selezione Per le prove di selezione sono stati considerati sei diversi tipi di query, Q1 e Q2 non contengono condizioni temporali, al contrario Q3 presenta solo condizioni temporali, le altre query sono miste Selezione Estrazione titoli millisecondi 30000 Tabella XML 1000 documenti 200025000 documenti Tabella ibrida 5000 documenti 1000 documenti millisecondi 20000 millisecondi 30000 15000 30000 25000 10000 25000 20000 15000 0 Q1 10000 Q2 Q3 Q4 10000 Q5 5000 5000 0 0 Q1 Q2 Q3 5000 documenti 20000 5000 15000 2000 documenti Q4 Q5 Q6 Q1 Q6 Q2 Q3 Q4 Q5 Q6 TeX System Inserimento I test di inserimento sono stati svolti su collezioni di 5000 documenti e considerando anche il costo per l’aggiornamento del text index Dimensione media documenti inseriti: 22 KB Tabella XML Insert Tabella ibrida Update Insert millisecondi millisecondi 8000 7000 6000 5000 4000 3000 2000 1000 0 8000 7000 6000 5000 4000 3000 2000 1000 0 1 10 Num ero Docum enti 30 1 Update 10 Num ero Docum enti 30 Ricostruzione e Modifica TeX System La tabella utilizzata non influisce sul tempo delle operazioni di ricostruzione e modifica E’ invece importante la scelta del modello, l’adozione del modello he supporta i time elements comporta mediamente una dimensione 3 volte minore per documenti che abbiano subito variazioni La differenza di velocità non è stata particolarmente apprezzabile nei test, ma l’occupazione di memoria centrale può essere un fattore determinante se il numero delle operazioni da svolgere è molto grande Una notevole degenerazione delle prestazioni potrebbe essere causata dalla richiesta eccessiva di memoria Sviluppi Futuri TeX System • Metodo di memorizzazione Object-Relational • Sviluppi di estensioni temporali dei DBMS commerciali • Interfaccia Web M. Bergonzini, F. Grandi, F. Mandreoli, P. Tiberio “A temporal data model and system architecture for the management of normative texts” 11° congresso SEBD, Cetraro (CS) 24-27 Giugno 2003