La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Ivan Lanese Dipartimento di Informatica Università di Pisa Prof. Ugo Montanari A graph-based framework for Fusion Calculus Relatore: Colloquio per l’esame.

Presentazioni simili


Presentazione sul tema: "1 Ivan Lanese Dipartimento di Informatica Università di Pisa Prof. Ugo Montanari A graph-based framework for Fusion Calculus Relatore: Colloquio per l’esame."— Transcript della presentazione:

1 1 Ivan Lanese Dipartimento di Informatica Università di Pisa Prof. Ugo Montanari A graph-based framework for Fusion Calculus Relatore: Colloquio per l’esame di licenza

2 2 Piano della presentazione Sistemi concorrenti, distribuiti e mobili Algebre di processi Il Fusion Calculus Un sistema di riscrittura di grafi: SHR Traduzione da Fusion Calculus a SHR Conclusioni

3 3 Sistemi concorrenti e distribuiti Sistemi concorrenti: più flussi di esecuzione attivi contemporaneamente Sistemi distribuiti: composti da più componenti con locazioni diverse “One on which I cannot get any work done because some machine I have never heard of has crashed” L. Lamport

4 4 Perchè questo tipo di sistemi? Concorrenza per motivi di efficienza (es. multiprocessor) Distribuzione per comunicazione e condivisione di risorse: –Internet –LANs–LANs –Reti wireless

5 5 Sistemi mobili Telefoni cellulari, computer portatili,... Anche software che si sposta: applet Java scaricati dalla rete ed eseguiti in locale

6 6 Nuove sfide Interazione complessa tra le diverse componenti di un sistema La configurazione del sistema cambia dinamicamente durante l’esecuzione Occorrono strumenti in grado di trattare questo tipo di problemi

7 7 La scelta dei metodi formali Consentono un approccio rigoroso ai problemi di progettazione e sviluppo dei sistemi Consentono lo sviluppo di tool automatici di supporto ma: Costi elevati: spesso applicati solo alle componenti più critiche

8 8 Algebre di processi Sistema descritto da un termine in un’algebra opportuna Operatori rappresentano la struttura e il comportamento del sistema: –costanti per le componenti primitive –composizione parallela –scelta tra più alternative –comunicazioni –restrizione della visibilità di risorse –...

9 9 Vantaggi e svantaggi Semplici da trattare matematicamente (induzione strutturale) Possono modellare diversi tipi di sistemi Tecniche standard per descrivere la semantica (semantica SOS) e per confrontare sistemi diversi (bisimulazione) ma: Non separano struttura e funzionamento del sistema: poco intuitivi Difficili da applicare in ambiente industriale

10 10 Un po’ di storia CCS (Milner, 1989): tratta sistemi concorrenti che si sincronizzano tramite azioni complementari  -calcolo (Milner, 1992): introduce la mobilità –nomi di canali vengono trasmessi –semplice da trattare ma simula anche la mobilità di processi

11 11 Il Fusion Calculus (Victor, 1998) Evoluzione del  -calculus Lo semplifica e lo rende più simmetrico ma ne aumenta l’espressività Introduce la possibilità di fondere nomi

12 12 Sintassi del Fusion Calculus Azioni:  ::= ux | ux |   : relazione di equivalenza tra nomi Agenti: S::=  i  i.P i P::=0 | S | P 1 |P 2 | (x)P | rec X. P | X

13 13 Congruenza strutturale Processo: agente a meno delle seguenti equivalenze –| è associativo, commutativo e con 0 come unità –+ è associativo, commutativo e con 0 come unità –  -conversione –(x)0 = 0, (x)(y)P=(y)(x) P –P|(x)Q=(x)(P|Q) se x non libero in P –rec X.P=P[rec X.P/X]

14 14 Semantica SOS PREF PAR COM SUM PASS SCOPE STRUCT OPEN

15 15 Esempi

16 16 Riscrittura di grafi I grafi sono un mezzo naturale per rappresentare sistemi distribuiti Usiamo Synchronized Hyperedge Replacement per modellare computazione, sincronizzazione e riconfigurazione Possiamo modellare reti, algebre di processi, architetture software...

17 17 SHR: una strategia in 2 passi Produzioni che descrivono il comportamento di singoli iperarchi: –Effetto locale (facile da implementare) –Un iperarco si riscrive in un grafo generico –Vincoli sui nodi adiacenti Risoluzione globale del sistema di vincoli: –Consente di definire sincronizzazioni e riscritture complesse

18 18 Edge Replacement Systems Una produzione descrive la trasformazione di un iperarco L in un grafo R R 1 2 3 4 L 1 2 3 4 H

19 19 Edge Replacement Systems Una produzione descrive la trasformazione di un iperarco L in un grafo R R R’ 1 2 3 4 1 2 3 Più riscritture possono avvenire concorrentemente L L’ 1 2 3 4 1 2 3 H

20 20 Synchronized Hyperedge Replacement Riscritture sincronizzate: associamo azioni ai nodi delle produzioni. Una riscrittura è permessa se sono soddisfatti i vincoli di sincronizzazione associati ai nodi Diversi modelli di sincronizzazione possibili Le sincronizzazioni consentono di specificare riscritture globali

21 21 Synchronized Hyperedge Replacement Sincronizzazione Milner: Si sincronizzano solo 2 archi che eseguono azioni complementari a a a 3 3 B1A1 B2A2

22 22 SHR con mobilità a (x) (y) B1A1 a ~ a B2A2 a a x= y – Aggiungiamo alle azioni tuple di nomi da comunicare – I nomi possono essere nuovi o di nodi preesistenti – I nomi trasmessi dalle azioni sincronizzate sono accoppiati e i nodi corrispondenti fusi Introduciamo la mobilità di nomi

23 23 Esempio b) x C Brother C C C C C C CCC (4)(3)(2)(1) Star Rec. S S SS (5) x Initial Graph C Brother: C C C CS Star Reconfiguration: (w) r(w)

24 24 x,y z, w. C(x,w) | C(w,y) | C (y,z) | C(z,x)  Notazione algebrica per i grafi Esempio: ring w z

25 25  :   (A x N* ) (x, a, y)  se  (x) = (a, y) associa ad ogni nodo la sua azione e la tupla di nomi trasmessa  :  è una sostituzione idempotente (fonde gruppi di nodi) Riscritture come giudizi sintattici Riscritture:  G 1   G 2   ,,

26 26 Riscritture come giudizi sintattici x 1,…,x n L(x 1,…,x n )   G Produzioni  ,,  Transizioni sono generate a partire dalle produzioni usando regole di inferenza che dipendono dal modello di sincronizzazione Derivazioni  0 G 0   1 G 1  …   n G n   1,11,1  2,22,2 n,nn,n

27 27 Corrispondenza tra Fusion e SHR FusionSHR ProcessiGrafi Processi sequenzialiArchi NomiNodi Comp. parallelaComp. Parallela ScopeRestrizione TransizioniRiscritture

28 28 Traduzione

29 29 Produzioni Una per ogni possibile azione di un processo sequenziale standard:

30 30 Teorema di corrispondenza Usiamo speciali regole di inferenza per avere un SHR sequenziale. Vogliamo una corrispondenza fra transizioni e riscritture

31 31 Esempio

32 32 Conclusioni Modello grafico per il Fusion Calculus La relazione consente uno scambio di tecniche fra i 2 formalismi: –semantica concorrente per il Fusion –bisimulazione per i sistemi SHR SHR collegato alla programmazione logica –può essere sfruttato per le implementazioni –occorre passare da sincronizzazione Milner a sincronizzazione Hoare


Scaricare ppt "1 Ivan Lanese Dipartimento di Informatica Università di Pisa Prof. Ugo Montanari A graph-based framework for Fusion Calculus Relatore: Colloquio per l’esame."

Presentazioni simili


Annunci Google