Indice
Introduzione 1
1 I Paesaggi d’Informazione 3
1.1 Il progetto IL del laboratorio PERCRO . . . . 5
1.1.1 Organizzazione dei dati . . . . 6
1.1.2 Architettura del sistema . . . . 7
1.1.3 Dispositivi di ingresso . . . . 7
1.1.4 Navigazione nel paesaggio . . . . 8
1.1.5 Editor di paesaggi . . . . 11
1.2 Alcuni Paesaggi d’Informazione . . . . 12
1.2.1 3D Visualization Project . . . . 12
1.2.2 Harmony Internet Browser . . . . 14
1.3 Un sistema di visualizzazione per ambienti tridimensionali . . 16
2 Descrizione del Sistema 20 2.1 Ricerche esplorative . . . . 20
2.2 Navigazione dei risultati . . . . 21
2.2.1 Strutturazione semantica dei risultati . . . . 22
2.2.2 Contestualit`a dei risultati . . . . 23
2.2.3 Gli strumenti implementati . . . . 24
2.2.4 L’alternativa Scatter—Gather . . . . 24
2.3 Restyling 3D dell’interfaccia di IL . . . . 27
2.3.1 Un supporto per l’utente . . . . 28
2.4 Problemi di rappresentazione 3D . . . . 28
2.5 Sistemi di visualizzazione alternativi . . . . 29
2.5.1 Viste globali del NIST . . . . 29
2.5.2 Il prototipo NIRVE . . . . 30
2.5.3 CNAM Digital library . . . . 32
3 Architettura 35
3.1 Il sistema preesistente . . . . 35
3.2 Scelte tecniche . . . . 38
3.2.1 XML . . . . 38
3.2.2 Javascript . . . . 41
3.3 Scripting di IL . . . . 41
3.4 Il formato ILX dei paesaggi informativi . . . . 44
3.4.1 Archiviazione del Paesaggio . . . . 45
3.4.2 Tipi Semplici . . . . 46
3.4.3 Attributi comuni . . . . 48
3.4.4 Elementi . . . . 49
3.5 Funzionalit`a di interfacciamento . . . . 55
3.5.1 Requisiti utente . . . . 55
3.5.2 Specifiche tecniche . . . . 56
3.5.3 Dipendenze funzionali . . . . 60
3.6 Funzionalit`a del motore di ricerca . . . . 64
3.6.1 Requisiti utente . . . . 64
3.6.2 Specifiche tecniche . . . . 65
3.6.3 Dipendenze funzionali . . . . 72
3.7 Integrazione modulare . . . . 74
3.8 Estensioni del sistema . . . . 76
4 Implementazione 78 4.1 Strumenti di sviluppo . . . . 78
4.1.1 Reingegnerizzazione di IL . . . . 80
4.2 Wrapping delle classi C++ in Javascript . . . . 80
4.2.1 Il modulo JSScript . . . . 82
4.2.2 Gli script in Javascript esterni . . . . 87
4.3 Il meccanismo di selezione . . . . 91
4.4 L’interfaccia utente 3D . . . . 92
4.4.1 La classe ILDynText . . . . 92
4.4.2 L’interfaccia EditBox . . . . 95
4.4.3 La classe EditBoxWin . . . . 96
4.4.4 Uso della classe PopupSite . . . . 97
4.5 Il motore di ricerca . . . 100
4.5.1 La classe ILSearch . . . 100
4.5.2 La classe ILSearchRecord . . . 103
4.5.3 La classe ILSearchList . . . 104
4.6 Navigazione di grandi collezioni di risultati . . . 105
4.7 Possibili estensioni future . . . 109
iv
5 Utilizzo del Sistema 110 5.1 L’ambiente di prova . . . 110 5.2 Caratteristiche delle ricerche . . . 112 5.3 Navigazione dei risultati ottenuti . . . 114
Conclusioni 116
Bibliografia 120
Elenco delle figure
1.1 Albero del Paesaggio Informativo . . . . 7
1.2 Esempio di pagina . . . . 8
1.3 Esempio di lod . . . . 9
1.4 Architettura del progetto IL . . . . 10
1.5 Uno space mouse . . . . 11
1.6 Esempio di link . . . . 12
1.7 Schermata dell’Editor . . . . 13
1.8 Feedback in 3D Viz . . . . 15
1.9 Rappresentazione del paesaggio in 3D Viz . . . . 16
1.10 Il modello dei dati Hyper-G . . . . 17
1.11 Location feedback nel browser Harmony . . . . 18
1.12 La mappa dei contenuti nel browser Harmony . . . . 18
1.13 La struttura di un CAVE . . . . 19
2.1 Il processo iterativo scatter—gather . . . . 25
2.2 Il paradigma documento a spirale . . . . 30
2.3 Il paradigma three-keywords axes . . . . 31
2.4 Il paradigma nearest neighbor . . . . 32
2.5 Visulaizzazione di concetti in NIRVE . . . . 33
2.6 CNAM Digital Library . . . . 34
3.1 Un esempio di paesaggio con l’albero corrispondente . . . . 37
3.2 Struttura dell’albero del paesaggio informativo . . . . 38
3.3 Esempio di PopupSite fisso . . . . 39
3.4 Esempio di men`u di contesto . . . . 40
3.5 Boa di navigazione . . . . 44
3.6 Gerarchia dei tipi nell’XML Schema . . . . 44
3.7 Decomposizione dell’albero su pi`u documenti ILX . . . . 46
3.8 Esempio di Axis Angle . . . . 47
3.9 Diagramma del documento ILX . . . . 50
3.10 Struttura di un sito . . . . 51
3.11 Diagramma della pagina . . . . 51
vi
3.12 Diagramma dell’elemento livello di dettaglio . . . . 52
3.13 Diagramma della generazione dei contenuti . . . . 54
3.14 Due finestre di popup . . . . 58
3.15 Un testo dinamico . . . . 59
3.16 Un modulo che rispetta l’information hiding . . . . 60
3.17 Dipendenze modulari dell’interfaccia con l’utente . . . . 62
3.18 Il diagramma di sequenza dell’inserimento delle parole dell’utente 63 3.19 Il diagramma di sequenza dell’aggiornamento dell’albero di IL 64 3.20 Una mappa interattiva del parco visualizzato . . . . 72
3.21 Dipendenze funzionali del motore di ricerca . . . . 73
3.22 Ricezione tramite wrapping delle parole dell’utente . . . . 74
3.23 Gli stati dell’algoritmo di ricerca . . . . 75
4.1 Schema di interazione tra C++ e Javascript . . . . 81
4.2 Selezione di un oggetto 3D . . . . 91
4.3 Diagramma delle classi dell’Edit Box di sistema . . . . 98
4.4 Diagramma delle classi del motore di ricerca . . . 106
5.1 Un esempio di rappresentazione di un film nel parco . . . 111
5.2 Presentazione degli oggetti del parco a cilindro con ‘pavimento’ 112 5.3 Inserimento delle parole da ricercare nel parco . . . 113
5.4 Navigazione dei risultati attraverso i link nella mappa . . . 115