CAPITOLO 1. INTRODUZIONEpunto di vista intra-amministrazione
he da quello extra-amministrazione,
ioè verso il
ittadino) e l'utilizzo dei media digitali2 sono già iniziati, emolto verrà fatto in futuro via via
he verranno
omprese le potenzialità ein
ontrati i limiti degli strumenti
he si hanno a disposizione.Si inseris
ono all'interno di questo panorama le appli
azioni delle te
ni-
he di analisi del linguaggio naturale (Natural Language Pro
essing, NLP)allo studio dei do
umenti giuridi
i. Tali te
ni
he sono impiegate
on su
essogià da al
uni anni nel progetto NormeinRete (NiR) [34℄ e nell'ambito del-le attività dell'Istituto di Teoria e Te
ni
he dell'Informazione Giuridi
a delCNR (ITTIG) [26℄. NiR propone e sviluppa metodologie, servizi e strumen-ti, per orire al
ittadino un punto di a
esso unitario alla do
umentazionegiuridi
a pubbli
ata sul web dalle istituzioni pubbli
he e per favorire la
oo-perazione tra le Pubbli
he Amministrazioni. Presso ITTIG, sono stati testatie migliorati appli
ativi software per l'information extra
tion appli
ata ai te-sti giuridi
i: possono venir estratte informazioni sia strutturali (partizioni,arti
oli,
ommi, et
.)
he semanti
he (ad esempio: le disposizioni di modi
a:integrazioni, sostituzioni, abrogazioni [31, 32℄). Basandosi sui dati estratti
on questi sistemi, questo lavoro di tesi presenta un metodo per la rappre-sentazione formale di do
umenti legislativi attraverso l'uso della notazionegra
a UML (Unied Modeling Language),
on lo s
opo di denire relazionitra atti normativi e an
he quelle tra gli elementi al loro interno. Vari studidimostrano
ome UML possa essere appli
ato alla modellazione di informa-zioni estratte da testi s
ritti in linguaggio naturale3 e in parti
olare a testigiuridi
i: ad esempio, all'interno del progetto olandese E-Power [18℄, il lavorodi
omuni
azione delle pubbli
he amministrazioni [29℄. Tratto dalla stessa legge: Le attivi-tà di informazione e di
omuni
azione sono nalizzate a: illustrare e favorire la
onos
enzadelle disposizioni normative, al ne di fa
ilitarne l'appli
azione; illustrare le attività delleistituzioni e il loro funzionamento; favorire l'a
esso ai servizi pubbli
i, promuovendone la
onos
enza; favorire pro
essi interni di sempli
azione delle pro
edure e di modernizzazionedegli apparati.2De
reto legislativo n. 82 del 7 marzo 2005, Codi
e dell'Amministrazione Digitale [11℄.Tale de
reto entrerà in vigore in data 1 gennaio 2006.3Il Dipartimento di Sistemi e Informati
a dell'Università di Firenze sta da tempo svol-gendo ri
er
he e sviluppando programmi riguardanti l'impiego di UML nel
ampo deido
umenti di requisiti software e dei brevetti.2
CAPITOLO 1. INTRODUZIONEdel professor van Engers e altri [50, 51℄ è mirato a sviluppare l'ese
uzione inmaniera automatizzata dell'estrazione e della modellazione delle informazionistrutturali e semanti
he di un testo normativo.Questa tesi è fo
alizzata sulla modellazione delle Leggi di Modi
a Te-stuale Espli
ita (dette an
he novelle) e delle variazioni
he esse apportanoad un determinato testo normativo, in modo da poter ri
ostruire in manieraautomati
a il
osiddetto testo
oordinato (ovvero l'interpretazione del testonormativo in a
ordo alle Modi
he Testuali Espli
ite appli
ate). Le te
ni-
he di estrazione dell'informazione nominate pre
edentemente fornis
ono dati(strutturali e semanti
i) su
ienti alla
reazione di varie istanze di modelliUML,
he, in questa tesi, sono impiegati per
ostruire e aggiornare la strut-tura del suddetto testo
oordinato, grazie all'appli
azione dei dati
ontenutinei modelli di una o più novelle.In denitiva,
on questo lavoro di tesi viene fornito un valido strumen-to a supporto della validazione e interpretazione dei testi di legge soggettia modi
he e degli atti normativi
he li retti
ano, orendo al
ontempoun'appli
azione delle informazioni estratte grazie alle te
ni
he NLP.Il presente lavoro di tesi sarà sviluppato in a
ordo alla seguente struttura:nel
apitolo su
essivo, viene illustrato l'attuale stato degli standard utilizzatiin questa tesi, introdu
endo prima il linguaggio UML e su
essivamente lete
nologie promosse dal progetto NormeinRete.I tool legati a questi standard e utilizzati in questo lavoro vengono des
rittinel
apitolo 3.Nel
apitolo 4 viene illustrata la teoria
he sta alla base di questa tesi:viene delimitato il
ampo di appli
azione alle Modi
he Testuali Espli
ite,delle quali si propone un modello UML, e vengono dettagliati i metodi e les
elte di modellazione.LexLooter, il prototipo realizzato nell'ambito di questa tesi,
he automa-tizza l'appli
azione della metodologia di modellazione proposta e la
ostru-zione del testo
oordinato, è analizzato e dis
usso nel
apitolo 5.3
CAPITOLO 1. INTRODUZIONEConsiderazioni nali e possibili sviluppi futuri di questo lavoro vengonoinne presentati nel
apitolo
on
lusivo.Le appendi
i sono dedi
ate ad al
uni approfondimenti te
ni
i: i diagram-mi degli oggetti, essendo il prin
ipale formalismo di modellazione utilizzatoin questo lavoro di tesi, sono esaminati in maniera dettagliata nell'appendi-
e A; l'appendi
e su
essiva elen
a e des
rive brevemente gli strumenti
hesono stati valutati per la realizzazione di questo lavoro. L'appendi
e C
om-menta le parti più signi
ative del
odi
e sorgente di LexLooter . Inne, l'ap-pendi
e D fornis
e un aiuto all'installazione e una guida alla
omprensionedei messaggi di errore di LexLooter. 4
CAPITOLO 2 Stato dell'arte e standard utilizzatiIn questo
apitolo verrà presentato lo stato degli standard utilizzati nel pre-sente lavoro di tesi: la sezione 2.1 ruota attorno ad UML, linguaggio di mo-dellazione utilizzato per rappresentare la struttura dei do
umenti analizzati;la sezione 2.2 presenta lo stato del progetto NormeinRete,
he ha tra i suois
opi l'analisi e la mar
atura delle informazioni dei do
umenti legislativi.2.1 UMLIl linguaggio UML è il
ardine del presente lavoro di tesi: ne rappresenta infattila te
nologia per il salvataggio, la manipolazione e la visualizzazione dei datiestratti dai do
umenti normativi oggetto dell'analisi.Questo
apitolo ha lo s
opo prin
ipale di fornire al lettore le
onos
enzeminime per
omprendere questa notazione gra
a, in modo da poter inter-pretare
on
etti, strutture dati e diagrammi presenti nel su
essivo sviluppodel presente lavoro. Ha an
he l'obiettivo di illustrare le
aratteristi
he e lepotenzialità di UML,
he in questo lavoro sono state sfruttate solo per al
uniaspetti, ma
he permettono di immaginare e progettare sviluppi futuri e nuo-ve possibilità di appli
azione nel
ampo della do
umentazione giuridi
a (siveda il
apitolo
on
lusivo). Per
iò si presentano i motivi
he hanno portato5
CAPITOLO 2. STATO DELL'ARTE E STANDARD UTILIZZATIalla
reazione di UML, i vari tipi di diagrammi supportati e i me
anismi perestendere la notazione standard.Verranno introdotti an
he gli standard XML, XMI e XSL,
he
onsentonola trasformazione dei dati UML in una rappresentazione testuale, la qualepermette il salvataggio dei modelli e la loro eventuale esportazione versoaltri strumenti o altri formati.2.1.1 Caratteristi
he e storiaIl Linguaggio di modellazione uni
ato (UML, Unied Modeling Language)è prin
ipalmente usato per la progettazione, la des
rizione, la visualizzazione,la do
umentazione e l'analisi di sistemi informati
i [49℄: lo si può quasi
onsi-derare
ome il linguaggio per le
omuni
azioni te
ni
he fra i vari reparti e levarie persone
he ruotano attorno alla realizzazione di un software (analisi,progettazione, implementazione, test. . . ), oltre al
ommittente del prodottostesso. UML è una ra
olta dei migliori metodi di ingegnerizzazione
he hannodimostrato sul
ampo la loro e
a
ia nella modellazione di sistemi estesi e
omplessi.Inoltre, l'utilizzo di UML si sta diondendo in ulteriori ambiti e sta aiu-tando l'informati
a a fornire strumenti in molti altri settori: questo lavoro ditesi ne vuole essere un esempio.UML è nato per:
• fornire una spe
i
a uni
a,
omune e ampiamente diusa per un lin-guaggio di modellazione sempli
e ed espressivo, in modo
he possa es-sere usato sia da ingegneri e programmatori ma an
he
ompreso da
hi non possiede
onos
enze te
ni
he spe
ialisti
he (molto spesso, il
ommittente di un progetto);
• permettere ulteriori sviluppi, attraverso me
anismi di estensione in-trinse
hi a UML stesso (
he verranno presentati nella sezione 2.1.4);
• essere indipendente dal linguaggio di programmazione usato per l'im-plementazione; 6
CAPITOLO 2. STATO DELL'ARTE E STANDARD UTILIZZATI
• denire un linguaggio di modellazione, non un pro
esso di ingegneriz-zazione, in modo da potersi adattare a realtà di qualsiasi grandezza enatura.L'esistenza di un linguaggio formale, oltre a delle metodologie
onsolidate,per la des
rizione e la gestione di un progetto può sembrare una
osa s
ontataper i non addetti ai lavori: se si pensa alla realizzazione di un'opera edileo uno strumento me
ani
o o un apparato elettroni
o, vengono subito allamente vari s
hemi di più o meno immediata
omprensione (la piantina diun edi
io, lo s
hema elettri
o in appendi
e al manuale di un televisore, oaltri inniti esempi) ma
he
ertamente sono basati su regole standardizzatea livello internazionale (infatti possiamo essere si
uri
he un qualsiasi te
ni
osappia interpretare lo s
hema e riparare un televisore).Una standardizzazione
osì forte non è stata an
ora raggiunta in ambitoinformati
o. Già prima della ne degli anni '80 del se
olo s
orso era sentita lane
essità di uni
are non solo la notazione ma an
he la metodologia
on
uigestire il
i
lo di sviluppo del software. Erano appro
i orientati agli ogget-ti (indi
ati
on OO, Obje
t Oriented): nel progetto vengono identi
ati glioggetti
he
ompongono il sistema,
on propri dati e
ompetenze, e le loro in-terrelazioni; se
ondo questa visione si progetta e si realizza il sistema. Si parlainfatti di analisi orientata agli oggetti (OOA, Obje
t Oriented Analysis), diprogettazione orientata agli oggetti (OOD, Obje
t Oriented Design) e di pro-grammazione orientata agli oggetti (OOP, Obje
t Oriented Programming). Ilnumero di queste metodologie
rebbe no al 1994, quando ne potevano essereelen
ate più di 50;
i si riferis
e spesso a questo periodo
ome alla guerradei metodi. I
on
etti basilari erano molto simili fra loro ma le notazionigra
he potevano dierire notevolmente; al
ontrario, dal mondo industrialeerano ri
hiesti standard ben deniti e a
ettati, per aumentare la qualità ediminuire i
osti.Tra il 1994 e il 1995, tre degli autori dei vari metodi si unirono per
o-min
iare lo sviluppo di quello
he sarebbe diventato UML: Grady Boo
h, JimRumbaugh e Ivar Ja
obson, indi
ati spessissimo
on l'appellativo di los tres7
CAPITOLO 2. STATO DELL'ARTE E STANDARD UTILIZZATIamigos. Il loro lavoro venne seguito dalla
omunità degli utenti delle metodo-logie obje
t oriented e su
essivamente dalle industrie
he avevano
omin
iatoa
onsiderare UML un elemento fondamentale per il loro business.La
ollaborazione tra molte delle grandi aziende informati
he (in
luse Ra-tional, di
ui fa
evano parte los tres amigos, Digital Equipment, HP, i-Logix,IntelliCorp, IBM, I
on Computing, MCI Systemhouse, Mi
rosoft, Ora
le, TIe Unisys) produsse la versione 1.0 di UML nel gennaio del 1997,
he venneproposta a OMG an
hé venisse adottata
ome standard.L'OMG (Obje
t Management Group) è un'organizzazione no-prot, fon-data nel 1989,
he nel
ampo dell'industria informati
a produ
e e aggiornaspe
i
he per l'interoperabilità degli appli
ativi. Ad esso parte
ipano mol-te delle
ompagnie informati
he, sia grandi medie o pi
ole,
he formanol'odierno mer
ato mondiale [41℄.Dal 1997 a oggi, UML è passato attraverso varie revisioni
he l'hannoportato alla versione 1.5 del 2003, ma la più diusa e
onos
iuta appareessere la 1.4, probabilmente per il fatto
he è stata ri
onos
iuta
ome standardISO/IEC1; mentre è in fase di approvazione la versione 2.0. Al momento in
ui viene s
ritto il presente do
umento (agosto 2005), delle quattro parti
hedo
umentano questa nuova versione solo una ha
ompletato il pro
esso diadozione:
• la spe
i
a di sovrastruttura [37℄, in
ui vengono des
ritti i vari tipi didiagrammi e gli elementi
he li
ompongono (
ioè le parti
he visiva-mente si possono in
ontrare usando uno strumento di modellazione);le altre tre sezioni (quasi adottate) sono:
• la spe
i
a di infrastruttura [36℄,
he elen
a e illustra tutti i
ostruttilinguisti
i fondamentali
he
ompongono la notazione di UML (questodo
umento e il pre
edente fornis
ono insieme la spe
i
a
ompleta diUML 2.0);1La versione 1.4.2 di UML è stata pubbli
ata
ome standard internazionale ISO/IEC19501 [25℄. 8
CAPITOLO 2. STATO DELL'ARTE E STANDARD UTILIZZATI
• la spe
i
a del linguaggio di denizione dei vin
oli (OCL, Obje
t Con-straint Language [39℄),
he formalizza la modalità per inserire pre
on-dizioni e post
ondizioni, invarianti e altri vin
oli ai vari elementi dellinguaggio;
• la spe
i
a dell'inters
ambio di diagrammi [38℄,
he permette lo s
ambiodi modelli tra dierenti strumenti di modellazione grazie al salvataggiodelle informazioni gra
he (ad esempio: la posizione degli elementi).Questo pro
esso, a
ui hanno preso parte molti attori
on i loro interessi e
on le loro te
nologie pre
edentemente sviluppate, ha portato alla
reazionedi una notazione gra
a adattabile a molti
ontesti e
on moltepli
i
apa
itàespressive, la quale è diventata uno standard de fa
to, nel senso
he è
ono-s
iuta e utilizzata a livello mondiale da moltissime so
ietà (OMG ne ra
ogliepiù di sette
ento).Per
ontro, UML non ha denito una metodologia standardizzata (
he
aratterizzava fortemente le prime proposte), anzi al
uni dei diagrammi nonsono strettamente legati ad una visione Obje
t Oriented e possono essereusati al di fuori di essa; questo a
ausa dei numerosi
ompromessi ne
essariper far
oesistere le diverse notazioni proposte dai
omponenti dell'OMG.Per maggiore
hiarezza si può aermare
he:
• una metodologia denis
e le fasi del
i
lo di sviluppo e le regole ditransizione da una fase ad un'altra;
• una metodologia usa una notazione (possibilmente gra
a)
onsona arappresentare per ogni fase la des
rizione del sistema sotto sviluppo;
• possono essere realizzati degli strumenti di supporto alla metodologia,quali: editor gra
i per le notazioni utilizzate; strumenti di ausilio per le transizioni da una fase all'altra dellosviluppo,
osì
ome denite dalla predetta metodologia.9
CAPITOLO 2. STATO DELL'ARTE E STANDARD UTILIZZATIIn denitiva
i troviamo
on una notazione
ostituita da un insieme di dia-grammi
he permettono di visualizzare, spe
i
are,
ostruire, do
umentareun qualsiasi artefatto ingegneristi
o ed in parti
olare un progetto software.L'approvazione denitiva di UML 2.0 è attesa entro la ne del 2005, seb-bene nella homepage di UML [49℄ questa versione sia già indi
ata
ome u-
iale2. Le possibili
onseguenze derivanti dall'adozione da parte del mer
atodi una te
nologia appena aggiornata (o addirittura in fase di aggiornamento)saranno dis
usse nel
apitolo 3.1.I bene
i attesi dalla versione 2.0 non riguardano solo l'introduzione dinuovi gra
i (des
ritti nel prossimo
apitolo), ma an
he una riduzione della
omplessità del linguaggio e un ranamento delle sue
apa
ità di pre
isio-ne des
rittiva,
on il ne di migliorarne l'appli
azione e l'implementazione,oltre ad un miglior supporto ad eventuali personalizzazioni per ambiti piùspe
ializzati.Grazie alla spe
i
a di inters
ambio dei diagrammi, il linguaggio verràdotato della possibilità di salvare e
ondividere i dati gra
i,
ioè quelli ri-guardanti la presentazione del modello, oltre alla struttura del modello stesso.In prati
a, oltre alle informazioni su quali elementi e relazioni
ompongono ilsistema in esame, sono salvate an
he quelle su
ome i suddetti elementi sonomostrati sullo s
hermo o stampati.2.1.2 I diagrammi di UML 2.0I diagrammi UML sono dei gra
i
he des
rivono formalmente il sistema
on-siderato; ognuno di essi, oltre a proprie regole, ha an
he una propria se-manti
a
he lo rende adatto alla modellazione di una parti
olare prospettivadell'oggetto des
ritto: la sua struttura, oppure il suo
omportamento, o i2Nella pagina dello stesso sito Catalog of OMG Modeling and Metadata Spe
i
ation,viene indi
ata
ome versione attuale la 1.5. Sembra un'in
ongruenza, ma in una nota nellahomepage, la stessa OMG
hiaris
e
he la versione 2.0 verrà inserita
ome u
iale nel
atalogo quando la spe
i
a di sovrastruttura (già adottata) avrà terminato la revisionetipogra
a; nella stessa nota, OMG ribadis
e an
he
he quella spe
i
a, avendo terminatoil pro
esso di approvazione, non subirà modi
he sostanziali.10
CAPITOLO 2. STATO DELL'ARTE E STANDARD UTILIZZATImodi di interazione
on altri sistemi, o le
omuni
azioni interne fra i propri
omponenti.Come indi
ato nel do
umento di spe
i
a della sovrastruttura di UML 2.0[37℄, sono disponibili tredi
i dierenti diagrammi (ben quattro in più rispettoalla versione 1.5) raggruppabili in tre
ategorie (
fr. la gura 2.1):
• I Diagrammi di struttura (Stru
ture diagrams) di un sistemaillustrano la struttura, gli elementi e le loro relazioni, senza
onsiderareeventuali mutamenti nel
orso del tempo;
omprendono i diagrammidelle
lassi, degli oggetti, dei
omponenti, delle strutture
omposte, didislo
amento e dei pa
kage.
• I Diagrammi di
omportamento (Behavior diagrams) mostranole
aratteristi
he di
omportamento e di evoluzione di un sistema o diun pro
esso;
omprendono i diagrammi dei
asi d'uso, delle attività edelle ma
hine a stati, oltre ai quattro diagrammi di interazione.
• I Diagrammi di interazione (Intera
tion diagrams)
ostituis
o-no un sottoinsieme dei diagrammi di
omportamento, sono fo
alizzatisul modo di relazionarsi, di
omuni
are e di lavorare tra gli ogget-ti;
omprendono i diagrammi delle
omuni
azioni, di interazione, dellesequenze e di temporizzazione.Queste sono delle brevi des
rizioni dei vari diagrammi3:
• Il Diagramma delle
lassi (Class Diagram) mostra l'insieme de-gli elementi (
on gli attributi e i metodi
ontenuti)
he
ompongo-no un sistema e le relazioni
he li legano (spe
ializzazioni, asso
ia-zioni, dipendenze. . . ); una des
rizione dettagliata verrà fornita nellasezione 2.1.5.3Des
rizioni più approfondite e modi di utilizzo possono essere trovati su molte risorse,sia
arta
ee, ad esempio [21, 52℄, sia telemati
he [3℄.11
CAPITOLO2.STATODELL'ARTEESTANDARDUTILIZZATIFigura 2.1: Gerar
hia dei diagrammi di UML 2.0 (tratta dall'appendi
e A di [37℄).12
CAPITOLO 2. STATO DELL'ARTE E STANDARD UTILIZZATI
• Il Diagramma degli oggetti (Obje
t Diagram) fotografa ad un
erto punto del tempo la struttura istanziata di un dato sistema pre-
edentemente modellato da un diagramma delle
lassi o delle
omu-ni
azioni; a
ausa del suo esteso utilizzo in questo lavoro di tesi, èdis
usso ampiamente nel
apitolo 2.1.6 e nell'appendi
e A. (Introdottoin UML 2.0).
• Il Diagramma dei
omponenti (Component Diagram) di unqualsiasi sistema (un'appli
azione, un'organizzazione. . . ) mostra gli ef-fettivi
omponenti, ponendo l'a
ento sulle loro interrelazioni e sulleloro interfa
e pubbli
he.
• Il Diagramma delle strutture
omposte (Composite Stru
tureDiagram) ragura la struttura interna di un
lassi
atore (una
lasse,ma an
he un
omponente o un
aso d'uso, et
.), evidenziando i puntidi interazione
on le altre parti del sistema (introdotto in UML 2.0).
• Il Diagramma di dislo
amento o di allo
azione (DeploymentDiagram) mostra l'ar
hitettura di funzionamento del sistema,
ioèmostra la
ongurazione dell'hardware
on il software installato suivari nodi e il middleware (
ioè un insieme di appli
ativi
he fanno da
ollante a programmi già esistenti, permettendone la
omuni
azione)
he permette le inter
onnessioni tra i vari nodi.
• Il Diagramma dei pa
kage (Pa
kage Diagram) evidenzia
ome glielementi del modello siano organizzati in gruppi, detti appunto pa
kage(la gura 5.11 a pagina 89 ne rappresenta un esempio; introdotto inUML 2.0).
• Il Diagramma dei
asi d'uso (Use Case Diagram) elen
a i modi
on
ui il sistema è a
essibile dall'esterno e gli attori
he interagis
ono
on esso; gli elementi des
ritti sono le funzionalità del sistema, e non
orrispondono ne
essariamente
on le
lassi o i pa
kage.13
CAPITOLO 2. STATO DELL'ARTE E STANDARD UTILIZZATI
• Il Diagramma delle attività (A
tivity Diagram) ragura pro
essilavorativi di alto livello,
on i loro ussi di dati oltre
he di operazioni,e permette l'analisi dei
asi d'uso e la modellazione di pro
essi paralleli.
• Il Diagramma delle ma
hine a stati (State Ma
hine Diagram)è
ostituito dagli stati, in
ui si può trovare un sistema o una suasottoparte, e dalle transizioni tra essi (in UML 1.x era denominatoState
hart Diagram o State-Transition Diagram).
• IlDiagramma delle sequenze (Sequen
e Diagram) indi
a l'ordinetemporale dei messaggi s
ambiati tra
lassi
atori.
• Il Diagramma delle
omuni
azioni (Communi
ation Diagram)mostra le relazioni e il usso di messaggi
he inter
orrono tra le istanzedelle
lassi del sistema, evidenziando l'organizzazione strutturale deglielementi durante la loro
omuni
azione. (in UML 1.x era denominatoDiagramma delle
ollaborazioni, Collaboration Diagram).
• Il Diagramma di interazione (Intera
tion Overview Diagram)rappresenta il usso di
ontrollo interno ad un sistema; ogni elemen-to può a sua volta
ostituire un ulteriore diagramma di interazione(introdotto in UML 2.0).
• Il Diagramma di temporizzazione (Timing Diagram) pre
isa
ome lo stato di un'istanza di un
lassi
atore può
ambiare nel tempo(introdotto in UML 2.0).Il lavoro svolto è basato fortemente sui diagrammi delle
lassi e i diagram-mi degli oggetti. I primi hanno permesso la modellazione della struttura deido
umenti legislativi, formalizzando i legami tra arti
olato, arti
oli,
ommi,elementi testuali, riferimenti ad altre leggi, et
. (si veda la sezione 4.1.2 perla trattazione esaustiva); i se
ondi (esattamente
ome di
e la loro denizio-ne) sono stati usati per istanziare gli elementi
ostituenti un determinato14