Lectures
Dates | Topics and Readings | Exercises |
---|---|---|
01/22/08
01/29/08 |
Course introduction and administration. Introduction to formal methods. Lecture Material: Recommended Readings: |
|
01/22/08
01/29/08 |
Introduction to Lustre. Simulating Lustre programs with Luke. A working example: traffic light. Lecture Material: Recommended Readings: |
Exercise 1 |
01/31/08 |
Specifying simple reactive systems.
Implementing them in Lustre and debugging them with Luke.
|
Exercise 2 |
02/05/08 |
Checking properties with synchronous observers.
Useful temporal operators.
|
Exercise 3 |
02/07/08 02/12/08 |
Verifying safety properties of Lustre programs by temporal induction. Simple induction. Basic k-induction. Enhancements. Lecture Material: |
Exercise 4 |
02/14/08
02/19/08 |
Exercises on specifying systems and properties. The elevator case study. Lecture Material:
|
|
02/19/08 02/21/08 |
Overview of the KeY system and its software development methodology. Lecture Material: Recommended Readings:
|
|
02/21/08 02/26/08 |
Introduction to UML. Syntax and semantics of Class, Object, Use Case and Sequence diagrams. Lecture Material: Related Readings: |
|
02/28/08 03/04/08 |
Introduction to OCL. Lecture Material: Related Readings: |
Exercise 5 |
03/06/08 |
More on OCL. Exercises on formulating OCL constraints for class diagrams. The university example. |
Exercise 6 |
03/11/08 03/13/08 |
From OCL to first order logic.
Review of propositional logic.
Checking validity of formulas by means of logical calculi.
A propositional sequent calculus.
|
|
03/18/08 03/20/08 |
No lectures. Spring break. |
|
03/25/08 |
Introduction to typed first-order logic. A OO type system. Signatures, terms and formulas. Semantics: first-order models. Lecture Material: |
|
03/27/08 |
Midterm. |
|
04/01/08 |
More on the semantics of typed first-order logic. Evaluating terms and formula in a model. Validity relation. Examples of models and evaluations. Lecture Material: Related Readings:
|
Exercise 5 |
04/03/08 |
Translating OCL constraints to formulas in typed first-order logic.
Motivation and main ideas of the translation.
|
|
04/08/08 |
More on the translation from OCL to typed first-order logic. Demo on using KeY to prove simple propositional and first-order formulas. Lecture Material: |
|
04/10/08 |
Exercise on using Together to write UML diagrams and OCL constraints. Lecture Material:
|
Exercise 6 |
04/15/08 |
Introduction to Dynamic Logic. Syntax and semantics. Lecture Material: |
|
04/17/08 |
No class. |
|
04/22/08 |
More on the semantics of Dynamic Logic. Overview of the Dynamic Logic calculus. Lecture Material: |
|
04/24/08 |
More on Dynamic Logic calculus.
The induction rule.
|
|
04/29/08 |
A few notes on OCL modeling in Together.
|
|
05/01/08 |
Automatic test case generation. The black box approach. Generating test cases from formal specifications. Lecture Material:
|
|
05/06/08 |
Automatic test case generation.
The white box approach. Generating test cases from symbolic execution.
|