LEARNING FROM CELL LYFE- CYCLE: A SELF ADAPTIVE PARADIGM Antinisca Di Marco, Francesco Gallo, Paola Inverardi Università degli Studi dell'aquila Dipartimento di Informatica
SOMMARIO Sistemi Self-Adaptive Motivazioni Ciclo di vita della cellula Paradigma Caso di Studio Future Work
SISTEMI SELF-ADATTIVI I sistemi self-adaptive sono sistemi in grado di modificare il loro comportamento a tempo di esecuzione per rispondere ai cambiamenti che avvengono: nell'ambiente in cui è in esecuzione il sistema; nei requisiti utente (es. nuove funzionalità introdotte); nel sistema stesso (es. fallimento di una componente interna).
SISTEMI SELF-ADATTIVI Il nostro framework pone particolare attenzione ai sistemi self-adaptive aventi le seguenti caratteristiche: Change dimension: sorgente del cambiamento: esterno o interno; tipo: funzionale, non-funzionale, tecnologico; previsione: previsto, prevedibile, imprevedibile.
SISTEMI SELF-ADATTIVI Mechanism dimension: tipo: aggiungere o rimuovere parti del sistema; autonomia: il sistema è in grado di decidere in modo autonomo quale meccanismo applicare; organizzazione: decentralizzata; scope: locale o globale, cioè l'adattamento può coinvolgere un singolo modulo del sistema o l'intero sistema; Trigger basato su eventi: componenti o parti del sistema comunicanti possono scatenare eventi che inducono un adattamento.
MOTIVAZIONI I sistemi biologici mostrano proprieta molto simili a quelle che i sistemi self-adaptive dovrebbero avere: adattamento al cambiamento; capacità di recupero da eventi (ordinari e) straordinari; adattamento spontaneo e decentralizzato in caso di interazioni con altri sistemi biologici. Particolare interesse ha destato in noi la cellula e il suo ciclo di vita. Scopo: effettuare una prima investigazione su un nuovo paradigma per sistemi self-adaptive ispirato dal ciclo di vita delle cellule.
CICLO DI VITA DELLA CELLULA Le cellule possono essere viste come sofisticate macchine biologiche, costituite da sottosistemi che governano il loro ciclo vitale interno. Esse sono in grado di adattarsi a scenari spesso imprevedibili in modo totalmente decentralizzato.
CICLO DI VITA DELLA CELLULA Ogni cellula animale ha origine, tramite un processo di specializzazione, dalla cellula staminale, si moltiplica mediante mitosi e conclude la sua esistenza mediante un meccanismo noto come apoptosi o morte programmata.
PARADIGMA Una cellula gestisce le conoscenze necessarie a realizzare tutte le possibili funzioni cellulari. Può essere paragonata ad una macchina universale in grado di eseguire tutti i possibili comportamenti attraverso l'interpretazione del corrispondente codice. Le proprietà fondamentali che hanno ispirato il nostro paradigma sono: la proprietà riflessiva delle cellule staminali, cioè la capacita di auto preservarsi a dispetto di cambiamenti indotti dall'ambiente; La proprietà di generare cellule meno intelligenti ma più efficienti la capacità di catturare stimoli dall'ambiente e generare il comportamento associato
PARADIGMA Nel nostro mondo queste proprietà possono essere riassunte come: una macchina universale che può interpretare i segnali provenienti dall'ambiente e che genera il codice che implementa la funzionalità desiderata. Il codice generato per l'implementazione della specifica funzionalità è equivalente al passaggio da una condizione di generalità ad una di specializzazione.
PARADIGMA
PARADIGMA Per migliorare l'efficienza, il paradigma combina moduli riflessivi e interpretativi (stem module) con moduli compilati (differentiated module): i primi garantiscono un grado di flessibilità ed espressività necessari ad un sistema self-adaptive altamente autonomo; i secondi permettono di migliorare l'efficienza dell'intero sistema quando quest'ultimo ha deciso di adattarsi; inoltre, per rendere più potente il paradigma proposto, la procedura di morte programmata (ispirata dall'apoptosi cellulare) viene utilizzata per terminare moduli software troppo specializzati o danneggiati che non sono più utili alla nuova situazione.
CASO DI STUDIO Applichiamo il nostro framework ad un sistema di monitoring del traffico stradale. Il sistema è costituito da un insieme di videocamere intelligenti. Ogni videocamera ha le seguenti caratteristiche: limitato raggio di visione; posizionate in modo da ottimizzare la copertura della strada; capacità di misurare il livello di congestione del traffico e decidere se c è o meno un ingorgo nel proprio campo di azione. Il sistema è totalmente decentralizzato. Le videocamere lavorano assieme per aggregare i dati che saranno gestiti da eventuali client.
CASO DI STUDIO Ogni videocamera può essere assimilata ad un nodo di una rete che può essere così schematizzata:
SCENARIO: ISTALLAZIONE
SCENARIO: FALLIMENTO PARZIALE NODO HARDWARE
SCENARIO: NUOVA RISORSA HW DISPONIBILE
SCENARIO: FALLIMENTO COMPONENTE SOFTWARE
SCENARIO: INSERIMENTO NUOVO COMPORTAMENTO
SCENARIO: EVENTO CATASTROFICO O MIGRAZIONE
FUTURE WORK Il lavoro presentato è in fase embrionale. I passi successivi saranno: definire un linguaggio (sintassi e semantica) che permetti di specificare sistemi basati sul paradigma; Verificare l efficienza del paradigma valutando il Verificare l efficienza del paradigma valutando il trade-off tra meccanismi interpretativi (stem module) e compilativi (tissue/differentiated module).