162
Conclusioni
La tesi ha affrontato le problematiche di realizzazione di applicazioni ad alte prestazioni, in ambienti fortemente dinamici, eterogenei, distribuiti e pervasivi (Pervasive Grid), i quali comportano la necessità di sviluppare applicazioni in grado di adattarsi al contesto ambientale in continuo cambiamento. La Context Awareness solleva l’esigenza di rendere sensibile una computazione parallela ai dati sul contesto, che possono comportare la necessità di riconfigurare il calcolo. Questo richiede la gestione dei dati ottenuti da sensori, servizi, interfacce di contesto, per fornire alle applicazioni una rappresentazione dell’ambiente in base alla quale possono adattarsi. Nella tesi sono state classificate due forme di riconfigurazione: quella delle funzioni, che comporta la capacità di moduli o componenti di sostituire in parte l’implementazione delle loro funzionalità, al fine di adottarne una preferita nel nuovo contesto ambientale; esistono inoltre riconfigurazioni non funzionali, che realizzano, tra l’altro, la modifica del grado di parallelismo delle computazioni, per adattare le prestazioni ad un nuovo evento relativo al contesto.
I problemi enunciati sopra sono stati affrontati analizzando in modo informale un esempio di applicazione, che necessita di meccanismi di Context Awareness. L’esempio formulato è un sistema per la gestione delle emergenze, relativo alle inondazioni, che rispecchia il tipico scenario del progetto FIRB INSYEME [4]. Nel quarto capitolo è stata introdotta una strutturazione generale a componenti dell’esempio, per realizzare la gestione dei dati di contesto e l’adattività conseguente. Nel quinto capitolo, questa strutturazione generale è stata applicata al modello di programmazione parallelo di ASSIST [8, 9], proponendo una nuova composizione del costrutto PARMOD, che preveda in aggiunta un manager dell’adattività (Adaptation Manager). Il modello ASSIST, esteso con gli aspetti di Context Awareness, viene definito con il nome di ASSISTANT.
Nel sesto capitolo, infine, sono state sviluppate due emulazioni del modello ASSISTANT, utilizzando gli strumenti offerti dalla versione attuale di ASSIST. E’ stato presentato un piccolo esempio di applicazione parallela adattiva e, mediante risultati sperimentali, sono state valutate le emulazioni, i loro limiti e la necessità d’implementare i meccanismi esposti. Nell’ottica del progetto INSYEME, l’obiettivo nel futuro sarà quello di realizzare concretamente il modello illustrato nella tesi, realizzando un PARMOD completamente adattivo. I prossimi sviluppi consentiranno di far eseguire ai processori virtuali codice sequenziale fornito dinamicamente mediante plug-in, di modificare a tempo
163 d’esecuzione le modalità di distribuzione degli input e raccolta degli output, e di formalizzare il linguaggio per definire politiche d’adattività, che consentano agli utenti di programmare i manager e definire, staticamente o a run-time, i processi di riconfigurazione ed adattività delle applicazioni ad alte prestazioni.