Modellazione e analisi di sistemi

A.A. 2020/2021
6
Crediti massimi
48
Ore totali
SSD
INF/01
Lingua
Italiano
Obiettivi formativi
L'obiettivo dell'insegnamento è di presentare le metodologie e le tecniche per la specifica e l'analisi formale di sistemi complessi. Vengono quindi presentati i fondamenti teorici delle metodologie di modellazione astratta (operazionale e dichiarativa) e delle tecniche di verifica formale di proprietà espresse in logica temporale.
Risultati apprendimento attesi
Al termine dell'insegnamento, lo studente dovrà essere in grado di sviluppare un modello di specifica formale per un sistema complesso. Lo studente inoltre dovrà aver acquisito una capacità di modellazione tramite raffinamento di modelli ed avere competenze su metodi e tecniche per la verifica formale di proprietà temporali.
Programma e organizzazione didattica

Edizione unica

Periodo
Secondo semestre
Trattandosi di un insegnamento del secondo semestre, a meno di ulteriori indicazioni da DR, per l'AA. 2020/21 la lezioni saranno erogate in presenza.

Nell'eventualià di didattica a distanza le lezioni verranno eragate online in modalità sincrona tramite piattaforma Microsoft Teams. La videoregistrazione delle lezioni sarà resa disponibile anche sul sito Ariel dell'insegnamento per una possibile fruizione asincrona. I servizi di chat individuale o di gruppo del Team relativo all'insegnamento verranno utilizzati per la comunicazione asincrona tra il docente e gli studenti.
L'intero materiale didattico dell'insegnamento è disponibile sul sito Ariel dell'insegnamento.

Link http://ericcobenemas.ariel.ctu.unimi.it/
Programma
- Introduzione: Cosa sono ed a cosa servono i Metodi Formali. Applicazione dei Metodi Formali alla progettazione ed all'analisi di sistemi.
- Modellazione ed analisi ad alto livello di astrazione: Le Abstract State Machines (ASM). Tecniche di raffinamento di modelli. Il tool-set ASMETA per modelli ASM. Casi di studio di specifica di sistemi.
- Modellazione ed analisi a basso livello di astrazione. Automi di Kripke e Logica Temporale CTL: sintassi, semantica, pattern di specifica. Algoritmi di model checking. Simbolic Model Checking con rappresentazione mediante OBDD. Verifica di proprietà temporali: proprietà di raggiungibilità, di safety, di liveness, di fairness, assenza di deadlock. Astrazione di modelli: fusione degli stati; astrazione di variabili, riduzione di variabili, observer automata. Raffinamenti di modelli: mappatura di modelli ad alto livello di astrazione verso modelli temporali. Tool: NuSMV e AsmetaSMV.
Prerequisiti
E' fortemente consigliato il superamento dell'esame di "Logica".
Metodi didattici
Lezioni frontali
Attività di laboratorio
Materiale di riferimento
1) Egon Boerger, Robert Staerk. Abstract State Machines. A Method for High-Level System Design and Analysis. Springer Verlag, 2003.
2) Michael Huth , Mark Ryan. Logic in Computer Science: modelling and reasoning about systems (2nd edition). Cambridge University Press, 2004.
3) B. Berard et al., System and Software Verification Model-Checking Techniques and Tools, Springer Verlag, 2001.

Sito Web del corso:
http://ericcobenemas.ariel.ctu.unimi.it/
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste di una prova scritta ed in una pratica in laboratorio, entrambe obbligatorie ed entrambe della durata di due ore.
La prova scritta verte ad accertare l'acquisizione delle competenze sugli aspetti teorici del corso; la prova pratica verte ad accertare l'acquisizione della capacità d'uso di ambienti software per la specifica, validazione e verifica di proprietà di sistemi.
Ciascuna prova è valutata in trentesimi ed il voto complessivo è la media di voti riportati nelle due prove.

Gli eventuali esami a distanza saranno svolti con l'utilizzo della piattaforma exam.net, con le modalità illustrate sul portale dell'Ateneo. Le prove avranno la medesima struttura e durata possibilmente di poco ridotta rispetto a quelle in presenza.
INF/01 - INFORMATICA - CFU: 6
Lezioni: 48 ore
Docente/i
Ricevimento:
su appuntamento
Dipartimento di Informatica