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

Slides:



Advertisements
Presentazioni simili
I Linguaggi di programmazione
Advertisements

Traduzione ed Interpretazione
Applicazioni progettuali di grafica computerizzata a.a. 2008/2009
POLITECNICO DI MILANO NERD: Net-based Environment for Reconfigurable Devices Realizzazione di un Framework Distribuito Multi Utente per la Riconfigurabilità
Linguaggi di programmazione
Generalità Linguaggio e Macchina Astratta
1 Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
LE RETI INFORMATICHE. LE RETI LOCALI La lan (Local Area Network) è costituita da un insieme di nodi, solitamente usata in un edificio solo o in edifici.
Le reti KL-ONE Sono un esempio di rappresentazione della conoscenza a reti semantiche. Sono state sviluppate verso la fine degli anni ’70 sulla base di.
LE RETI INFORMATICHE.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
2 luglio 2006URM2 – ING- OOP0304 OL G. Cantone e A. Lomartire 1 Programmazione Orientata agli Oggetti Processi, task e thread Java (ed esempi) Università
Introduzione allinformatica. Cosè linformatica ? Scienza della rappresentazione e dellelaborazione dellinformazione ovvero Studio degli algoritmi che.
FONDAMENTI DI INFORMATICA III A3A1-1 Realtà e Modello MODELLI E METODOLOGIE PER LA PROGETTAZIONE LOGICA DI SISTEMI INFORMATIVI PER LUFFICIO Argomento 3.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Introduzione al linguaggio Java
Università di Padova Dipartimento di Ingegneria dellInformazione Analisi della Qualità del Servizio in Reti Radio Ad Hoc Special Interest Group on NEtworking.
Ricerca della Legge di Controllo
IDUL 2010 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2012 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2009 RETI E PROTOCOLLI. INTERNET. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Integrazione di una piattaforma IPTV in un’architettura SOA
-calcolo Vogliamo studiare le problematiche relative al meccanismo di chiamata di funzione (eg differenze fra binding statico e dinamico) in isolamento.
Processi e scambio di messaggi Lidea di base è che un processo può evolvere un passo alla volta. Le interazioni del processo col mondo esterno sono limitate.
Unità Didattica 2 I Linguaggi di Programmazione
Linguaggi di markup1 LINGUAGGI DI MARKUP. Linguaggi di markup2 Documenti su Internet Internet permette (tra laltro) di accedere a documenti remoti In.
Concurrency: concurrent execution1 ©Magee/Kramer const N = 1 intervallo T = 0..N intervallo R = 0..2*N SUM = (in[a:T][b:T]->TOTAL[a+b]), TOTAL[s:R] = (out[s]->SUM).
Composizione parallela - alternanza di azioni
LINGUAGGI DI PROGRAMMAZIONE
Corso di Reti di Calcolatori LS A.A.: 2006 / 2007 Prof. Antonio Corradi SESAME Supporting Emulation of Services and Applications in Mobile Environments.
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Introduzione alla modellazione di sistemi interattivi
1 Internet e nuove tecnologie Anno Accademico Prof. Flavio De Paoli Dott. Marco Loregian.
Documentazione automatica su un linguaggio schema di Alessandro Modica Relatore: Fabio Vitali.
Corso di Informatica per Giurisprudenza Lezione 7
Dall’algoritmo al programma.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Università Politecnica delle Marche
1 Rilevamento garantito di ogni singolo disturbo/rumore Test di Power Quality nei sistemi di alimentazione di emergenza.
Linguaggi e Modelli Computazionali LS - Prof E.Denti
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Comunicazione di dati tramite XML e RestWS Corso Drupal 2013 Andrea Dori.
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
Linguaggi per COMUNICARE
1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.
L’architettura a strati
DAL WEB AL SEMANTIC WEB Aspetti teorici e tecnologici Carmagnola Francesca Dipartimento Informatica C.so Svizzera 185, Torino
I processi.
Rappresentazione degli algoritmi
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali (corso TIE) CORSO LAUREA MAGISTRALE IN SCIENZE E TECNOLOGIE DELLE PRODUZIONI ANIMALI.
1 Tipi di Dato §descrittori, tipi, controllo e inferenza dei tipi §specifica (semantica) e implementazione di tipi di dato l implementazioni “sequenziali”
IDUL 2013 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto ‘logico’ della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Come ti sei comportato? Equivalenze comportamentali e loro applicazioni Daniele Gorla Roma, 21 Settembre 2009.
AOT Lab Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Intelligenza Artificiale Rappresentazione della Conoscenza e Ragionamento.
1 Macchine astratte, linguaggi, interpretazione, compilazione.
Automi temporizzati.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
Sviluppo ed implementazione di un software per il car pooling
Sistemi distribuiti Sistema distribuito indica una tipologia di sistema informatico costituito da un insieme di processi interconnessi tra loro in cui.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
© 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi.
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi Complessità e Trasportabilità Lezione n°3.
Transcript della presentazione:

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 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 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 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 Sistemi mobili Telefoni cellulari, computer portatili,... Anche software che si sposta: applet Java scaricati dalla rete ed eseguiti in locale

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 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 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 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 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 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 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 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 Semantica SOS PREF PAR COM SUM PASS SCOPE STRUCT OPEN

15 Esempi

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 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 Edge Replacement Systems Una produzione descrive la trasformazione di un iperarco L in un grafo R R L H

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

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 Synchronized Hyperedge Replacement Sincronizzazione Milner: Si sincronizzano solo 2 archi che eseguono azioni complementari a a a 3 3 B1A1 B2A2

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 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 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  :   (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 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 Corrispondenza tra Fusion e SHR FusionSHR ProcessiGrafi Processi sequenzialiArchi NomiNodi Comp. parallelaComp. Parallela ScopeRestrizione TransizioniRiscritture

28 Traduzione

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

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

31 Esempio

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