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.
-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.
Autore | Titolo | Casa editrice | Anno | ISBN | Note |
Robin Milner | Communicating and Mobile Systems: the pi-calculus (Edizione 1) | Cambridge University Press | 1999 | 0521658691 |
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.
******** CSS e script comuni siti DOL - frase 9957 ********p>