Costrutti linguistici e tecniche di verifica
per sistemi concorrenti:
Modulo 2
Descrizione modulo
Un ramo della concorrenza che con i recenti progressi tecnologici e'
diventato importante e' dato dai sistemi concorrenti mobili, cioe'
sistemi la cui struttura non e' staticamente fissa, ma puo' cambiare
dinamicamente mentre in sistema stesso e' in funzione. Per esempio, si
trova la mobilita' nella programmazione ad oggetto, in sistemi di
comunicazione wireless, in sistemi distribuiti. Nella seconda parte
del corso verra' introdotto il pi-calculo, un linguaggio di base per
descrivere sistemi concorrenti mobili. Il pi-calculo presenta molte
similitudine con il linguaggio CCS visto nella prima parte del corso,
ma ci sono alcune importanti differenze che conferiscono un potere di
espressivita' maggiore.
Presenteremo il pi-calculo sia come modello di base per la
concorrenza mobile, al quale si possono applicare concetti visti nella
prima parte del corso come le equivalenze di comportamento, sia come
il nucleo di un linguaggio di programmazione concorrente. Vedremo come
il pi-calculo puo' essere usato per descivere varie forme di sistemi
concorrenti, per esempio sistemi distribuiti in cui i processi possono
migrare da un sito ad un altro, oppure sistemi ad oggetto
concorrenti. Vedremo come vari concetti della programmazione funzionale
sequenziale, per esempio i tipi, possono essere ri-usati nel
pi-calculo, e vedremo perche' sono importanti in questo ambito. Se il tempo lo
permette, vedremo anche come opportune estensioni del pi-calculo
possono essere usate per sistemi complessi;
per esempio in biologia, per descrivere
l'evoluzione di complessi sistemi molecolari o per studiare il
comportamento di geni e proteine.
Testi/Bibliografia
-
R. Milner, Communicating and Mobile Systems: the pi-calculus, Cambridge
University Press, 1999.
-
AA.VV.
-
D.Sangiorgi, D.Walker, The Pi-Calculus -- A Theory of Mobile Processes,
Cambridge University Press, 2001.
Last modified: Fri Sep 23 11:49:54 CEST 2005