An interdisciplinary virtual laboratory on nanoscience M. Guggisberg, P. Fornaro, T. Gyalog, H. Burkhart Future Generation Computer Systems 19 (2003) 133 141
Motivazione (1) Le nanotecnologie sono un settore di ricerca attuale e in piena espansione. Sia a livello di ricerca industriale che universitaria, molti laboratori hanno abbandonato la microscopia tradizionale per occuparsi di SPM (Scanning Probe Microscopy) e AFM (Atomic Force Microscopy). Questi strumenti sono spesso molto costosi e molto difficili da usare (imparare richiede molto tempo!) e soltanto i lab di nanoscienze delle grandi compagnie industriali possono permettersi di acquistarli e di farne uso per i loro progetti di ricerca.
Motivazione (2) Proprio per questi motivi, molto spesso è difficile poter mettere queste apparecchiature a disposizione degli studenti universitari per esercitazioni. Oggigiorno l enorme sviluppo delle tecnologie informatiche e insieme la crescita esponenziale del numero di computer connessi fra loro tramite Internet e la proliferazione dei servizi web (ecommerce, e-government, e-health ) hanno messo a disposizione nuovi strumenti per l apprendimento a distanza (distance-learning o e-learning).
Goal Questo paper descrive i risultati ottenuti nell ambito del progetto Nanoworld, uno dei 52 progetti che fanno parte del programma Swiss Virtual Campus (SWC). L obiettivo del SWC è sviluppare strumenti di supporto all insegnamento universitario innovativi, attraverso l integrazione di moduli di e-learning all interno dei curricula tradizionali di varie università svizzere. Nanoworld si propone di realizzare un Laboratorio Virtuale di Nanoscienze che possa essere condiviso e utilizzato da una comunità distribuita di utenti attraverso internet, per superare gli ostacoli prima illustrati.
Cos è un laboratorio virtuale? Laboratorio virtuale è un termine utilizzato in letteratura per indicare: - Simulazione di una infrastruttura di laboratorio - Controllo remoto e osservazione di uno strumento reale Nanoworld si sviluppa in entrambe le direzioni: attraverso gli esperimenti simulati gli studenti imparano i primi rudimenti delle nanoscienze e collaborano fra loro; attraverso il controllo remoto posso convalidare le conoscenze apprese nella prima fase. Inoltre il secondo modulo può rappresentare un attrattiva interessante anche per altri scienziati che per motivi puramente economici non possono avere accesso a tali strumenti. In questo ambito le e-grids si propongono come una piattaforma che supporta il cooperative-working attraverso l uso di architetture distribuite. Nanoworld può essere visto come un primo passo fatto nella direzione dello sviluppo di una nanoscience grid.
Architettura di base (1) Architettura client-server. Gli utenti sono connessi via internet al server del laboratorio virtuale, dove girano i diversi servizi disponibili per la simulazione degli esperimenti. Una applicazione client-side presenta una vista del laboratorio e permette l interazione con altri studenti o tutors per mezzo dell applicazione server-side.
Architettura di base (2) User categories Client-side application Virtual Classroom Core Virtual Laboratory Data repositories
Architettura di base (3) User management - Esistono diversi gruppi di utenti con diversi privilegi. - Le informazioni sugli utenti sono registrate in un database, utilizzato anche per scopi di autenticazione. Communication and Cooperation - Gli studenti che partecipano ad uno stesso esperimento possono comunicare via chat e possibilmente tramite audio e video. - I dati misurati sono visibili a tutti gli studenti contemporaneamente, così come qualsiasi modifica apportata ai parametri di un esperimento da uno studente è inviata simultaneamente in broadcast a tutti gli altri. Control of the experiments - E possibile modificare tutti i parametri fisici dell esperimento, monitorarne l andamento e i risultati, a diversi livelli di dettaglio e di complicazione per lo studente.
Virtual experiment framework Esecuzione della simulazione Framework basato su un modello object-oriented gli oggetti sono flessibili e programmati per essere riutilizzabili in diverse tipologie di esperimenti. Invia a tutti i client Supporta la cooperazione connessi il flusso fra gli di dati utenti. proveniente dal sim Supporta l esecuzione e il monitoraggio dell esperimento. La comunicazione Gestisce fra le i client richieste e il e communication verifica layer avviene gli accessi; organizza le connessioni e attraverso una linguaggio interpretato apre i canali di completamente estendibile. comunicazione fra gli utenti. Incapsula la gestione del simulatore
Multi-user interactive friction force microscope simulator Ogni componente è stata implementato come una classe JAVA. Un ruolo fondamentale è attribuito al simulator control, componente responsabile del processo di inizializzazione del lab virtuale e del flusso di messaggi attraverso gli altri componenti. Vediamo un esempio di codice che illustra la fase di inizializzazione.
Esempio di codice Vengono avviati e inizializzati il simulatore, l InformationStreamFork, lo user data e anche un demon il cui compito è verificare periodicamente tutte le connessioni client-server e terminare quelle interrotte. Infine, vengono aggiunti alcuni comandi alla hash-table dei comandi e viene avviato l interprete.
Remote control AFM Physical layer che contiene l esperimento vero e proprio (strumento + controller HW) Lab View: sw commerciale largamente utilizzato nelle nanoscienze per guidare e controllare esperimenti Traduce i comandi dalla GUI in comandi specifici per l EasyAFM che sono inviati tramite un output seriale direttamente al modulo di controllo HW.
Sviluppi futuri Introdurre un layer di comunicazione nel controllo remoto dell AFM per supportare il controllo cooperativo dello strumento da parte di più utenti. Tradurre LabView in codice JAVA. Aggiungere nuove tipologie di esperimenti virtuali (es. exp di elettrochimica). www.nano-world.org