Linguaggi concorrenti e mobili (2005/2006)

Corso a esaurimento

Codice insegnamento
4S00058
Docente
Massimo Merro
crediti
5
Settore disciplinare
INF/01 - INFORMATICA
Lingua di erogazione
Italiano
Periodo
non ancora assegnato

Obiettivi formativi

L'obbiettivo del corso non e' quello di studiare un qualche linguaggio di programmazione concorrente, ma fornire quei concetti e principi fondamentali che sono alla base diuna corretta programmazione concorrente con o senza mobilita' di codice.
A tal scopo verranno considerati dei modelli algebrici, vale a dire dei linguaggi molto semplici, che racchiudono tutte le caratteristiche principali dei linguaggi concorrenti reali. Tali modelli, chiamati calcoli di processo
(quali CCS, Pi-calcolo, Mobile Ambient), essendo piu semplici dei linguaggi reali, ben si prestano allo studio delle problematiche tipiche della concorrenza.
Durante il corso verrano forniti vari esempi ed applicazioni. Nell'ultima parte del corso verrano accennati nozioni di linguaggi distribuiti in cui agenti concorrenti migrano all'interno di reti di calcolatori.

Programma

-Richiami di teoria degli automi ed equivalenze tra linguaggi
-Processi sequenziali e la nozione di bisimulazione
-Processi concorrenti ed interazione tra processi
-Semantica operazionale per processi sequenziali e concorrenti.
-Equivalenze comportamentali forti e deboli
-Mobilita' di codice sotto varie forme
-Il pi-calcolo
-Applicazioni del pi-calcolo
-Equivalenze forti e deboli in pi-calcolo
-Accenni di linguaggi concorrenti distribuiti: Mobile Ambients e
Distributed pi.

Modalità d'esame

Il candidato dovra' sostenere una prova scritta. Voti minori o uguali a 26 possono essere confermati. Per voti dal 27 in su' e' richiesto un colloquio orale con il docente.