Linguaggi Concorrenti e Mobili 



I linguaggi concorrenti ed ancor piu'i linguaggi mobili (cioe'con  mobilita' di codice) sono ormai largamente
diffusi grazie allo sviluppo delle reti di calcolatori ed in particolar modo di Internet. Comunque, a differenza dei
linguaggi sequenziali, la progettazione di linguaggi concorrenti/mobili e' raramente suffragata da solide basi
semantiche ma e' piuttosto un'arte. Questo e' accettabile fintanto che si lavora con sistemi piccoli,  ma quando
si passa a  sistemi  complessi possono sorgere seri (e costosi) inconvenienti. Ne e' un esempio l'esplosione
del razzo Ariane 5, nell'ottobre del 1994, oppure i "capricci" di Mars Pathfinder nel Luglio del 1997.

Lo scopo del corso non e' quello di studiare un qualche linguaggio di programmazione, ma fornire quei concetti e
principi fondamentali che dovrebbero sempre essere alla base di  una corretta programmazione concorrente con o
senza mobilita'. A tal scopo verranno considerati dei modelli algebrici, vale a dire dei linguaggi molto semplici che
contengono tutte le caratteristiche principali dei linguaggi concorrenti reali. Tali modelli, chiamati calcoli di processo
(CCS, pi-calcolo, ect), 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.

Per chi fosse interessato, informazioni  sulla ricerca nel campo dei linguaggi mobili  puo' essere trovata all'indirizzo
http://move.to/mobility.

Programma del corso: