Linguaggio avanzato di programmazione per l'informatica globale
La ricerca per l'informatica globale si concentra sulla creazione di sistemi informatici generici in grado di soddisfare e superare le esigenze di un mondo distribuito. Le tecniche d'informatica globale messe a punto hanno potenziali utili applicazioni in vari settori, inclusi servizi web, ambienti intelligenti o grandi reti. Indipendentemente dall'ambito applicativo, la disponibilità globale d'infrastrutture di calcolo può essere fruttata per offrire servizi uniformi per un calcolo sicuro, mobile e ubiquo. Per contribuire allo sviluppo dell'informatica globale, il progetto MIKADO ha definito e prodotto prototipi di nuovi modelli formali per la programmazione d'innovativi sistemi estremamente distribuiti e mobili. Sono state inoltre introdotte nuove specifiche e tecniche di analisi che migliorano la sicurezza e l'affidabilità dei sistemi informatici. Il tutto è stato sviluppato nell'ottica di un dominio per il calcolo affidabile, distribuito e mobile. L'elemento dominio ha inoltre rappresentato la base matematica di uno standard sicuro per il calcolo distribuito nei sistemi aperti. Uno dei principali risultati del progetto ha interessato KLAIM (Kernel Language for Agents Interaction and Mobility), un linguaggio sperimentale d'informatica globale che rappresenta un paradigma unico per spostare i processi, ad esempio i dati, da un ambiente informatico a un altro, e supporta la programmazione con località esplicite. Include un modello di coordinazione LINDA con vari spazi tuple (ennupli) distribuiti, cioè multiserie di sequenze di informazioni e una serie di operatori per costruire i processi. Al di sopra del sistema operativo, sviluppato in Java per ragioni di portabilità, è stato implementato X-KLAIM, un linguaggio di programmazione completo basato su KLAIM. X-KLAIM combina la capacità di programmare differenti applicazioni distribuite con la mobilità di agenti e codici e con la possibilità di girare su piattaforme differenti grazie alla sua compilazione in Java. Il linguaggio permette lo scambio di dati e processi e la programmazione di agenti mobili per ritrovare le informazioni in rete. Per maggiori informazioni sul progetto: http://mikado.di.fc.ul.pt/