VERSO RETI AUTO-ORGANIZZANTI ISPIRATE ALLA BIOCHIMICA: UN FRAMEWORK DI SIMULAZIONE
1. ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA
SEDE DI CESENA
Seconda Facoltà di Ingegneria con Sede a Cesena
Corso di Laurea Specialistica in Ingegneria Informatica
VERSO RETI AUTO-ORGANIZZANTI
ISPIRATE ALLA BIOCHIMICA:
UN FRAMEWORK DI SIMULAZIONE
Elaborato in
Linguaggi e Modelli Computazionali LS
Relatore Correlatore Presentata da
Prof. Mirko Viroli Ing. Matteo Casadei Lorenzo Cavina
2. INTRODUZIONE
Obiettivo: studiare e realizzare un simulatore ed un
tool di supporto alla simulazione
Tipo di simulazioni?
Simulazioni stocastiche..
..orientate all'auto-organizzazione..
..ispirandosi alla biochimica
Creazione di un framework di simulazione
..in breve: Maude : motore di simulazione
+ Java : sistema di simulazione
Lorenzo Cavina INTRODUZIONE 2
3. AUTO-ORGANIZZAZIONE / 1
Termine diffuso, sta influenzando molti campi:
es. pervasive computing, intelligenza artificiale distribuita,
MAS, p2p, ...
Definizione informale:
- capacità di mantenere la propria struttura interna
ordinata
- nonostante eventuali perturbazioni
- attraverso il solo utilizzo di interazioni locali
Lorenzo Cavina AUTO-ORGANIZZAZIONE 3
4. AUTO-ORGANIZZAZIONE / 2
Perché è interessante:
nuovo approccio risolutivo per
l'ingegneriazzazione di sistemi complessi
diverso dagli approcci di ingegneria del sw standard
si presta al dinamismo e all'imprevedibilità
forte ispirazione alla natura
Lorenzo Cavina AUTO-ORGANIZZAZIONE 4
5. ISPIRAZIONE DALLA BIOLOGIA / 1
Scambi di idee tra ambiti di studio diversi
es. informatica biologia
Natura fonte di spunti significativi
..soprattutto per la progettazione
di sistemi complessi..
Caratteristiche della natura ci permettono di affrontare
più facilmente problemi complessi
es. dinamismo, imprevedibilità, caoticità, evoluzione
continua, adattabilità, larga scala, ecc..
Lorenzo Cavina ISPIRAZIONE BIOLOGIA 5
6. ISPIRAZIONE DALLA BIOLOGIA / 2
In particolare:
Cellule Nodi
Tessuti cellulari Reti di nodi
Informatica
Molecole Informazioni o
Biologia
servizi
Concentrazione Livello di attività
del servizio
Reazioni tra Transizioni tra
sostanze stati del sistema
Lorenzo Cavina ISPIRAZIONE BIOLOGIA 6
7. MODELLAZIONE DI SISTEMI
CHIMICI
Reazioni chimiche riconducibili alla forma generale
A+B→C+D
Sistema chimico definibile come sistema di equazioni
differenziali (ODE)
• difficoltà proibitiva
Introduzione di approssimazioni
• per effettuare simulazioni:
- su scale temporali significative
- su sistemi complessi
• minore accuratezza dei risultati
Lorenzo Cavina SISTEMI CHIMICI 7
8. MODELLO STOCASTICO
Assunzione sui sistemi chimici:
insieme di molecole e reazioni
rappresentati dal numero di molecole per ogni specie
presente
Le reazioni avvengono in modo non deterministico
• casualità nelle interazioni tra i reagenti
• stocasticità come componente fondamentale dei processi
chimici
• ad ogni reazione può essere associato un rate (r)
Sistemi chimici sono particolarmente adatti ad essere
descritti tramite labelled transition system
Lorenzo Cavina SIMULAZIONI STOCASTICHE 8
9. SIMULAZIONI STOCASTICHE
Strumento adatto per studiare la dinamica di sistemi
biologici, chimici e fisici
Il non-determinismo dei sistemi complessi rende il
modello stocastico particolarmente adatto al loro studio
Per creare il nostro simulatore abbiamo bisogno di:
Modello di riferimento
• per il design dei sistemi considerati
• ispirato alla biochimica
Modalità di simulazione
• per lo studio dei meccanismi di auto-organizzazione
• basata sul modello stocastico
Lorenzo Cavina SIMULAZIONI STOCASTICHE 9
10. MODALITÀ DI SIMULAZIONE
Modalità di simulazione adottata:
simulazione del sistema in modo standard per i
processi markoviani, noto in bioinformatica come
algoritmo di Gillespie (Gillespie SSA)
sistema stocastico inteso come un sistema di transizioni
etichettate, del tipo
a:r
s s’
Gillespie SSA: approccio esatto per simulazioni
stocastiche, accurato ed
efficiente
Lorenzo Cavina GILLESPIE SSA 10
11. MODELLO COMPUTAZIONALE
ISPIRATO ALLA BIOCHIMICA / 1
Combina elementi della chimica e della biologia, come?
sistema chimico composto da sostanze in soluzione:
• dette reagenti (r)
• composte da molecole (m) con concentrazione (c)
concetto di compartimento (dalla biologia)
• porzione di spazio delimitato da membrana
• regola il passaggio delle sostanze
• ciascuno con un particolare contenuto (molecole, reazioni)
2 tipi di leggi:
r
1) chimiche: X + Y Z
2) bio-meccaniche: cambi di struttura e spostamento di
molecole
Lorenzo Cavina MODELLO COMPUTAZIONALE 11
12. MODELLO COMPUTAZIONALE / 2:
LA SINTASSI
Siano: n = identificatore univoco compartimenti
l = nome univoco leggi
Sistema espresso tramite
n
S ::= 0| M | A | l | [S]r | n r
n’ | (S|S)
in cui l è specificato come l := L, ove
r
L ::= I → O
I ::= 0 | M | I + I
O ::= 0 | M | A | O + O
A ::= M| M| M
Lorenzo Cavina MODELLO COMPUTAZIONALE 12
13. MODELLO COMPUTAZIONALE / 3:
LA SEMANTICA
rate globale per ogni azione
..dipende direttamente dalla concentrazione delle molecole..
Transizioni possibili:
1. reazioni chimiche l := L
- legge chimica generica
2. reazioni Out
- M : uscita di M dal compartimento
3. reazioni In
- M : ingresso di M in compartimento
4. reazioni Link
- M : spostamento di M da compartimento ad uno collegato
Lorenzo Cavina MODELLO COMPUTAZIONALE 13
14. MODELLO COMPUTAZIONALE / 4:
ESEMPI ED APPLICAZIONI
Esempio di legge biochimica
r
mol → mol + toNeighbour(mol)
Esempio di sistema chimico
S0 = l1 | l2 | na | na | … | na | cl | cl | … | cl
r1
l1 := na + cl → na+ + cl-
r2
l2 := na+ + cl -→ na + cl
Applicazioni pratiche del modello
- simulazione sistemi biologici
- ecosistemi di servizi eternamente adattativi
Lorenzo Cavina MODELLO COMPUTAZIONALE 14
15. MAUDE
Cos'è Maude?
potente linguaggio di specifica
basato su:
• Rewriting Logic ed Equational Logic
strumento general-purpose
utile per:
• modellare la semantica di una grande varietà di sistemi
soprattutto distribuiti e concorrenti
• esprimere linguaggi di programmazione
Strumento fondamentale per il nostro lavoro
• molto flessibile
• facile definire la semantica dei sistemi
Lorenzo Cavina MAUDE 15
16. SIMULATORE IN MAUDE / 1
Struttura modulare
modulo Maude unico
Modulo estremamente semplice
Utente specifica i dati di simulazione: struttura e
contenuto del sistema e leggi
insieme di più moduli Maude
Middleware specializza il comportamento del motore
implementa il modello computazionale
motore di simulazione generico
ENGINE basato su Gillespie SSA
deve essere adattato al caso considerato
Lorenzo Cavina SIMULATORE MAUDE 16
17. SIMULATORE IN MAUDE / 2:
ENGINE DI SIMULAZIONE
realizza principalmente:
• selezione stocastica
• transizione tra stati
3 tipi di simulazioni:
• Last
simula N passi e restituisce un’osservazione del passo N-esimo
• Trace
simula N passi e restituisce un’osservazione per ogni passo
• Series
serie di M simulazioni Last consecutive, ognuna da N passi
in cui N ed M sono specificati dall’utente
Lorenzo Cavina SIMULATORE MAUDE 17
18. TOOL DI SIMULAZIONE / 1
simulatore in Maude:
utilizzabile, potente, ma di basso livello!
..presuppone la conoscenza di Maude..
..presuppone la conoscenza di dettagli di basso livello
(es. rappresentazione dati)..
..utilizzabile solo da linea di comando..
..grande difficoltà nella gestione dei risultati
(es. gestione dell’output problematica)..
idea: realizzare un sistema di simulazione completo,
in grado di risolvere questi difetti
Lorenzo Cavina TOOL DI SIMULAZIONE 18
19. TOOL DI SIMULAZIONE / 2
sistema realizzato in Java
• interfaccia grafica per gestire: input, controllo e output
si interfaccia con il simulatore Maude
• utilizza Maude come processo interno
• gestione dei risultati a scambio di messaggi (Socket)
rappresentazione grafica per
• dati di input
• output generato dal simulatore: gestisce i risultati e li
visualizza graficamente per una migliore fruizione
Lorenzo Cavina TOOL DI SIMULAZIONE 19
20. CASO DI STUDIO:
FIELD-LIKE DIFFUSION
Contesto: studio e sviluppo di ecosistemi di servizi
eternamente adattativi
Caso di studio: pattern di Field-like Diffusion o
diffusione a campo, ovvero:
• non tutti i servizi devono rimanere localizzati in un’unica
posizione
• diffusione dei servizi nella rete a partire da una sorgente
localizzata
• legge fondamentale di diffusione
r
Service Service + Service
0.05
na na + left(na)
Lorenzo Cavina CASE STUDY: Field-like Diffusion 20
21. SCREENCAST
Screencast per:
• Introduzione al tool
• Esempio di utilizzo per il caso di studio
Lorenzo Cavina SCREENCAST 21
22. CASO DI STUDIO:
ALCUNI RISULTATI
A partire dai dati raccolti dalla simulazione sono stati
realizzati alcuni grafici di analisi
Lorenzo Cavina CASE STUDY: Field-like Diffusion 22
23. ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA
SEDE DI CESENA
Seconda Facoltà di Ingegneria con Sede a Cesena
Corso di Laurea Specialistica in Ingegneria Informatica
VERSO RETI AUTO-ORGANIZZANTI
ISPIRATE ALLA BIOCHIMICA:
UN FRAMEWORK DI SIMULAZIONE
Elaborato in
Linguaggi e Modelli Computazionali LS
Relatore Correlatore Presentata da
Prof. Mirko Viroli Ing. Matteo Casadei Lorenzo Cavina