verso reti auto-organizzanti ispirate alla biochimica: un framework di simulazione
TRANSCRIPT
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
INTRODUZIONE
Obiettivo: studiare e realizzare un simulatore ed untool 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
2Lorenzo Cavina INTRODUZIONE
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 internaordinata
- nonostante eventuali perturbazioni- attraverso il solo utilizzo di interazioni locali
3Lorenzo Cavina AUTO-ORGANIZZAZIONE
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
4Lorenzo Cavina AUTO-ORGANIZZAZIONE
ISPIRAZIONE DALLA BIOLOGIA / 1
Scambi di idee tra ambiti di studio diversies. 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..
5Lorenzo Cavina ISPIRAZIONE BIOLOGIA
ISPIRAZIONE DALLA BIOLOGIA / 2
6Lorenzo Cavina ISPIRAZIONE BIOLOGIA
Bio
log
ia
Info
rm
ati
ca
In particolare:
Cellule Nodi
Tessuti cellulari Reti di nodi
Molecole Informazioni o
servizi
Concentrazione Livello di attivitàdel servizio
Reazioni tra Transizioni tra
sostanze stati del sistema
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
7Lorenzo Cavina SISTEMI CHIMICI
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
8Lorenzo Cavina SIMULAZIONI STOCASTICHE
SIMULAZIONI STOCASTICHE
Strumento adatto per studiare la dinamica di sistemibiologici, 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
9Lorenzo Cavina SIMULAZIONI STOCASTICHE
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 transizionietichettate, del tipo
s s’
Gillespie SSA: approccio esatto per simulazionistocastiche, accurato ed efficiente
10Lorenzo Cavina GILLESPIE SSA
a:r
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:
1) chimiche: X + Y Z
2) bio-meccaniche: cambi di struttura e spostamento di
molecole
11
r
Lorenzo Cavina MODELLO COMPUTAZIONALE
12
MODELLO COMPUTAZIONALE / 2:
LA SINTASSI
Siano: n = identificatore univoco compartimentil = nome univoco leggi
Sistema espresso tramite
S ::= 0| M | A | l | [S] | n n’ | (S|S)
in cui l è specificato come l := L, ove
L ::= I → OI ::= 0 | M | I + IO ::= 0 | M | A | O + OA ::= M | M | M
n
rr
r
Lorenzo Cavina MODELLO COMPUTAZIONALE
MODELLO COMPUTAZIONALE / 3:
LA SEMANTICA
13
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
MODELLO COMPUTAZIONALE / 4:
ESEMPI ED APPLICAZIONI
14
Esempio di legge biochimica
mol → mol + toNeighbour(mol)
Esempio di sistema chimico
S0 = l1 | l2 | na | na | … | na | cl | cl | … | cl
l1 := na + cl → na+ + cl-
l2 := na+ + cl- → na + cl
Applicazioni pratiche del modello- simulazione sistemi biologici- ecosistemi di servizi eternamente adattativi
r
r1
r2
Lorenzo Cavina MODELLO COMPUTAZIONALE
MAUDE
Cos'è Maude?potente linguaggio di specificabasato su:
• Rewriting Logic ed Equational Logic
strumento general-purposeutile 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
15Lorenzo Cavina MAUDE
SIMULATORE IN MAUDE / 1
16
motore di simulazione genericobasato su Gillespie SSAdeve essere adattato al caso considerato
Struttura modulare
ENGINE
Middleware
Modulo
Utente
insieme di più moduli Maudespecializza il comportamento del motoreimplementa il modello computazionale
modulo Maude unicoestremamente semplicespecifica i dati di simulazione: struttura e contenuto del sistema e leggi
Lorenzo Cavina SIMULATORE MAUDE
SIMULATORE IN MAUDE / 2:
ENGINE DI SIMULAZIONE
realizza principalmente:
• selezione stocastica• transizione tra stati
3 tipi di simulazioni:
• Lastsimula N passi e restituisce un’osservazione del passo N-esimo
• Tracesimula N passi e restituisce un’osservazione per ogni passo
• Seriesserie di M simulazioni Last consecutive, ognuna da N passi
in cui N ed M sono specificati dall’utente
Lorenzo Cavina 17SIMULATORE MAUDE
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
18Lorenzo Cavina TOOL DI SIMULAZIONE
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
19Lorenzo Cavina TOOL DI SIMULAZIONE
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
Service Service + Service
na na + left(na)
20Lorenzo Cavina CASE STUDY: Field-like Diffusion
r
0.05
SCREENCAST
Screencast per:• Introduzione al tool• Esempio di utilizzo per il caso di studio
21SCREENCASTLorenzo Cavina
CASO DI STUDIO:
ALCUNI RISULTATI
A partire dai dati raccolti dalla simulazione sono stati realizzati alcuni grafici di analisi
22Lorenzo Cavina CASE STUDY: Field-like Diffusion
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