Presentazione della Tesi di Laurea Massimiliano de Leoni Titolo della Tesi: Progettazione e realizzazione di Tecniche per la gestione adattiva del Workflow per Reti Ad Hoc Relatore: ing. Massimo Mecella Sede: Università degli Studi di Roma La Sapienza - Dipartimento di Informatica e Sistemistica Inquadramento del Tema Trattato e del Lavoro Svolto La società degli ultimi tempi sta evolvendo verso scenari dominati dalla mobilità. C è stato un intenso sviluppo e diffusione di dispositivi mobili (PDA, smartphone, computer portatili, cellulari) con caratteristiche di connettività estremamente sofisticate e con prezzi sempre più accessibili. Il grande sviluppo di dispositivi mobili nasce dall esigenza di ottenere continuamente e in modo ubiquo l accesso ad uno o più sorgenti di informazione. Inoltre gli utenti si stanno dimostrando sempre più interessati a un ampia varietà di servizi, sia per motivi di svago che per ragioni più serie: e-commerce, e-learning e e-government. Tali basi tecnologiche permettono di costruire reti mobili ad-hoc (manet). Una rete mobile ad-hoc è costituita da dispositivi dotati di adattatori wireless che possono comunicare senza la presenza di un access point. Queste si differenziano dalle classiche reti wireless infrastructure-based dove, invece, sono previsti uno o più punti di accesso, tra loro connessi a formare una dorsale. In una manet ogni dispositivo funge sia da end-point per la trasmissione e la ricezione dei messaggi, sia da router inoltrando i pacchetti in transito verso la destinazione. Le reti mobili ad-hoc risultano particolarmente interessanti perché permettono a dispositivi dotati di adattatori wireless, di comunicare senza che sia prevista la presenza di una infrastruttura di rete. Le particolari caratteristiche rendono questo tipo di reti adatto ad innumerevoli campi di applicazione (settore militare, spedizioni archeologiche, missioni di soccorso, ecc... ) in cui occorre eseguire un lavoro di gruppo ma non è prevista una infrastruttura di rete pre-esistente. 1
Innovatività dei Risultati Ottenuti Le manet una tecnologia al di là dall essere matura. La maggior parte della ricerca per ora si è focalizzata sui protocolli di routing, tralasciando lo strato applicativo. Il lavoro sviluppato in questa tesi si è focalizzato sulla progettazione e la realizzazione di un sistema software di supporto per favorire la coordinazione di agenti che formano una manet e che eseguono un lavoro cooperativo per raggiungere un goal condiviso. Un possibile scenario è quello del disaster recovery in cui avviene un evento disastroso, naturale come un terremoto o un maremoto oppure artificiale come un attacco terroristico. Dopo il primo aiuto di tipo medicoassistenziale alle popolazioni coinvolte, ci si pone il problema di realizzare una stima dei danni degli edifici: allo scopo viene inviato sul campo un gruppo di lavoro per realizzare un lavoro cooperativo. Ogni elemento del gruppo è equipaggiato con un dispositivo mobile (PDA o laptop) di supporto all esecuzione dei compiti e si muove per eseguire le proprie attività. Il gruppo di lavoro è capeggiato da un leader, fornito di un dispositivo mobile più potente, il cui scopo è coordinare l intervento e fungere da repository delle informazioni. Il lavoro cooperativo è eseguito mediante Workflow Management System (WfMS), un sistema che definisce, gestisce ed esegue processi computerizzati, detti di workflow, attraverso dei prodotti software il cui ordine di esecuzione è guidato da una rappresentazione computerizzata della logica del processo. Un processo di workflow consiste di un certo numero di task che devono essere eseguiti, un insieme di variabili di stato manipolate dai task e un insieme di condizioni su tali variabili che possono determinare una selezione nella esecuzione tra due o più task. A volte alcuni task devono essere strettamente eseguiti in sequenza, altre volte possono essere eseguiti in parallelo o in un ordine arbitrario perché tra loro non c è una relazione di causalità. Tipicamente un WfMS richiede un continuo fitto interscambio di informazioni tra i dispositivi, cioè i nodi della rete. Tale scambio ovviamente può avvenire soltanto se i nodi sono continuamente interconnessi. Se lo scenario fosse quello di una rete wired oppure wireless infrastructed-based in cui i dispositivi difficilmente tendono a muoversi, non ci sarebbero problematiche da gestire poiché le disconnessioni sarebbero eventi alquanto rari. D altronde in commercio esistono già moltissime implementazioni commerciali di WfMS. Tuttavia negli scenari di missioni di soccorso o spedizioni archeologiche i dispositivi formano una manet e si muovono rapidamente per raggiungere i luoghi in cui eseguire le attività loro assegnate e quindi il numero di disconnessioni può essere alto. Una rete mobile ad-hoc, purtroppo, non garantisce la continua interconnessione tra i dispositivi che la formano, a causa della loro forte mobilità. La soluzione adottata in questa tesi è quella di assegnare, a partire da una 2
Picture Store Hit Area Operator Museum Precarious Bell-Tower Building Movement needed to accomplish the task Camera Bridge Church Team Leader Movement needed to maintain the network connectivity; should be adaptively driven by the cooperative application Figura 1: L idea del bridge predizione di possibili dispositivi che nel loro movimento si disconnettono dalla manet, ad opportuni bridge azioni correttive (come potrebbe essere segui il dispositivo ) per assicurare che i dispositivi a rischio non escano fuori dall intervallo della manet. I dispositivi che formano manet possono essere visti come nodi di un grafo e tra ogni coppia di nodi esiste un arco se i corrispondenti dispositivi sono nell intervallo radio. In una manet, come si è detto, grazie alla presenza di algoritmi di routing, due dispositivi possono comunicare se nel corrispondente grafo esiste un cammino tra i nodi. L idea che motiva la soluzione è che al fine di evitare la possibile disconnessione di un dispositivo, un secondo dispositivo si muove per seguire il primo per mantenere il grafo connesso. Consideriamo, ad esempio, lo scenario in figura: l attore Camera si muove verso la chiesa (Church) perché in quella zona deve effettuare un operazione (ad esempio una ricognizione dello stato della chiesa stessa). Se l azione di bridging non fosse prevista, il dispositivo di cui l attore è fornito si disconnetterebbe dal resto del team e quindi la cooperazione non sarebbe più possibile. Al fine di mantenere la connettività, un secondo attore, diciamo Bridge, lo segue in modo tale che l intera rete manet resti connessa. Infatti, il bridge è in grado di fare da router per inoltrare le richieste da e per Camera. In un contesto di WfMS, le azioni correttive di bridging possono essere viste come task che, pur non concorrendo direttamente al raggiungimento dell obiettivo del processo, sono di supporto all esecuzione di task primari 1 1 I task primari sono quelli definiti nello schema del processo di workflow. 3
che altrimenti non potrebbero essere portate a termine, pregiudicando l esecuzione dell intero workflow. Questi task di supporto devono essere aggiunte di volta in volta, quando necessario, in parallelo ad altre task in esecuzione. Il WfMS per manet deve quindi supportare una adattività dinamica dei processi (on-the-fly changes) in cui la definizione di una istanza di processo cambia perché è mutato qualche elemento nel contesto di esecuzione dello stesso (ad esempio la predizione di una disconnessione). Uno dei maggiori problemi degli attuali WfMS è la loro mancanza di supporto per l adattività dinamica delle istanze di processo al modificarsi delle condizioni circostanti. I sistemi di workflow adattivi dovrebbero aiutare a fornire supporto come i normali WfMS ed inoltre dovrebbero essere capaci di trattare certi cambiamenti. Pochi WfMS commerciali gestiscono l adattività e comunque quei pochi prodotti che permettono una minima adattività presuppongono l esistenza di un esperto che decide quali cambiamenti debbano essere applicati. Quindi non sono adatti a sistemi che necessitano per svariate ragioni di reazioni immediate a modifiche del contesto. Al contrario, non è ancora stato investigato come decidere automaticamente, prima se una istanza di workflow non è più adeguata e poi quali cambiamenti nell originale definizione di workflow devono essere applicati per riflettere al meglio la nuova situazione. Negli scenari in cui le MANET hanno maggiore applicabilità come quelli di missioni di soccorso, l assunzione di un esperto il cui unico scopo è gestire le disconnessioni non è accettabile; ragion per cui, il WfMS deve prevedere una adattività di tipo automatico. I problemi cruciali trattati nella tesi sono stati essenzialmente i seguenti: 1. Definire ed implementare una architettura pervasiva. Tale architettura è stata costruita al di sopra di un modulo che permette la comunicazione e il routing multi-hop dei pacchetti all interno di una MANET. 2. Fornire una implementazione di un algoritmo capace di predire le disconnessioni, adattando opportunamente quello descritto nel paper di F. De Rosa, A. Malizia, e M. Mecella, intitolato Disconnection Prediction in Mobile Ad hoc Networks for Supporting Cooperative Work e pubblicato dalla rivista IEEE Pervasive Computing, Vol. 4, N. 3, 2005. 3. Definire un modello per rappresentare i processi che consenta di gestire le eccezioni associate alle disconnessioni. Il modello deve essere in grado di adattare i processi ridisegnandoli in funzione delle azioni intraprese per gestire le eccezioni. 4. Definire un algoritmo per il calcolo delle priorità dei task. L idea è che le priorità siano calcolate su base puramente topologica, senza entrare 4
nella semantica dei task. L algoritmo deve cercare, per quanto è possibile, di assegnare priorità più elevate ai task che sono precondizioni di un maggior numero di task. Questo è stato un aspetto cruciale, in quanto l algoritmo di scelta del bridge fa dipendere tale scelta soprattutto dalle priorità del task eseguito dal dispositivo in disconnessione. La validità di tale algoritmo è stato formalmente dimostrato per via matematica. La scelta del bridge fa uso di una formula matematica, definita in collaborazione con un altra tesi di Laurea Quinquennale in Ingegneria Informatica. Tale formula è in grado di assegnare, per ogni necessità di bridging, ad ogni dispositivo possibile bridge un valore che rappresenta la bontà del dispositivo a seguire : valori più alti significa bridge migliori. Ovviamente, verrà scelto come bridge il dispositivo con il valore più alto possibile. La tesi mostra anche la validità di tale formula. Possibile Impatto Industriale dei Risultati Ottenuti L architettura pervasiva realizzata in questa tesi è molto generale. Essa si applica in tutti quegli scenari dove si desidera facilitare la cooperazione, il coordinamento e la comunicazione tra più entità coinvolte nell esecuzione di un processo di business ma non esiste una infrastruttura di comunicazione. In particolare, quindi, l architettura è di grande rilevanza nei casi in cui è necessario costruire velocemente un team e permettere ai suoi membri di comunicare: missioni di soccorso, applicazioni militari, ecc... Un ottimo esempio è quello accaduto recentemente in occasione dell uragano Katrina a New Orleans (USA): tra le differenti infrastrutture di comunicazione, solamente quella basata sui satelliti è sopravvissuta ma non era possibile usarla per tutte le comunicazioni di tutti i team che lavoravano nell area, con le note drammatiche conseguenze. Utilizzando l approccio descritto ed implementato in questa tesi, ogni team avrebbe formato una manet e la comunicazione satellitare sarebbe stata utilizzata eventualmente solamente per la comunicazione tra i diversi gruppi, senza sovraccaricarichi. Rilevanza Scientifica dei Risultati Ottenuti Questa tesi si colloca all interno del progetto MAIS (Multi-channel Adaptative Information System, sito web: www.mais-project.it), un progetto di ricerca italiano finanziato dal Fondo Investimenti per la Ricerca di Base (FIRB) e dal Ministero della Pubblica Istruzione, dell Università e della Ricerca (MIUR). Tale progetto coinvolge congiuntamente oltre 10 università e diverse industrie per fornire un ambiente flessibile per adattare l interazione, le informazioni fornite e i servizi in modo coerente alla mutazione dell ambiente, del contesto e delle esigenze dell utente. 5