Concetti basati sulla programmazione mobile e distribuita
I paradigmi emergenti in informatica, ad esempio 'informatica globale' e 'ambiente intelligente', lasciano intravedere scenari in cui una serie di dispositivi mobili pubblici e privati potranno superare i confini dei domini e delle reti. Una massiccia struttura formata da oggetti estremamente diversi e interconnessi potrà supportare servizi uniformi con garanzie variabili di comunicazione e mobilità, oltre che di uso delle risorse e sicurezza. Nell'ambito dell'iniziativa Tecnologie future ed emergenti, il progetto MIKADO ha voluto vincere le sfide poste da questo ambiente di lavoro e superare l'inadeguatezza del middleware e degli attuali linguaggi di programmazione, che, in particolare, tendono a fornire un raggio limitato d'interazioni e hanno una visione limitata dei componenti e degli oggetti. E, cosa molto importante, non possono essere impiegati in indagini rigorose di validazione e test. Sviluppare modelli formali per le specifiche e la programmazione di sistemi distribuiti mobili a grande scala era appunto uno degli obiettivi principali dei partner del progetto MIKADO. Per gettare le basi necessarie a superare gli attuali limiti di programmazione globale, sono stati esaminati vari modelli di codice esplicito e di distribuzione e migrazione informatica. Ci si è concentrati sui modelli di dominio informatico con membrane programmabili e si è cercato di unificare i differenti calcoli in un modello centrale formale per la programmazione simultanea e orientata agli oggetti. Sviluppando ulteriormente il recente lavoro sui sistemi per linguaggi orientati agli oggetti e calcoli di processi distribuiti, sono poi state proposte specifiche e tecniche di analisi per il nuovo modello di programmazione, che vanno dalle tecniche di analisi statica e dei sistemi per definire i limiti di concorrenza e accesso alle risorse alle tecniche di prova per garantire la conformità dei codici mobili con le specifiche predefinite. Queste ultime hanno richiesto nuove tecniche coinduttive per confrontare il comportamento distribuito dei sistemi con la logica delle nuove specifiche che esprimono viste parziali dei paradigmi di programmazione. Un software generale comune destinato a supportare l'implementazione di calcoli di processi distribuiti non dovrebbe limitarsi a un pacchetto fisso di primitive di comunicazione. Il quadro IMC (Implementing Mobile Calculi), reperibile, con tutti i suoi principali risultati, sul sito del progetto MIKADO, è abbastanza flessibile da supportare vari protocolli, anche personalizzati, di comunicazione.