next up previous contents
Next: Gli sviluppi futuri Up: I programmi sul Previous: Le immagini interattive

Applicazioni

 

Le tecniche e gli strumenti appena descritti sono stati utilizzati nella parte relativa all'esperimento virtuale. In fig 4.11 c'è la pagina iniziale dell'esperienza. Premendo il tasto su cui è scritto ACIDO ACETICO si ottiene un menù con 16 sostanze diverse tra le quali si può scegliere quella da far diffondere. Nelle tre caselle sottostanti si possono inserire valori di temperatura, di concentrazione della sostanza nel serbatoio inferiore dell'apparato e di tempo. Quest'ultimo è relativo all'intervallo fra le due misure di concentrazione della sostanza nel serbatoio superiore. Premendo ``RESET'' si riportano i dati ai valori che si presentano quando la pagina viene mostrata per la prima volta, premendo ``CONFERMA'' si inviano i dati al server. I dati vengono decodificati da uncgi [] e trasferiti ad un programma in C, che genera:

Tutti i files sono costruiti ``ad hoc'' in base ai dati in ingresso e vengono scritti dal cliente su un direttorio del server. Le immagini sono disegnate grazie al pacchetto gd e rappresentano le fasi cruciali dell'evoluzione dell'esperimento (inizio, prima misurazione, seconda misurazione). Dei 4 files html uno viene inviato al cliente appena terminata l'esecuzione del programma (fig 4.3) e contiene dati in ingresso e in uscita

Le altre pagine contengono le tre figure appena generate.

I tre files contenenti i valori delle concentrazioni verranno utilizzati in un secondo momento da un altro programma.

A questo punto, nella realizzazione pratica, si sono incontrati due problemi.

  1. Il cliente, nella propria memoria di accesso veloce, conserva i files di immagini. Chiamando per due volte nella stessa sessione due immagini con nomi uguali si otterrà inizialmente l'immagine caricata dal server, la seconda volta l'immagine caricata dalla memoria del cliente. Questo implica che se nel frattempo l'immagine che risiede sul server viene modificata il cliente non si accorgerà di ciò e continuerà a servire la stessa immagine.

  2. Il protocollo HTTP è stateless, cioè non esiste alcun tipo di relazione diretta fra due collegamenti anche se effettuati dallo stesso utente: il server tratta ogni richiesta in modo indipendente [29]. Nel caso in cui più utenti facciano girare un programma il server non è in grado di distinguere quelli creati da diversi utenti, e utilizzando certi sistemi, (ad es. sistema operativo UNIX) files con nomi uguali vengono sovrascritti. Nel corso dell'esperimento invece, a ogni passaggio si vuole mantenere la memoria di quanto ottenuto nei passaggi precedenti dallo stesso utente dato che si vogliono utilizzare files più volte in diversi momenti.

Per evitare che le immagini vadano nella memoria ad accesso veloce del cliente è possibile seguire questa tecnica [45]:

Attivando l'ancora si otterrà una pagina con l'immagine inclusa senza che questa venga memorizzata nella cache del cliente.

Comunque il problema è solubile anche facendo in modo che i disegni abbiano nomi diversi fra loro.

Per risolvere il secondo problema è sufficiente trovare una tecnica che permetta di rendere i files generati interattivamente, distinguibili per utente.

A questo scopo è opportuno dare a questi nomi distinti, legati all'utente. Come ``marcatore'' è possibile usare il PID (Process IDentifier) del processo che genera i files stessi. Questo numero viene poi comunicato ai processi successivi. Si procederà periodicamente a ``cancellare'' nella directory i files non più usati [45].

 
Figure 5.3:   Quarta slide: seconda condizione stazionaria e form per la scelta della figura sulla quale prelevare misure

Ciò che si è fatto quindi è stato creare i files con l'identificatore del processo incluso nel loro nome.

Premendo il tasto di conferma si inviano i dati al programma che li elabora e genera una pagina (fig 5.4) con una figura interattiva, alcune istruzioni, un'ancora e il file di configurazione associato alla figura che definisce

La URL di riferimento indirizza, per ogni zona, lo stesso programma. Quest'ultimo, precedentemente eseguito, aveva generato la pagina con appesa la variabile ambiente che contiene il numero della figura che si sta usando, l'identificatore del processo, della zona interessata e il numero associato all'esperimento il quale permette al programma che elabora i dati di riconoscere l'esperimento su cui si sta lavorando, consentendo dunque di riutilizzare lo stesso programma per diverse esperienze. Qui di seguito viene riportata una riga di esempio:

rect http://www.df.unibo.it:8000/cgi-ish/uncgi/passo .csh?NSL=3

&WHERE=149&PID=16055&INTEXP=1 132,131 140,131 cm

Il programma produce un file HTML contenente tutto quanto già presente sulla pagina precedente più i valori posizione-concentrazione relativi alla misurazione appena compiuta e una riga di commento contenente gli stessi.

Dopo n misure si avrà sullo schermo una sola coppia di valori, ma nel file html n righe di commento. Qui di seguito sono mostrati un file html e la sua interpretazione da Mosaic 2.6 (fig.5.4). Dal listato è possibile capire che sono state già effettuate 15 misure.

Terminata l'operazione di misura si può vedere un grafico dei valori raccolti. Premendo l'ancora ``Grafico'' infatti si manda in esecuzione un programma in linguaggio Fortran che, in base al PID, legge il corretto file html, scorre le linee di commento ed estrae i valori dalle stringhe. Con questi dati viene costruito il grafico, inserito poi in una pagina html dallo stesso programma (fig 5.5). Nella pagina compaiono anche una tabella dove sono riportate le misure compiute e alcune istruzioni che descrivono come caricare il file in formato ps del grafico sul disco locale per una eventuale stampa o per confronti. (fig. 5.6)

 
Figure 5.4:   Interpretazione del codice html della pag. precedente

 
Figure 5.5:   Grafico che riporta le misure di concentrazione alle diverse altezze (parte superiore della pagina con grafico e tabella)

 
Figure 5.6:   Tabella delle misure di concentrazione (parte inferiore della pagina con grafico e tabella)



next up previous contents
Next: Gli sviluppi futuri Up: I programmi sul Previous: Le immagini interattive



Cecilia
Fri Jul 28 10:21:50 DFT 1995