FOUNDATIONS OF PROGRAMMING LANGUAGES - MOD.2
| Titolo corso in inglese | FOUNDATIONS OF PROGRAMMING LANGUAGES - PART 2 |
| Anno Accademico | 2011/2012 |
| Codice Insegnamento | CM0189 |
| Crediti formativi universitari | 6 su 12 di FOUNDATIONS OF PROGRAMMING LANGUAGES |
| Livello laurea | Laurea Magistrale dm270 |
| Settore scientifico disciplinare | INF/01 |
| Periodo | II Semestre |
| Anno corso | 1 |
Docenti
Corsi di laurea e percorsi
Altre parti di questo insegnamento
Programma
Obiettivi Formativi
Il corso intende presentare i principali strumenti formali necessari per capire il comportamento di un programma e ragionare su di esso.
Il primo modulo del corso introduce i concetti e le tecniche formali proposti per modellare sistemi concorrenti ed per analizzarne le proprieta'. Vengono considerati in particolare il calcolo CCS e le reti di Petri.
Il secondo modulo del corso introduce le nozioni matematiche, le tecniche ed i concetti sui quali si fonda la semantica formale dei linguaggi di programmazione.
Prerequisiti
Logica, Calcolabilita' e Linguaggi Formali.
Contenuti
Primo modulo:
- Sistemi reattivi e concorrenti.
- Il linguaggio CCS: sintassi e semantica SOS.
- Equivalenze comportamentali e bisimulazione.
- Logica di Hennessy-Milner.
- Introduzione alle reti di Petri.
Secondo modulo:
- Il linguaggio While: sintassi.
- Semantica delle espressioni.
- Semantica Operazionale.
- Semantica Denotazionale.
- Semantica Assiomatica.
Testi di riferimento
Primo modulo:
L. Aceto, A. Ingolfsdottir, K.G. Larsen, J. Srba, Reactive systems, modeling, specification and Verification, Cambridge University Press, 2007.
Articoli forniti dal docente.
Secondo modulo:
H.R. Nielson, F. Nielson: Semantics with Applications, A Formal Introduction. Wiley 1999. Disponibile all'URL: http://www.daimi.au.dk/~bra8130/Wiley_book/wiley.html
Modalità di verifica dell'apprendimento
scritto e orale
Metodi didattici
Lezioni frontali.
Lingua di insegnamento
Inglese.
Altre informazioni
Il materiale del corso sara' disponibile sul sito
http://moodle.dsi.unive.it/



