Corso di Principi di Informatica per l'Automazione
(Laurea Specialistica in Ingegneria dell'Automazione)
Anno Accademico 2009/2010
Docente ed Esercitatore: Ing. Matteo Rossi
Avvisi
Informazioni generali
Materiale di lezione
Materiale di esame/esercitazione
Riferimenti
*** Avviso Importante ***
Anche per l'anno accademico 2009/2010 i corsi di Principi di Informatica per l'Automazione e di
Supervisione e Controllo dei Sistemi ad Eventi Discreti (Prof. Ferrarini) vengono erogati su base emisemestrale
nella seguente maniera:
- Principi di Informatica per l'Automazione: dal 9 marzo fino all'ultima settimana di aprile;
- Supervisione e Controllo dei Sistemi ad Eventi Discreti: dalla prima settimana di maggio fino a fine giugno.
Gli appelli d'esame del corso di Pricipi di Informatica per l'Automazione saranno svolti normalmente nel periodo giugno/luglio, come quelli di tutti gli altri corsi del secondo semestre.
Informazioni generali
N. Tel. Ing. Rossi: (+39 02 2399) 3561
E-mail: rossi@elet.polimi.it
Orario di ricevimento: su appuntamento
Note introduttive sull'organizzazione del corso
(also in English)
Introduzione ai modelli formali
Reti di Petri temporizzate
Automi a Stati Finiti
Automi temporizzati
Logiche
Nozioni di base della complessità
Strutture dati fondamentali
Riferimenti bibliografici
- Linguaggi formali e automi a stati finiti:
Le basi si trovano nelle sezioni 0.1.5 e 1.2 di [2].
Una presentazione alternativa (con terminologia leggermente diversa, si trova nel capitolo 2 di [4], oppure nel capitolo 2 di [3].
- Reti di Petri Temporizzate:
Per un ripasso di Reti di Petri (non temporizzate), si possono vedere la sezione 1.7.3 di [2], oppure il capitolo 4 di [4], oppure ancora il capitolo 4 di [3].
Una discussione sulle peculiarità semantiche delle Reti di Petri con il tempo si trova in [5] (sezione III).
Infine, [6] (sezioni 1-3) presenta una formalizzazione matematica di classi generali di Reti di Petri temporizzate.
- Automi con una nozione di tempo:
Una trattazione esaustiva degli automi di Büchi (automi con tempo discreto) si può trovare nella sezione 9.1 di [8] (ed anche nelle prima sezioni di [7]).
Una trattazione degli automi temporizzati alla Alur/Dill si può trovare nella sezione 17.1 di [8], oppure nell'articolo originale di Alur/Dill ([7]), oppure ancora nella sezione 2 di [9].
- Logica:
Una introduzione alla logica proposizionale ed alla logica del prim'ordine si trova negli appunti del corso di Algebra e Logica per allievi informatici della prof. Cherubini [12, 13].
Il libro [11] è un testo classico di introduzione (molto ampia) alla logica matematica.
- Complessità e strutture dati:
Capitoli 2, 3, 4.3, 8.2, 10, 12, 22 di [1]
Esercizi di modellazione
Testo (senza soluzioni) di esercizi di formalizzazione mediante automi temporizzati
Alcuni esempi di uso di logiche
Esercizi (risolti) sull'uso delle logiche
Esercizi di algoritmi
Pseudocodice di alcuni algoritmi presentati in classe
Testo (con soluzioni parziali) di alcuni esercizi sulla complessità
Temi d'esame
Testo e soluzione (esami di gennaio/febbraio 2005 esclusi) degli esami dell'A.A. 2004-2005
Testo e soluzione (secondo appello di settembre escluso) degli esami dell'A.A. 2005-2006
Testo e soluzione (non tutti gli appelli) degli esami dell'A.A. 2006-2007
Testo e soluzione (non tutti gli appelli) degli esami dell'A.A. 2007-2008
Testo e soluzione (non tutti gli appelli) degli esami dell'A.A. 2008-2009
Testo e soluzione dell'esame del 21 giugno 2010
Testo e soluzione dell'esame dell'8 luglio 2010
Testo (senza soluzione) dell'esame dell'1 settembre 2010
Testo (senza soluzione) dell'esame del 24 settembre 2010
Testo (senza soluzione) dell'esame del 28 febbraio 2011
Altro Materiale
Ulteriori esercizi (per alcune parti del corso, soprattutto per la logica) si possono trovare sul seguente eserciziario:
D. Mandrioli, L. Lavazza, A. Morzenti, P. San Pietro, P. Spoletini,
Esercizi di Informatica Teorica (terza edizione), Esculapio.
[1] T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduzione agli algoritmi, 2/ed, McGraw-Hill, 2005 (titolo originale: Introduction to algorithms, 2nd edition)
[2] C. Ghezzi, D. Mandrioli, Informatica Teorica, UTET.
[3] A. Di Febbraro, A. Giua, Sistemi ad eventi Discreti, McGraw-Hill, 2002
[4] C. G. Cassandras, A. Lafortune, Introduction to Discrete Event Systems, Kluwer Academic Publishers, 1999
[5] M. Felder, D. Mandrioli, A. Morzenti, Proving Properties of Real-Time Systems Through Logical Specifications and Petri Net Models, IEEE Transactions on Software Engineering, vol. 20, no. 2, pp. 127-141, 1994.
[6] A. Cerone, A. Maggiolo-Schettini, Time-based expressivity of time Petri Nets for system specification, Theoretical Computer Science, vol. 216, pp. 1-53, 1999
[7] R. Alur, D. Dill, A Theory of Timed Automata, Theoretical Computer Science, vol. 126, no. 2, pp. 183-235, 1994
[8] E. M. Clarke, O. Grumberg, D. A. Peled, Model Checking, MIT Press, 1999
[9] J. Bengtsson, Y. Wang, Timed Automata: Semantics, Algorithms and Tools, in Lecture Notes on Concurrency and Petri Nets. W. Reisig and G. Rozenberg (eds.), LNCS 3098, Springer-Verlag, 2004.
[10] B. Berard, M. Bidoit, A. Finkel, F. Laroussinie, A. Petit, L. Petrucci, Ph. Schnoebelen with P. McKenzie, Systems and Software Verification. Model checking Techniques and Tools, Springer, 2001
[11] E. Mendelson, Introduzione alla Logica Matematica, Boringhieri, 1972 (titolo originale: Introduction to Mathematical Logic, Chapman and Hall)
[12] A. Cherubini, Appunti di logica proposizionale, Corso di Algebra e Logica per allievi informatici, Politecnico di Milano
[13] A. Cherubini, Appunti di logica del primo ordine, Corso di Algebra e Logica per allievi informatici, Politecnico di Milano
[14] J. E. Hopcroft, R. Motwani, J. D. Ullman, Automi, linguaggi e calcolabilità, Addison-Wesley, 2003 (titolo originale: Introduction to automata theory, languages, and computation)
[15] P. B. Andrews, An introduction to mathematical logic and type theory: to truth through proofs, Academic Press, 1986