INF5140 – Specification and Verification of Parallel Systems
Spring 2015 June 9, 2015
Abstract This is the “handout” version of the slides for the lecture (i.e., it’s a rendering of the content of the slides in a way that does not waste so much paper when printing out). Note that sometimes overlays are tricky to represent in a handout. Note further that there are also the slides of the student presentations available on the net, they are not included here (with the exception of the TLA part). One part concerning the generation of the Büchi-automaton was presented on the white-board without slides. For that part, we put an book-excerpt as scan on the net.
Contents
I Overview of the course 2
1 Introduction 3 1.1 Content of the course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 Formal Methods 3 2.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.1 An Easy Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 How to guarantee correctness? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.1 Software bugs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 On formal methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3.1 What are formal methods? . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3.2 General Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.3 Classification of formal methods . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.4 A few success stories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.3.5 How to choose the right formal method? . . . . . . . . . . . . . . . . . . . . 10 2.4 Formalisms for specification and verification . . . . . . . . . . . . . . . . . . . . . . 11 2.4.1 Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4.2 Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
II Logics 12
3 First-order logic 13 3.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2 Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 3.3 Proof System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4 Modal logics 18 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.2 Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.3 Axiomatic System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1