corso |
Codice: | AA030 | Crediti: | 6 | Semestre: | 1 | Sigla: | LC | |
Settore disciplinare: | INF/01 - Informatica |
Laurea triennale di informatica
L'obiettivo del corso e' di fornire allo studente una padronanza di metodi di
specifica e di analisi di sistemi software complessi. Si studiano i principali
modelli di computazione insieme ai metodi fondamentali per la definizione, la
verifica e la validazione di architetture software.
Modelli di computazione: Funzioni Ricorsive e le loro limitazioni
(insolubilita e diagonazzizazione), computazioni su tipi di dati
astratti (Abstract State Machines). Elementi di semantica di linguaggi
(sistemi di tipi, analisi statica). Metodi di specifica astratta: modelli
ASM per linguaggi ad alto livello (Java,C#), per macchine virtuali (Java Virtual
Machine, CLR), per architetture software ed servizi web.
Models of computation: Recursive Functions and their limitations
(unsolvability and diagonalization), computation on abstract data
types (Abstract State Machines). Elements of the semantics of languages
(type systems, static analysis). Specification methods: models ASM for
high-level languages (Java,C#), for virtual machines (Java
Virtual Machine, CLR), for software architectures and web services
Articoli segnalati durante il corso ed il seguente testo di base:
Abstract State Machines (by E. Boerger abd R. Staerk, Springer Pu.Co. 2003)
Per Java verra usato anche il testo:
Java and the Java Virtual Machine — Definition, Verification, Validation
by R.Staerk, J. Schmid, Egon Boerger (Springer Pu.Co. 2001)
Scritto e orale.
Alternativa: 2 compitini scritti alla fine di ottobre/dicembre con possibilita di ricupero al primo appello di gennaio di uno dei due compitini andato male.