Available in English only!

 
2G1516
2G1521
Formal Methods
Formella Metoder

04-05, Dept. of Microelectronics and Information Technology

NEWS - ABOUT THE COURSE - COURSE PM - REQUIREMENTS - SCHEDULE AND SLIDES -STAFF - HELP - SOURCE CODE -TOOLS - LITERATURE AND LINKSHOWTO - MAILING LIST

Using this page:

This is where to look for all information regarding 2G1516 and 2G1521, autumn term 2004. 

News:

About the course:

See also handbook of studies for 2G1516 and 2G1521 respectively.

Formal methods are about rigorous verification of systems. That is, techniques that can help bring about better confidence in the systems we develop and use, beyond what pure testing can achieve. This confidence is brought about, essentially, by analysis in terms of mathematics and logics. In the course we study some important tools and techniques that have been developed for this purpose, their foundations (i.e. how and why they work), and their applications to some concrete case studies (protocols and programs). Part of the message we want to get across is that this stuff can be actually really useful. During the course students will get exposed to four main and complementary schools in the formal methods area, namely, theorem proving, model checking, Hoare logic and weakest precondition calculus, and process algebra.>

The course consists of lectures, exercise sessions, labs, and a final exam. Lectures and exercise sessions are held on the main campus. We have scheduled 12 double lectures and 12 double exercise sessions. Labs are to be done on whatever computer facilities you have available whether personal, at Campus, or at Forum. The only scheduled slots are to get your labs accepted. Make sure you start the labs as early as possible - in most cases not much prior knowledge is required to get started, and you?ll want installation troubles and so forth out of the way well before the lab is due. Also the schedule is tight, and you will find it hard going to catch up once you?re behind.

The course comes in two versions: 2G1516 (5 credits) is the version for the D and IT lines. 2G1521 (6 credits) is the version for the Software Engineering and Distributed Systems international masters program. The difference between the courses is this: 2G1521 starts a week early with an initial refresher module mainly on set notation and first-order logic. After the refresher module the two courses are identical and share lectures, exercises, labs, exams, etc.

Course PM:

Is this document

Requirements:

Four labs (3 credits total), final exam (5 hours, 2 credits). Additionally, for 2G1521 only, a written exam on the refresher module material (1 hour, 1 credit). Final grade (U, 3, 4, 5) is determined by grade of final exam.
Labs and exercises can be done in teams of 2, or they can be done individually. Collaboration between teams is fine at the level of exchange of ideas, but each team must do its own work and are responsible for the correctness and originality of their results. Read IT University's code of honour which applies here too. Copying of solutions between teams is unethical behaviour, it will be discovered, and the entire team will fail the course if you decide to try.
Each team must hand in a report explaining their solution, code, analysis results and conclusions. The report must be properly typed and written in understandable English by you. All text not written by you must be properly quoted. The report is handed to the course staff at the same time as the lab is demonstrated, at the scheduled slots.

Lab reports/presentations and the take-home exam are pass/fail, i.e. they must be produced at the scheduled time, with acceptable quality.

Schedule and Slides:

Check out the schedule generator for the official schedule (from here select HT2004, alla, Mikroelektronik och Informationsteknik), press "Visa", then select 2G1516/2G1521 as the case may be. The generated schedule applies as far as times and locations are concerned (except for locations for lab reporting, this will be announced). The schedule may not apply concerning specific activities - for that consult this schedule.
All activities are in Forum, Kista. Lectures and exercise sessions (but NOT the final exam) start quarter past.

 
 
 
Activity
Time
Place
Subject
Reading
Lecturer
Todo
Lecture 1
(2G1521 only)
30 Aug, 15-17
D
Peledch 2
Gurov
Exercise 1 (2G1521 only)
1 Sep, 13-15
532/533
Lect 1
 
Aktug/Cohen
Lecture 2 (2G1521 only)
2 Sept, 15-17
D
Peledch 3.1 - 3.7
Gurov
Exercise 2 (2G1521 only)
7 Sep, 8-10
532/533
FOL  exercises
Aktug/Cohen
 
Lecture 3
7 Sept, 10-12
D
Peled ch. 3, PVS tutorial
Dam
Exam 1 (2G1521       only)
9 Sept, 8-9
532/533
Sets and FOL preamble
Closed book
-
-
 
Exercise 3
9 Sept, 9-10
532/533
Introduction to the PVS system
Aktug/Cohen
Lecture 4
9 Sept, 10-12
D
 
Dam
Exercise 4
14 Sep, 8-10
532/533
PVS exercises
 
Aktug/Cohen
 
Lecture 5
14 Sep, 10-12
D
PVS (continued)
Dam
Exercise 5
16 Sep, 8-10
532/533
 
Aktug/Cohen
 
Lecture 6
16 Sep 10-12
D
Peled ch 4
Dam
Lab 1 reporting
17 Sep, 8-17
TBA
PVS
-
-
 
Exercise 6
21 Sep, 8-10
532/533
Aktug/Cohen
Lecture 7
21 Sep, 10-12
D
Peled ch 5
Dam
Exercise 7
23 Sep, 8-10
532/533
 
 
Aktug/Cohen
Lecture 8
24 Sep, 13-15
D
Lecture 7 cont'd
 
Dam
Buchi automata exercises (Skip 1-3 on CTL)
Exercise 8 
28 Sep, 8-10
532/533
LTL and Buchi automata
Aktug/Cohen
.
Lecture 9
28 Sep, 10-12
D
Holtzmann ch. 8 and 11. Peled ch 6
Dam
Lab 2 reporting
30 Sep, 8-17
TBA
SPIN
-
-
 
Exercise 9
1 Oct, 8-10
538/539 (Obs!)
 
 
Aktug/Cohen
Lecture 10
1 Oct, 10-12
E (Obs!)
Peled ch 7-7.5
Dam
Exercise 10
5 Oct, 8-10
532/533
 
 
Aktug/Cohen
 
Lecture 11
5 Oct, 10-21
D
Floyd/Hoare logic
Peled ch 7-7,5
Dam
Exercise 11
8 Oct, 8-10
532/533
 
Aktug/Cohen
Lecture 12
8 Oct, 10-12
D
Detlefs et al: Extended Static Checking
Dam
Exercise 12
11 Oct, 8-10
532/533
 
Aktug/Cohen
Lecture 13
11 Oct, 10-12
D
CCS, bisimulations
Peled, 8-8.6
Dam
Lecture 14
12 Oct, 8-10
E (Obs!)
CCS, process algebra, fm in industry
Peled, rest of 8
Dam
Lab 4 reporting
13 Oct, 8-17
TBA
ESC/Java
-
-
 
Exam
18 Oct 15-20
431, 432, 530
 
 

Labs

You are free to do the labs where it suits you, on own laptops, or in some of the machine halls at Campus or at Forum. For D students, most tools are preinstalled in Stacken. Generally the tools presuppose general c.s.  literacy, including unix/linux and emacs.

Staff:

Lecturer, course responsible:

   Mads Dam, email: mfd at imit.kth.se, phone: 790 4123, mobile: 0708 76 44 40

Course assistants:

    Irem Aktug, email: irem@imit.kth.se, phone: 790 4265, office: 8th floor, Forum building,elevator C. 

    Mika Cohen, email mikac@imit.kth.se, phone: 790 4265, office: 8th floor, Forum building,elevator C. 

Help:

The course assistants can help you with the exercises and labs. In the first instance, you should try sending your question to the course mailing list. The course assistants are also available at their office (8th floor, Forum building, elevator C) at these times:

Tuesday 13:00-14:00

Thursday 17:00-18:00

Course Committee:

You can use the course committee to express your views about the course. They are a channel for you to use to reach us for example in solving administrative problems.

2G1521:

    Sheak Rashed Haider Noori, noori@kth.se
    Kaveh Piroozram, kvram@bredband.net

2G1516:

    Morten Nielsen, it01_mni@it.kth.se

Minutes:

    Meeting 040916

    Meeting 041005

    Course analysis

Source Code:

Tools:

For other tools, not used in this course, take a look at this page.

Literature and Links:

Howto:

Previous Exams:

Mailing list:

We have set up a mailing list for general notifications among students and staff. Its address is "formal-methods at imit.kth.se". You can find information on how to join the mailing list here. All mails sent to this list are stored in the list archive.
You can use the mailing list to share a question/comment that may be of interest to other students. Please, use the list discretionally, i.e. avoid discussing personal issues or matters outside the subject of this course.