FORMAL METHODS IN SOFTWARE DEVELOPMENT
(obiettivi)
Obiettivi generali: L'insegnamento è indirizzato all'acquisizione delle conoscenze logiche e di modellazione necessarie alla verifica di sistemi hardware e software complessi (con particolare riferimento al Model Checking).
Obiettivi specifici:
Conoscenza e comprensione: Alla fine del corso lo studente avrà piena comprensione degli strumenti di modellazione proposti (model checkers).
Capacità di applicare conoscenza e comprensione: Alla fine del corso lo studente sarà in grado di utilizzare gli strumenti presentati durante il corso e di approfondirne lo studio consultando autonomamente altri testi dedicati all'argomento e materiale scientifico che lo riguarda.
Capacità critiche e di giudizio: Le conoscenze acquisite permetteranno allo studente di affrontare le applicazioni proposte in altri insegnamenti e affrontare i problemi che gli verranno proposti nella carriera lavorativa in tema di modellazione e verifica di sistemi.
Capacità di comunicazione: Lo studente viene stimolato ad esporre e comunicare le proprie esperienze nella cerchia dei suoi colleghi.
Capacità di proseguire lo studio: Il corso tratta soltanto alcuni dei campi proponibili, ma dà notizia anche di un ampio spettro di tecniche che possono essere utilizzate in questo campo in modo che egli possa criticamente scegliere a seconda dei casi.
|
Codice
|
1047626 |
Lingua
|
ENG |
Tipo di attestato
|
Attestato di profitto |
Crediti
|
6
|
Settore scientifico disciplinare
|
INF/01
|
Ore Aula
|
36
|
Ore Esercitazioni
|
24
|
Ore Studio
|
-
|
Attività formativa
|
Attività formative affini ed integrative
|
Canale Unico
Docente
|
SALVO IVANO
(programma)
Modellazione di Sistemi Discreti: strutture di Kripke. Logiche Temporali con cui esprimere specifiche: CTL, LTL, CTL*. Verifica che un sistema soddisfa una specifica logica: il Problema del Model Checking, complessità computazionale e soluzioni classiche.
Principali soluzioni al Model checking: - esplicito: automi di Buchi, computazione on-the-fly, riduzioni dello spazio degli stati (simmetria e ordine parziale) - simbolico: mu-calcolo e OBDD.
Compositional Reasoning
Software Model Checking
Bounded Model Checking
Probabilistic Model Checking
Il testo di riferimento è "Model Checking, Second Edition", di Edmund M. Clarke, Jr., Orna Grumberg, Daniel Kroening, Doron Peled and Helmut Veith, 2018
E' consigliato anche il libro "Handbook of Model Checking", Editors: Clarke, E.M., Henzinger, Th.A., Veith, H., Bloem, R., 2018
Le slide ed il materiale dei docenti si trovano sul sito del corso: http://twiki.di.uniroma1.it/twiki/view/MFS/FormalMethodsInSoftwareDevelopment20192020
|
Date di inizio e termine delle attività didattiche
|
- |
Date degli appelli
|
Date degli appelli d'esame
|
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Non obbligatoria
|
Metodi di valutazione
|
Prova scritta
Prova orale
|
Docente
|
MELATTI IGOR
(programma)
Utilizzo di Model Checkers per la verifica dei sistemi HW/SW: - Model checker espliciti: SPIN e Murphi - Model checker simbolico, bounded ed unbounded: NuSMV - Software model checkers: CBMC - Probabilistic model checkers: FHP-Murphi e PRISM
Di ciascuna categoria di model checkers vengono presentati: - linguaggio di input - modello di esecuzione - logica per la specifica delle proprietà - tecniche di implementazione
Il testo di riferimento è "Model Checking, Second Edition", di Edmund M. Clarke, Jr., Orna Grumberg, Daniel Kroening, Doron Peled and Helmut Veith, 2018
E' consigliato anche il libro "Handbook of Model Checking", Editors: Clarke, E.M., Henzinger, Th.A., Veith, H., Bloem, R., 2018
Le slide ed il materiale dei docenti si trovano sul sito del corso: http://twiki.di.uniroma1.it/twiki/view/MFS/FormalMethodsInSoftwareDevelopment20192020
|
Date di inizio e termine delle attività didattiche
|
- |
Modalità di erogazione
|
Tradizionale
|
Modalità di frequenza
|
Non obbligatoria
|
|
|