CMPE 293 Home Page
Fall 2001


Introduction to Discrete-Systems Theory

Instructor: Luca de Alfaro

2pm-3:45pm, Tuesdays and Thursdays
Social Sciences 2

Office Hours: 1-2, Tuesdays, or by appointment
Email: luca@soe.ucsc.edu

Engineers design systems: from hardware designs, to embedded systems, control systems, and software components. Before a design is implemented, it is usually necessary to analyze it, to gain confidence that it is correct, and that it performs as desired. What are the concepts and tools we can use to model a system, and to analize its behavior? What are good languages to describe systems and designs, that support both simulation, and other kinds of analysis? What are the interesting properties we should check of a system, and how can we express them precisely? How can we speed up simulation, and what are the techiniques available for design verification?

The course provides an introduction to the modeling, specification, verification and analysis of discrete-state systems. The application areas range from hardware design, to embedded systems, and to real-time systems. The course will also provide a brief overview of techniques for software verification.

Lecture Notes

Here I post all copies of the lecture notes. Note that I am actively writing them, so some chapters are still very much in a draft form; in general, it's a good idea only to read the parts that have been covered in class. I give here all versions, in case you want for reference to look at older versions, but normally what you want is to look at the latest version. The date indicates the version, not when I have covered the material in class.

Readings and Homework

Prerequisites

There is no prerequisite for this course, but some mathematical background will be assumed.

Homework, Final

The course will have weekly homeworks; there will be both paper-and-pencil homeworks, homeworks where you have to use tools to model and analyze small example systems, and programming assignments that will consist in the implementation of verification or analysis algorithms in various tools that are available to us.

The course will have a final exam.

Tools

There are several tools that are available for experimentation and use:

Syllabus

Each bullet is about one week, except for the first, which will be one day only.