Il Professor Maximiliano Cristià della Universidad Nacional de Rosario & CIFASIS (French-Argentine International Center for Information Systems and Sciences), Rosario, Argentina terrà presso il nostro Dipartimento i seguenti seminari.Organizzatore: Prof. Gianfranco Rossi Pagina personale prof. Maximiliano Cristià PDF Locandina dei seminari
Martedì 6 novembre 2018, ore 9:00 - 10:00, Aula A (Plesso di Matematica)Titolo: Introduction to Z specificationsAbstract: The Z specification language is one of the first formal languagesintended for the specification of software systems. It is a languagebased on set theory and first-order logic. Z specifications take theform of state machines. In this seminar I will give a brief introductionto Z by means of practical examples. The goal of the seminar is to showto students that formal specification is helpful to understand what hasto be implemented.Martedì 6 novembre 2018, ore 10:30 - 11:30, Aula A (Plesso di Matematica)Titolo: Using Z specifications in practiceAbstract: After the introduction to the Z formal notation given in the firstseminar, in this second seminar I will show three verificationactivities that can be done having a Z specification. First, I will showhow to animate Z specifications by means of the {log} tool, and why thisis important. Then, I will show how to prove properties of Zspecification, more precisely how to prove that a predicate is a stateinvariant. Finally, I will show that Z specifications can be used as thesource for test cases with which later the implementation will betested.Giovedì 8 novembre 2018, ore 14:30 - 15:30, Aula C (Plesso di Matematica)Titolo: Programs as formulas (not as proofs)Abstract: After the Curry-Howard correspondence and the type theories developed inthe past decades, it emerged the idea of programs as proofs (of theirproperties). That is, if we have a proof P of a theorem T, we can make Pa program whose type is T. This theory was a major breakthrough inprogramming language design and software verification. However, in thistalk, I'll show an alternative and, in some sense, previous view:programs as formulas. In other words, let's make the very formula to bea program; that is, we don't need to make a proof to have a program. Inparticular I'm going to show {log} (setlog), which is a programminglanguage but also an automated theorem prover. In {log} formulas areprograms, and programs are formulas. We can use the same tool and thesame language to specify programs, to simulate these specifications, togenerate test cases and to prove properties of them. {log} works withformulas over the theory of finite sets, which allows for thespecification of large classes of programs.