Available in English only!
2G1517
Advanced Formal Methods
 

NOTE: From 06-07 academic year the course is given as 2D1453

Mads Dam, 05-06 academic year, School of Computer Science and Communication, KTH

News


Aims - Syllabus - Requirements - Schedule - Exercises - Prerequisites - Literature - Projects - Exam - WorkshopContact

 

Over the past decade a host of new techniques have emerged for the modelling of systems focusing on aspects such as distribution, mobility and security. The pi-calculus, invented at the end of the 80'es, is a paradigmatic example. The pi-calculus has given rise to a flurry of activity and new ideas in areas such as programming language and software system semantics, and the modelling and analysis of specific system features such as distribution, mobility and security. In the course we will study the pi-calculus and some of its cousins in some depth, including applications to security protocol analysis and verification. Part of the course is given in seminar form, and attendance is for this reason limited.

Aims

The course is intended to put students in touch with the state-of-the-art in the area of formal modelling and analysis, and to train their presentation and research skills. Upon completion of the course the students will be able understand and apply the guiding principles of modelling calculus design sufficiently well to be able to use and adapt these tools in concrete application contexts.

Syllabus

Requirements

Project 5 pts involving:
Each seminar presentation will be of 1 hr duration and must include presentation of background material (theory and results of your allocated paper and whatever other material you've found it necessary to penetrate) as well as results of your own work.

The primary purpose of the report is to document the results of your investigations. So it must explain clearly the problem you set out to investigate, your chosen approach, how you realised it, and your results and conclusions, in whatever form appropriate. Think of the report as a prototype research paper.

Schedule

Period 4
Lectures: 8 double lectures
Seminars: 1 full-day workshop
Location: Room 4523, CSC/Nada, Lindstedtsv 5, lvl 5

 

Week 11
2006-03-15  13:00-15:00  4523  L1  Sequential processes  Milner ch 1-7
Week 12
2006-03-22  13:00-15:00  4523  L2  Pi-calculus, intro Milner ch 8-9.3
2006-03-24  13:00-15:00  4523  L3  Polyadic pi, data types Milner ch 9.4-10
Week 13
2006-03-29  13:00-15:00  4523 L4  Sorts, objects, functions Milner ch 11
2006-03-31  13:00-15:00  4523  L5  Bisimulations etc Milner ch 12, 13
Week 14
2006-04-03  13:00-15:00  4523 L6  Modal logics Slides, MPW paper
2006-04-05  13:00-15:00  4523 L7  Mu-Calculus Bradfield-Stirling up to 3.3
2006-04-07  13:00-15:00  4523 L8  Mu-Calculus Bradfield-Stirling, rest of ch. 3, ch 4 to 4.5, section 5.1 on local model checking
Week 16
2006-04-18  9:00-17:00      Midterm exam  
Week 19
2006-05-11  8:00-12:00  4523 W1  Course workshop  
2006-05-11  13:00-17:00  4523  W2  Course workshop  

Exercises

Exercises will be elaborated as we move along. Starred exercises are harder than unstarred ones. Do try them.

Lecture 1:

Lecture 2:

Lecture 3:

Lecture 4:

Lecture 5:

Lecture 6:

Lecture 7:

Lecture 8:

Prerequisites

2G1516 Formal methods (or similar).You need to be comfortable with propositional and first-order logic, discrete structures like trees and graphs, automata and languages. Previous exposure to basic concepts in programming language semantics, in particular process algebra, as in 2G1516, will be extremely helpful. Contact course responsible if in doubt.

Literature and Resources

Textbook:

Robin Milner: "Communicating and Mobile Systems: The Pi-Calculus". Cambridge University Press 1999, isbn 0 521 64320. Amazon link

Pi-calculus:

Applied pi:

Modal logics and mu-calculus:

Projects

Each project is based on some research paper. Probably you will find that several papers will be needed. Different sorts of projects are possible, depending on interest and paper. The preferred option will be to apply some tool or technique introduced in the paper on some protocol of interest; evaluate, identify problems and possible extensions, if relevant, or, possibly, try a different tool on the same example. Some examples of protocols or problems are given below. Alternatively, if the main contribution of the paper is an algorithm or proof system or similar, an objective could be to implement a prototype tool, or modify an existing one. If you are more theoretically inclined, an objective might be to reproduce proofs in detail. Regardless, you'll need to agree your choice of project with the lecturer.

References:

Tools:

Protocols:

Here is a Protocol repository of various protocols which have been subject to study using formal techniques. The AVISPA site also has a large number of protocols.
Contract signing:
Payment protocols: SET , iKP

Midterm exam

060418: Exam, ringBuffer.ps, ringBuffer.gif

Workshop

Contact

Mads Dam, CSC, E-mail: mfd at kth dot se